DESY Hbb Analysis Framework
Public Member Functions | Static Public Attributes | Protected Attributes | Private Attributes | List of all members
analysis::ntuple::Candidates< T > Class Template Reference

#include <Candidates.h>

Public Member Functions

void AddJecInfo (const std::string &)
 
void AddJecInfo (const std::string &, const std::string &)
 
void AddJerInfo (const std::string &, const edm::InputTag &)
 
void AddJerInfo (const std::string &, const std::string &, const std::string &, const edm::InputTag &)
 
void Branches ()
 
void BTagAlgorithms (const std::vector< std::string > &, const std::vector< std::string > &)
 
 Candidates ()
 
 Candidates (const edm::InputTag &, TTree *, const bool &, float minPt=-1., float maxEta=-1.)
 
void Fill (const edm::Event &)
 
void Fill (const edm::Event &, const edm::EventSetup &)
 
void Fill ()
 
void Init ()
 
void Init (const std::vector< TitleAlias > &)
 
void JECRecord (const std::string &)
 
void Kinematics ()
 
void MaxEta (const float &maxEta=-1.)
 
void MinPt (const float &minPt=-1.)
 
void PileupJetIdInstance (const std::string &)
 
void QGTaggerInstance (const std::string &)
 
void ReadFromEvent (const edm::Event &)
 
void TriggerObjectType (const std::string &)
 
void UseTriggerResults (edm::InputTag &)
 
 ~Candidates ()
 

Static Public Attributes

static const int maxCandidates = 250
 

Protected Attributes

float bjetRegCorr_ [maxCandidates]
 
float bjetRegRes_ [maxCandidates]
 
float btag_ [15][maxCandidates]
 
std::vector< Tcandidates_
 
float chi2LocalPos_ [maxCandidates]
 
std::string configParameter_
 
int da1_ [maxCandidates]
 
int da2_ [maxCandidates]
 
float e_ [maxCandidates]
 
float et_ [maxCandidates]
 
float eta_ [maxCandidates]
 
float etaAtVtx_ [maxCandidates]
 
int flavour_ [maxCandidates]
 
float gen_px_ [maxCandidates]
 
float gen_py_ [maxCandidates]
 
float gen_pz_ [maxCandidates]
 
int hadronFlavour_ [maxCandidates]
 
bool higgs_dau_ [maxCandidates]
 
int hwQual_ [maxCandidates]
 
int indx_ [maxCandidates]
 
edm::InputTag input_collection_
 
float ipxy_ [maxCandidates]
 
float ipz_ [maxCandidates]
 
bool isGlobalMuon_ [maxCandidates]
 
bool isLooseMuon_ [maxCandidates]
 
bool isMediumMuon_ [maxCandidates]
 
bool isPFMuon_ [maxCandidates]
 
bool isTightMuon_ [maxCandidates]
 
bool isTrackerMuon_ [maxCandidates]
 
std::string jecFile_
 
std::string jecRecord_
 
std::unique_ptr< JetCorrectionUncertainty > jecUnc_
 
float jecUncert_ [maxCandidates]
 
std::string jerFile_
 
std::string jerRecord_
 
float jerResolution_ [maxCandidates]
 
float jerSF_ [maxCandidates]
 
float jerSFDown_ [maxCandidates]
 
std::string jersfFile_
 
float jerSFUp_ [maxCandidates]
 
float jetid_ [15][maxCandidates]
 
bool lastcopy_ [maxCandidates]
 
float mass_ [maxCandidates]
 
float matchedStations_ [maxCandidates]
 
int mo1_ [maxCandidates]
 
int mo2_ [maxCandidates]
 
int n_
 
float normChi2_ [maxCandidates]
 
int partonFlavour_ [maxCandidates]
 
int pdg_ [maxCandidates]
 
float phi_ [maxCandidates]
 
float phiAtVtx_ [maxCandidates]
 
int physicsFlavour_ [maxCandidates]
 
float pt_ [maxCandidates]
 
float puJetIdFullDiscr_ [maxCandidates]
 
int puJetIdFullId_ [maxCandidates]
 
std::string pujetidInst_
 
float px_ [maxCandidates]
 
float py_ [maxCandidates]
 
float pz_ [maxCandidates]
 
int q_ [maxCandidates]
 
float qgLikelihood_ [maxCandidates]
 
std::string qgtaggerInst_
 
JME::JetResolution res_
 
JME::JetResolutionScaleFactor res_sf_
 
double rho_
 
edm::InputTag rho_collection_
 
float segmentCompatibility_ [maxCandidates]
 
float sigxx_ [maxCandidates]
 
float sigxy_ [maxCandidates]
 
float sigyx_ [maxCandidates]
 
float sigyy_ [maxCandidates]
 
int status_ [maxCandidates]
 
TTree * tree_
 
edm::InputTag triggerresults_collection_
 
float trkchi2_ [maxCandidates]
 
float trkd0_ [maxCandidates]
 
float trkdxy_ [maxCandidates]
 
int trkhp_badmu_ [maxCandidates]
 
int trkhp_innerstationsvalhits_ [maxCandidates]
 
int trkhp_lostmu_ [maxCandidates]
 
int trkhp_outerstationsvalhits_ [maxCandidates]
 
int trkhp_stationsbadhits_ [maxCandidates]
 
int trkhp_stationsvalhits_ [maxCandidates]
 
int trkhp_valmu_ [maxCandidates]
 
int trkhp_valtechits_ [maxCandidates]
 
int trkhp_valtibhits_ [maxCandidates]
 
int trkhp_valtidhits_ [maxCandidates]
 
int trkhp_valtobhits_ [maxCandidates]
 
int trkhp_valtrkhits_ [maxCandidates]
 
float trkKink_ [maxCandidates]
 
float trkLayersWithMeasurement_ [maxCandidates]
 
float trkndof_ [maxCandidates]
 
bool trkqual_ [10][maxCandidates]
 
int type_ [maxCandidates]
 
float validFraction_ [maxCandidates]
 
float validMuonHits_ [maxCandidates]
 
float validPixelHits_ [maxCandidates]
 

Private Attributes

std::vector< TitleAliasbtag_vars_
 
std::vector< std::string > btagAlgos_
 
std::vector< std::string > btagAlgosAlias_
 
bool do_generator_
 
bool do_kinematics_
 
std::vector< std::string > filterLabels_
 
int higgs_pdg_
 
std::vector< TitleAliasid_vars_
 
bool is_calojet_
 
bool is_chargedcand_
 
bool is_genjet_
 
bool is_genparticle_
 
bool is_l1jet_
 
bool is_l1muon_
 
bool is_l1tjet_
 
bool is_l1tmuon_
 
bool is_mc_
 
bool is_patjet_
 
bool is_patmet_
 
bool is_patmuon_
 
bool is_pfjet_
 
bool is_recomuon_
 
bool is_recotrack_
 
bool is_trigobject_
 
bool is_trigobject_reco_
 
float maxEta_
 
float minPt_
 
std::string trigobj_type_
 

Detailed Description

template<typename T>
class analysis::ntuple::Candidates< T >

Definition at line 52 of file Candidates.h.

Constructor & Destructor Documentation

template<typename T >
Candidates::Candidates ( )

Definition at line 105 of file Candidates.cc.

106 {
107  // default constructor
108 }
template<typename T >
Candidates::Candidates ( const edm::InputTag &  tag,
TTree *  tree,
const bool &  mc,
float  minPt = -1.,
float  maxEta = -1. 
)

Definition at line 111 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::btag_vars_, analysis::ntuple::Candidates< T >::do_generator_, analysis::ntuple::Candidates< T >::do_kinematics_, analysis::ntuple::Candidates< T >::higgs_pdg_, analysis::ntuple::Candidates< T >::id_vars_, analysis::ntuple::Candidates< T >::input_collection_, analysis::ntuple::Candidates< T >::is_calojet_, analysis::ntuple::Candidates< T >::is_chargedcand_, analysis::ntuple::Candidates< T >::is_genjet_, analysis::ntuple::Candidates< T >::is_genparticle_, analysis::ntuple::Candidates< T >::is_l1jet_, analysis::ntuple::Candidates< T >::is_l1muon_, analysis::ntuple::Candidates< T >::is_l1tjet_, analysis::ntuple::Candidates< T >::is_l1tmuon_, analysis::ntuple::Candidates< T >::is_mc_, analysis::ntuple::Candidates< T >::is_patjet_, analysis::ntuple::Candidates< T >::is_patmet_, analysis::ntuple::Candidates< T >::is_patmuon_, analysis::ntuple::Candidates< T >::is_pfjet_, analysis::ntuple::Candidates< T >::is_recomuon_, analysis::ntuple::Candidates< T >::is_recotrack_, analysis::ntuple::Candidates< T >::is_trigobject_, analysis::ntuple::Candidates< T >::is_trigobject_reco_, analysis::ntuple::Candidates< T >::jecFile_, analysis::ntuple::Candidates< T >::jecRecord_, nano_94X_2017_rereco31Mar18-v1::name, analysis::ntuple::Candidates< T >::pujetidInst_, analysis::ntuple::Candidates< T >::qgtaggerInst_, T, analysis::ntuple::Candidates< T >::tree_, and analysis::ntuple::Candidates< T >::trigobj_type_.

111  :
112  minPt_(minPt), maxEta_(maxEta)
113 {
114  input_collection_ = tag;
115  tree_ = tree;
116 
117  is_mc_ = mc;
118  is_l1jet_ = std::is_same<T,l1extra::L1JetParticle>::value;
119  is_l1muon_ = std::is_same<T,l1extra::L1MuonParticle>::value;
120  is_calojet_ = std::is_same<T,reco::CaloJet>::value;
121  is_recomuon_ = std::is_same<T,reco::Muon>::value;
122  is_recotrack_ = std::is_same<T,reco::Track>::value;
123  is_pfjet_ = std::is_same<T,reco::PFJet>::value;
124  is_patjet_ = std::is_same<T,pat::Jet>::value;
125  is_patmuon_ = std::is_same<T,pat::Muon>::value;
126  is_patmet_ = std::is_same<T,pat::MET>::value;
127  is_genjet_ = std::is_same<T,reco::GenJet>::value;
128  is_genparticle_ = std::is_same<T,reco::GenParticle>::value;
129  is_trigobject_ = std::is_same<T,pat::TriggerObject>::value;
130  is_trigobject_reco_ = std::is_same<T,trigger::TriggerObject>::value;
131  is_l1tjet_ = std::is_same<T,l1t::Jet>::value;
132  is_l1tmuon_ = std::is_same<T,l1t::Muon>::value;
133  is_chargedcand_ = std::is_same<T,reco::RecoChargedCandidate>::value;
134 
135 // do_kinematics_ = ( is_l1jet_ || is_l1muon_ || is_calojet_ || is_pfjet_ || is_patjet_ || is_patmuon_ || is_genjet_ || is_genparticle_ );
136  do_kinematics_ = true;
138 
139  higgs_pdg_ = 36;
140 
141 
142  std::string title = boost::core::demangle(typeid(T).name()) + " | " + tree_->GetTitle();
143 
144  tree_->SetTitle(title.c_str());
145 
146  // definitions
147  // jetid
148  id_vars_.clear();
149  id_vars_.push_back({"neutralHadronEnergyFraction", "id_nHadFrac" });
150  id_vars_.push_back({"neutralEmEnergyFraction", "id_nEmFrac" });
151  id_vars_.push_back({"neutralMultiplicity", "id_nMult" });
152  id_vars_.push_back({"chargedHadronEnergyFraction", "id_cHadFrac" });
153  id_vars_.push_back({"chargedEmEnergyFraction", "id_cEmFrac" });
154  id_vars_.push_back({"chargedMultiplicity", "id_cMult" });
155  id_vars_.push_back({"muonEnergyFraction", "id_muonFrac" });
156  id_vars_.push_back({"puppiJetsSpecific", "id_puppi" });
157 
158  // init
159  btag_vars_.clear();
160 
161  // JEC info default
162  jecRecord_ = "";
163  jecFile_ = "";
164 
165  // trigger object split
166  trigobj_type_ = "";
167 
168  // pat jet user vars default
169  qgtaggerInst_ = "";
170  pujetidInst_ = "";
171 
172 }
std::vector< TitleAlias > btag_vars_
Definition: Candidates.h:250
float T
Definition: PlotsCompare.cc:18
std::vector< TitleAlias > id_vars_
Definition: Candidates.h:249
edm::InputTag input_collection_
Definition: Candidates.h:83
template<typename T >
Candidates::~Candidates ( )

Definition at line 175 of file Candidates.cc.

176 {
177  // do anything here that needs to be done at desctruction time
178  // (e.g. close files, deallocate resources etc.)
179 }

Member Function Documentation

template<typename T >
void Candidates::AddJecInfo ( const std::string &  jec)

Definition at line 1073 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::jecRecord_.

1074 {
1075  // Will use confDB
1076  jecRecord_ = jec;
1077 }
template<typename T >
void Candidates::AddJecInfo ( const std::string &  jec,
const std::string &  jec_file 
)

Definition at line 1080 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::jecFile_, and analysis::ntuple::Candidates< T >::jecRecord_.

1081 {
1082  // Will use txt file
1083  jecRecord_ = jec;
1084  jecFile_ = jec_file;
1085 }
template<typename T >
void Candidates::AddJerInfo ( const std::string &  jer,
const edm::InputTag &  rho 
)

Definition at line 1088 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::jerRecord_, and analysis::ntuple::Candidates< T >::rho_collection_.

1089 {
1090  // Will use confDB
1091  jerRecord_ = jer;
1092  rho_collection_ = rho;
1093 }
edm::InputTag rho_collection_
Definition: Candidates.h:142
template<typename T >
void Candidates::AddJerInfo ( const std::string &  jer,
const std::string &  res_file,
const std::string &  sf_file,
const edm::InputTag &  rho 
)

Definition at line 1096 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::jerFile_, analysis::ntuple::Candidates< T >::jerRecord_, analysis::ntuple::Candidates< T >::jersfFile_, and analysis::ntuple::Candidates< T >::rho_collection_.

1097 {
1098  // Will use txt file
1099  jerRecord_ = jer;
1100  jerFile_ = res_file;
1101  jersfFile_ = sf_file;
1102  rho_collection_ = rho;
1103 
1104 }
edm::InputTag rho_collection_
Definition: Candidates.h:142
template<typename T >
void Candidates::Branches ( )

Definition at line 871 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::bjetRegCorr_, analysis::ntuple::Candidates< T >::bjetRegRes_, analysis::ntuple::Candidates< T >::btag_, analysis::ntuple::Candidates< T >::btag_vars_, analysis::ntuple::Candidates< T >::chi2LocalPos_, analysis::ntuple::Candidates< T >::da1_, analysis::ntuple::Candidates< T >::da2_, analysis::ntuple::Candidates< T >::do_kinematics_, analysis::ntuple::Candidates< T >::e_, analysis::ntuple::Candidates< T >::et_, analysis::ntuple::Candidates< T >::eta_, analysis::ntuple::Candidates< T >::etaAtVtx_, analysis::ntuple::Candidates< T >::flavour_, analysis::ntuple::Candidates< T >::gen_px_, analysis::ntuple::Candidates< T >::gen_py_, analysis::ntuple::Candidates< T >::gen_pz_, analysis::ntuple::Candidates< T >::hadronFlavour_, analysis::ntuple::Candidates< T >::higgs_dau_, analysis::ntuple::Candidates< T >::hwQual_, analysis::ntuple::Candidates< T >::id_vars_, analysis::ntuple::Candidates< T >::indx_, analysis::ntuple::Candidates< T >::ipxy_, analysis::ntuple::Candidates< T >::ipz_, analysis::ntuple::Candidates< T >::is_genparticle_, analysis::ntuple::Candidates< T >::is_l1tmuon_, analysis::ntuple::Candidates< T >::is_mc_, analysis::ntuple::Candidates< T >::is_patjet_, analysis::ntuple::Candidates< T >::is_patmet_, analysis::ntuple::Candidates< T >::is_patmuon_, analysis::ntuple::Candidates< T >::is_pfjet_, analysis::ntuple::Candidates< T >::is_recotrack_, analysis::ntuple::Candidates< T >::is_trigobject_, analysis::ntuple::Candidates< T >::is_trigobject_reco_, analysis::ntuple::Candidates< T >::isGlobalMuon_, analysis::ntuple::Candidates< T >::isLooseMuon_, analysis::ntuple::Candidates< T >::isMediumMuon_, analysis::ntuple::Candidates< T >::isPFMuon_, analysis::ntuple::Candidates< T >::isTightMuon_, analysis::ntuple::Candidates< T >::isTrackerMuon_, analysis::ntuple::Candidates< T >::jecUncert_, analysis::ntuple::Candidates< T >::jerResolution_, analysis::ntuple::Candidates< T >::jerSF_, analysis::ntuple::Candidates< T >::jerSFDown_, analysis::ntuple::Candidates< T >::jerSFUp_, analysis::ntuple::Candidates< T >::jetid_, analysis::ntuple::Candidates< T >::lastcopy_, analysis::ntuple::Candidates< T >::mass_, analysis::ntuple::Candidates< T >::matchedStations_, analysis::ntuple::Candidates< T >::mo1_, analysis::ntuple::Candidates< T >::mo2_, analysis::ntuple::Candidates< T >::n_, analysis::ntuple::Candidates< T >::normChi2_, analysis::ntuple::Candidates< T >::partonFlavour_, analysis::ntuple::Candidates< T >::pdg_, analysis::ntuple::Candidates< T >::phi_, analysis::ntuple::Candidates< T >::phiAtVtx_, analysis::ntuple::Candidates< T >::physicsFlavour_, analysis::ntuple::Candidates< T >::pt_, analysis::ntuple::Candidates< T >::puJetIdFullDiscr_, analysis::ntuple::Candidates< T >::puJetIdFullId_, analysis::ntuple::Candidates< T >::px_, analysis::ntuple::Candidates< T >::py_, analysis::ntuple::Candidates< T >::pz_, analysis::ntuple::Candidates< T >::q_, analysis::ntuple::Candidates< T >::qgLikelihood_, analysis::ntuple::Candidates< T >::rho_, analysis::ntuple::Candidates< T >::segmentCompatibility_, analysis::ntuple::Candidates< T >::sigxx_, analysis::ntuple::Candidates< T >::sigxy_, analysis::ntuple::Candidates< T >::sigyx_, analysis::ntuple::Candidates< T >::sigyy_, analysis::ntuple::Candidates< T >::status_, analysis::ntuple::Candidates< T >::tree_, analysis::ntuple::Candidates< T >::trkchi2_, analysis::ntuple::Candidates< T >::trkd0_, analysis::ntuple::Candidates< T >::trkdxy_, analysis::ntuple::Candidates< T >::trkhp_badmu_, analysis::ntuple::Candidates< T >::trkhp_innerstationsvalhits_, analysis::ntuple::Candidates< T >::trkhp_lostmu_, analysis::ntuple::Candidates< T >::trkhp_outerstationsvalhits_, analysis::ntuple::Candidates< T >::trkhp_stationsbadhits_, analysis::ntuple::Candidates< T >::trkhp_stationsvalhits_, analysis::ntuple::Candidates< T >::trkhp_valmu_, analysis::ntuple::Candidates< T >::trkhp_valtechits_, analysis::ntuple::Candidates< T >::trkhp_valtibhits_, analysis::ntuple::Candidates< T >::trkhp_valtidhits_, analysis::ntuple::Candidates< T >::trkhp_valtobhits_, analysis::ntuple::Candidates< T >::trkhp_valtrkhits_, analysis::ntuple::Candidates< T >::trkKink_, analysis::ntuple::Candidates< T >::trkLayersWithMeasurement_, analysis::ntuple::Candidates< T >::trkndof_, analysis::ntuple::Candidates< T >::trkqual_, analysis::ntuple::Candidates< T >::type_, analysis::ntuple::Candidates< T >::validFraction_, analysis::ntuple::Candidates< T >::validMuonHits_, and analysis::ntuple::Candidates< T >::validPixelHits_.

Referenced by analysis::ntuple::Candidates< T >::Init().

872 {
873  // kinematics output info
874  if ( do_kinematics_ )
875  {
876  tree_->Branch("n", &n_, "n/I");
877  tree_->Branch("pt", pt_, "pt[n]/F");
878  tree_->Branch("eta", eta_, "eta[n]/F");
879  tree_->Branch("phi", phi_, "phi[n]/F");
880  tree_->Branch("px", px_, "px[n]/F");
881  tree_->Branch("py", py_, "py[n]/F");
882  tree_->Branch("pz", pz_, "pz[n]/F");
883  tree_->Branch("q", q_, "q[n]/I");
884 
885  if ( ! is_recotrack_ )
886  {
887  tree_->Branch("e", e_, "e[n]/F");
888  tree_->Branch("et", et_, "et[n]/F");
889  }
890 
891 
892  if ( is_genparticle_ )
893  {
894  tree_->Branch("index",indx_, "index[n]/I");
895  tree_->Branch("pdg", pdg_, "pdg[n]/I");
896  tree_->Branch("status",status_,"status[n]/I");
897  tree_->Branch("last_copy",lastcopy_,"last_copy[n]/O");
898  tree_->Branch("higgs_dau",higgs_dau_,"higgs_dau[n]/O");
899  tree_->Branch("mother1",mo1_,"mother1[n]/I");
900  tree_->Branch("mother2",mo2_,"mother2[n]/I");
901  tree_->Branch("daughter1",da1_,"daughter1[n]/I");
902  tree_->Branch("daughter2",da2_,"daughter2[n]/I");
903  tree_->Branch("mass",mass_,"mass[n]/F");
904  }
905 
906  if ( is_patmuon_ )
907  {
908  tree_->Branch("isPFMuon", isPFMuon_, "isPFMuon[n]/O");
909  tree_->Branch("isGlobalMuon", isGlobalMuon_, "isGlobalMuon[n]/O");
910  tree_->Branch("isTrackerMuon",isTrackerMuon_,"isTrackerMuon[n]/O");
911  tree_->Branch("isLooseMuon", isLooseMuon_, "isLooseMuon[n]/O");
912  tree_->Branch("isMediumMuon", isMediumMuon_, "isMediumMuon[n]/O");
913  tree_->Branch("isTightMuon", isTightMuon_, "isTightMuon[n]/O");
914 
915  tree_->Branch("validFraction", validFraction_, "validFraction[n]/F");
916  tree_->Branch("segmentCompatibility", segmentCompatibility_, "segmentCompatibility[n]/F");
917 
918  tree_->Branch("matchedStations", matchedStations_, "matchedStations[n]/F");
919  tree_->Branch("validPixelHits", validPixelHits_, "validPixelHits[n]/F" );
920  tree_->Branch("validMuonHits", validMuonHits_, "validMuonHits[n]/F" );
921  tree_->Branch("trkLayersWithMeasurement", trkLayersWithMeasurement_, "trkLayersWithMeasurement[n]/F");
922  tree_->Branch("ipxy", ipxy_, "ipxy[n]/F" );
923  tree_->Branch("ipz", ipz_, "ipz[n]/F" );
924 
925 
926  tree_->Branch("normChi2", normChi2_, "normChi2[n]/F");
927  tree_->Branch("trkKink", trkKink_, "trkKink[n]/F");
928  tree_->Branch("chi2LocalPos", chi2LocalPos_, "chi2LocalPos[n]/F");
929 
930  }
931 
932  if ( is_patjet_ )
933  {
934  for ( size_t it = 0 ; it < btag_vars_.size() ; ++it )
935  {
936  std::string title = btag_vars_[it].title;
937  if (title.find(":") != std::string::npos)
938  {
939  title = std::regex_replace(title, std::regex("\\:"), "_");
940  }
941  tree_->Branch(btag_vars_[it].alias.c_str(), btag_[it], (title+"[n]/F").c_str());
942 // tree_->Branch(btag_vars_[it].alias.c_str(), btag_[it], (btag_vars_[it].title+"[n]/F").c_str());
943 // std::cout << btag_vars_[it].alias.c_str() << " " << title.c_str() << std::endl;
944  }
945 
946  tree_->Branch("flavour", flavour_, "flavour[n]/I");
947  tree_->Branch("hadronFlavour", hadronFlavour_, "hadronFlavour[n]/I" );
948  tree_->Branch("partonFlavour", partonFlavour_, "partonFlavour[n]/I" );
949  tree_->Branch("physicsFlavour", physicsFlavour_, "physicsFlavour[n]/I");
950 
951 // if ( jecRecord_ != "" )
952 // {
953  tree_->Branch("jecUncert", jecUncert_, "jecUncert[n]/F");
954  tree_->Branch("jerResolution",jerResolution_,"jerResolution[n]/F");
955  tree_->Branch("jerSF",jerSF_,"jerSF[n]/F");
956  tree_->Branch("jerSFUp",jerSFUp_,"jerSFUp[n]/F");
957  tree_->Branch("jerSFDown",jerSFDown_,"jerSFDown[n]/F");
958  tree_->Branch("Rho",&rho_,"Rho/D");
959 // }
960  tree_->Branch("qgLikelihood", qgLikelihood_, "qgLikelihood[n]/F");
961  tree_->Branch("puJetIdFullDiscriminant", puJetIdFullDiscr_, "puJetIdFullDiscriminant[n]/F");
962  tree_->Branch("puJetIdFullId", puJetIdFullId_, "puJetIdFullId[n]/I");
963 
964  tree_->Branch("bjetRegCorr",bjetRegCorr_,"bjetRegCorr_[n]/F");
965  tree_->Branch("bjetRegRes",bjetRegRes_,"bjetRegRes_[n]/F");
966 
967  }
968  if ( is_pfjet_ || is_patjet_ )
969  {
970  for ( size_t it = 0 ; it < id_vars_.size() ; ++it )
971  tree_->Branch(id_vars_[it].alias.c_str(), jetid_[it], (id_vars_[it].title+"[n]/F").c_str());
972  }
973  if ( is_patmet_ )
974  {
975  tree_->Branch("sigxx", sigxx_, "sigxx[n]/F");
976  tree_->Branch("sigxy", sigxy_, "sigxy[n]/F");
977  tree_->Branch("sigyx", sigyx_, "sigyx[n]/F");
978  tree_->Branch("sigyy", sigyy_, "sigyy[n]/F");
979  if ( is_mc_ )
980  {
981  tree_->Branch("gen_px", gen_px_, "gen_px[n]/F");
982  tree_->Branch("gen_py", gen_py_, "gen_py[n]/F");
983  tree_->Branch("gen_pz", gen_pz_, "gen_pz[n]/F");
984  }
985  }
986 
988  {
989  // there may be more than one type for an object, one has to be careful depending on the trigger
990  // for now only the first entry is used.
991  // definitions in DataFormats/HLTReco/interface/TriggerTypeDefs.h
992  tree_->Branch("type", type_, "type[n]/I");
993  }
994 
995  if ( is_l1tmuon_ )
996  {
997  tree_->Branch("hwQual" , hwQual_ , "hwQual[n]/I");
998  tree_->Branch("etaAtVtx", etaAtVtx_, "etaAtVtx[n]/F");
999  tree_->Branch("phiAtVtx", phiAtVtx_, "phiAtVtx[n]/F");
1000  }
1001 
1002  if ( is_recotrack_ )
1003  {
1004  tree_->Branch("chi2", trkchi2_, "chi2[n]/F");
1005  tree_->Branch("ndof", trkndof_, "ndof[n]/F");
1006  tree_->Branch("d0", trkd0_, "d0[n]/F");
1007  tree_->Branch("dxy", trkdxy_, "dxy[n]/F");
1008 
1009  std::string trkqualities[10];
1010  trkqualities[0] = "undefQuality";
1011  trkqualities[1] = "loose";
1012  trkqualities[2] = "tight";
1013  trkqualities[3] = "highPurity";
1014  trkqualities[4] = "confirmed";
1015  trkqualities[5] = "goodIterative";
1016  trkqualities[6] = "looseSetWithPV";
1017  trkqualities[7] = "highPuritySetWithPV";
1018  trkqualities[8] = "discarded";
1019  trkqualities[9] = "qualitySize";
1020  for ( int it = 0 ; it < 10 ; ++it )
1021  tree_->Branch(Form("quality_%s",trkqualities[it].c_str()), trkqual_[it],Form("quality_%s[n]/O",trkqualities[it].c_str()));
1022 
1023  // hit pattern
1024  tree_->Branch("numberOfLostMuonHits" ,trkhp_lostmu_, "numberOfLostMuonHits[n]/I");
1025  tree_->Branch("numberOfValidMuonHits",trkhp_valmu_ , "numberOfValidMuonHits[n]/I");
1026  tree_->Branch("numberOfBadMuonHits", trkhp_badmu_ , "numberOfBadMuonHits[n]/I");
1027 
1028  tree_->Branch("numberOfValidTrackerHits" ,trkhp_valtrkhits_,"numberOfValidTrackerHits[n]/I");
1029  tree_->Branch("numberOfValidStripTECHits",trkhp_valtechits_,"numberOfValidStripTECHits[n]/I");
1030  tree_->Branch("numberOfValidStripTIBHits",trkhp_valtibhits_,"numberOfValidStripTIBHits[n]/I");
1031  tree_->Branch("numberOfValidStripTIDHits",trkhp_valtidhits_,"numberOfValidStripTIDHits[n]/I");
1032  tree_->Branch("numberOfValidStripTOBHits",trkhp_valtobhits_,"numberOfValidStripTOBHits[n]/I");
1033 
1034  tree_->Branch("muonStationsWithValidHits" , trkhp_stationsvalhits_ ,"muonStationsWithValidHits[n]/I");
1035  tree_->Branch("muonStationsWithBadHits" , trkhp_stationsbadhits_ ,"muonStationsWithBadHits[n]/I");
1036  tree_->Branch("innermostMuonStationWithValidHits" ,trkhp_innerstationsvalhits_,"innermostMuonStationWithValidHits[n]/I");
1037  tree_->Branch("outermostMuonStationWithValidHits" ,trkhp_outerstationsvalhits_,"outermostMuonStationWithValidHits[n]/I");
1038  }
1039 
1040 
1041  }
1042 
1043 
1044 }
int da2_[maxCandidates]
Definition: Candidates.h:172
int hwQual_[maxCandidates]
Definition: Candidates.h:190
float sigxx_[maxCandidates]
Definition: Candidates.h:176
int trkhp_valtidhits_[maxCandidates]
Definition: Candidates.h:208
float jerResolution_[maxCandidates]
Definition: Candidates.h:144
bool isTrackerMuon_[maxCandidates]
Definition: Candidates.h:109
float trkchi2_[maxCandidates]
Definition: Candidates.h:196
int physicsFlavour_[maxCandidates]
Definition: Candidates.h:136
float trkLayersWithMeasurement_[maxCandidates]
Definition: Candidates.h:121
float btag_[15][maxCandidates]
Definition: Candidates.h:132
int puJetIdFullId_[maxCandidates]
Definition: Candidates.h:157
int indx_[maxCandidates]
Definition: Candidates.h:164
float etaAtVtx_[maxCandidates]
Definition: Candidates.h:192
std::vector< TitleAlias > btag_vars_
Definition: Candidates.h:250
float sigxy_[maxCandidates]
Definition: Candidates.h:177
float trkKink_[maxCandidates]
Definition: Candidates.h:126
int trkhp_valtrkhits_[maxCandidates]
Definition: Candidates.h:205
int type_[maxCandidates]
Definition: Candidates.h:187
float ipxy_[maxCandidates]
Definition: Candidates.h:122
int trkhp_stationsvalhits_[maxCandidates]
Definition: Candidates.h:210
float trkd0_[maxCandidates]
Definition: Candidates.h:198
float phiAtVtx_[maxCandidates]
Definition: Candidates.h:193
int da1_[maxCandidates]
Definition: Candidates.h:171
float e_[maxCandidates]
Definition: Candidates.h:102
float bjetRegRes_[maxCandidates]
Definition: Candidates.h:162
int partonFlavour_[maxCandidates]
Definition: Candidates.h:135
int status_[maxCandidates]
Definition: Candidates.h:166
int trkhp_innerstationsvalhits_[maxCandidates]
Definition: Candidates.h:212
int q_[maxCandidates]
Definition: Candidates.h:104
bool isGlobalMuon_[maxCandidates]
Definition: Candidates.h:108
float pz_[maxCandidates]
Definition: Candidates.h:101
bool isMediumMuon_[maxCandidates]
Definition: Candidates.h:111
float puJetIdFullDiscr_[maxCandidates]
Definition: Candidates.h:156
float pt_[maxCandidates]
Definition: Candidates.h:98
float normChi2_[maxCandidates]
Definition: Candidates.h:129
float qgLikelihood_[maxCandidates]
Definition: Candidates.h:152
bool lastcopy_[maxCandidates]
Definition: Candidates.h:167
int trkhp_outerstationsvalhits_[maxCandidates]
Definition: Candidates.h:213
int trkhp_lostmu_[maxCandidates]
Definition: Candidates.h:202
float ipz_[maxCandidates]
Definition: Candidates.h:123
float jerSFUp_[maxCandidates]
Definition: Candidates.h:146
float px_[maxCandidates]
Definition: Candidates.h:99
bool isTightMuon_[maxCandidates]
Definition: Candidates.h:112
float sigyy_[maxCandidates]
Definition: Candidates.h:179
bool isLooseMuon_[maxCandidates]
Definition: Candidates.h:110
int hadronFlavour_[maxCandidates]
Definition: Candidates.h:134
int trkhp_valtibhits_[maxCandidates]
Definition: Candidates.h:207
float phi_[maxCandidates]
Definition: Candidates.h:97
int flavour_[maxCandidates]
Definition: Candidates.h:133
float jetid_[15][maxCandidates]
Definition: Candidates.h:138
int trkhp_stationsbadhits_[maxCandidates]
Definition: Candidates.h:211
float sigyx_[maxCandidates]
Definition: Candidates.h:178
float gen_px_[maxCandidates]
Definition: Candidates.h:182
int trkhp_valtobhits_[maxCandidates]
Definition: Candidates.h:209
float trkndof_[maxCandidates]
Definition: Candidates.h:197
int trkhp_valtechits_[maxCandidates]
Definition: Candidates.h:206
float jerSFDown_[maxCandidates]
Definition: Candidates.h:147
float validMuonHits_[maxCandidates]
Definition: Candidates.h:128
float gen_py_[maxCandidates]
Definition: Candidates.h:183
bool higgs_dau_[maxCandidates]
Definition: Candidates.h:168
std::vector< TitleAlias > id_vars_
Definition: Candidates.h:249
float eta_[maxCandidates]
Definition: Candidates.h:96
float validPixelHits_[maxCandidates]
Definition: Candidates.h:120
float mass_[maxCandidates]
Definition: Candidates.h:173
int mo1_[maxCandidates]
Definition: Candidates.h:169
int trkhp_badmu_[maxCandidates]
Definition: Candidates.h:204
float chi2LocalPos_[maxCandidates]
Definition: Candidates.h:127
float trkdxy_[maxCandidates]
Definition: Candidates.h:199
int trkhp_valmu_[maxCandidates]
Definition: Candidates.h:203
float jecUncert_[maxCandidates]
Definition: Candidates.h:141
int mo2_[maxCandidates]
Definition: Candidates.h:170
float segmentCompatibility_[maxCandidates]
Definition: Candidates.h:115
bool isPFMuon_[maxCandidates]
Definition: Candidates.h:107
float bjetRegCorr_[maxCandidates]
Definition: Candidates.h:161
float validFraction_[maxCandidates]
Definition: Candidates.h:119
float matchedStations_[maxCandidates]
Definition: Candidates.h:116
float et_[maxCandidates]
Definition: Candidates.h:103
float jerSF_[maxCandidates]
Definition: Candidates.h:145
float py_[maxCandidates]
Definition: Candidates.h:100
float gen_pz_[maxCandidates]
Definition: Candidates.h:184
int pdg_[maxCandidates]
Definition: Candidates.h:165
bool trkqual_[10][maxCandidates]
Definition: Candidates.h:200
template<typename T >
void analysis::ntuple::Candidates< T >::BTagAlgorithms ( const std::vector< std::string > &  ,
const std::vector< std::string > &   
)
template<typename T >
void Candidates::Fill ( const edm::Event &  event)
template<typename T >
void Candidates::Fill ( const edm::Event &  event,
const edm::EventSetup &  setup 
)

Definition at line 827 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::Fill(), analysis::ntuple::Candidates< T >::jecFile_, analysis::ntuple::Candidates< T >::jecRecord_, analysis::ntuple::Candidates< T >::jecUnc_, analysis::ntuple::Candidates< T >::jerFile_, analysis::ntuple::Candidates< T >::jerRecord_, analysis::ntuple::Candidates< T >::jersfFile_, analysis::ntuple::Candidates< T >::res_, analysis::ntuple::Candidates< T >::res_sf_, analysis::ntuple::Candidates< T >::rho_, and analysis::ntuple::Candidates< T >::rho_collection_.

828 {
829  if ( jecRecord_ != "" )
830  {
831  if ( jecFile_ != "" )
832  {
833  jecUnc_ = std::unique_ptr<JetCorrectionUncertainty>(new JetCorrectionUncertainty(jecFile_));
834  }
835  else
836  {
837  edm::ESHandle<JetCorrectorParametersCollection> JetCorParColl;
838  setup.get<JetCorrectionsRecord>().get(jecRecord_,JetCorParColl);
839  JetCorrectorParameters const & JetCorPar = (*JetCorParColl)["Uncertainty"];
840  jecUnc_ = std::unique_ptr<JetCorrectionUncertainty>(new JetCorrectionUncertainty(JetCorPar));
841  }
842  }
843 
844  if (jerRecord_ != "" )
845  {
846  if(jerFile_ != "" && jersfFile_ != "")
847  {
850  }
851  else
852  {
853  std::string label_pt = jerRecord_ + "_pt";
854  res_ = JME::JetResolution::get(setup,label_pt);
855  std::string label_sf = jerRecord_;
856  res_sf_ = JME::JetResolutionScaleFactor::get(setup,label_sf);
857  }
858 
859  edm::Handle<double> rhoHandler;
860  event.getByLabel(rho_collection_, rhoHandler);
861  rho_ = *(rhoHandler.product());
862 
863  }
864 
865  Fill(event);
866 }
std::unique_ptr< JetCorrectionUncertainty > jecUnc_
Definition: Candidates.h:88
edm::InputTag rho_collection_
Definition: Candidates.h:142
JME::JetResolution res_
Definition: Candidates.h:148
JME::JetResolutionScaleFactor res_sf_
Definition: Candidates.h:149
template<typename T >
void Candidates::Fill ( )

Definition at line 813 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::tree_.

Referenced by analysis::ntuple::Candidates< T >::Fill().

814 {
815  tree_->Fill();
816 }
template<typename T >
void Candidates::Init ( )

Definition at line 1049 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::Branches().

Referenced by analysis::ntuple::Candidates< T >::Init().

1050 {
1051  Branches();
1052 }
template<typename T >
void Candidates::Init ( const std::vector< TitleAlias > &  btagVars)

Definition at line 1055 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::btag_vars_, and analysis::ntuple::Candidates< T >::Init().

1056 {
1057  btag_vars_ = btagVars;
1058  if ( btag_vars_.size() > 15 )
1059  btag_vars_.erase(btag_vars_.begin()+15,btag_vars_.end());
1060  Init();
1061 
1062 }
std::vector< TitleAlias > btag_vars_
Definition: Candidates.h:250
template<typename T >
void Candidates::JECRecord ( const std::string &  jr)

Definition at line 787 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::jecRecord_.

788 {
789  jecRecord_ = "";
790 }
template<typename T >
void Candidates::Kinematics ( )

Definition at line 338 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::bjetRegCorr_, analysis::ntuple::Candidates< T >::bjetRegRes_, analysis::ntuple::Candidates< T >::btag_, analysis::ntuple::Candidates< T >::btag_vars_, analysis::ntuple::Candidates< T >::candidates_, analysis::ntuple::Candidates< T >::chi2LocalPos_, analysis::ntuple::Candidates< T >::da1_, analysis::ntuple::Candidates< T >::da2_, DOWN, analysis::ntuple::Candidates< T >::e_, analysis::ntuple::Candidates< T >::et_, analysis::ntuple::Candidates< T >::eta_, analysis::ntuple::Candidates< T >::flavour_, analysis::ntuple::Candidates< T >::gen_px_, analysis::ntuple::Candidates< T >::gen_py_, analysis::ntuple::Candidates< T >::gen_pz_, JME::JetResolution::getResolution(), JME::JetResolutionScaleFactor::getScaleFactor(), analysis::ntuple::Candidates< T >::hadronFlavour_, analysis::ntuple::Candidates< T >::higgs_dau_, analysis::ntuple::Candidates< T >::indx_, analysis::ntuple::Candidates< T >::ipxy_, analysis::ntuple::Candidates< T >::ipz_, analysis::ntuple::Candidates< T >::is_genparticle_, analysis::ntuple::Candidates< T >::is_mc_, analysis::ntuple::Candidates< T >::is_patjet_, analysis::ntuple::Candidates< T >::is_patmet_, analysis::ntuple::Candidates< T >::is_patmuon_, analysis::ntuple::Candidates< T >::is_pfjet_, analysis::ntuple::Candidates< T >::is_trigobject_, analysis::ntuple::Candidates< T >::is_trigobject_reco_, analysis::ntuple::Candidates< T >::isGlobalMuon_, analysis::ntuple::Candidates< T >::isLooseMuon_, analysis::ntuple::Candidates< T >::isMediumMuon_, analysis::ntuple::Candidates< T >::isPFMuon_, analysis::ntuple::Candidates< T >::isTightMuon_, analysis::ntuple::Candidates< T >::isTrackerMuon_, analysis::ntuple::Candidates< T >::jecRecord_, analysis::ntuple::Candidates< T >::jecUnc_, analysis::ntuple::Candidates< T >::jecUncert_, analysis::ntuple::Candidates< T >::jerRecord_, analysis::ntuple::Candidates< T >::jerResolution_, analysis::ntuple::Candidates< T >::jerSF_, analysis::ntuple::Candidates< T >::jerSFDown_, analysis::ntuple::Candidates< T >::jerSFUp_, JME::JetEta, analysis::ntuple::Candidates< T >::jetid_, JME::JetPt, analysis::ntuple::Candidates< T >::lastcopy_, analysis::ntuple::Candidates< T >::mass_, analysis::ntuple::Candidates< T >::matchedStations_, analysis::ntuple::Candidates< T >::maxCandidates, analysis::ntuple::Candidates< T >::maxEta_, analysis::ntuple::Candidates< T >::minPt_, analysis::ntuple::Candidates< T >::mo1_, analysis::ntuple::Candidates< T >::mo2_, analysis::ntuple::Candidates< T >::n_, analysis::ntuple::Candidates< T >::normChi2_, analysis::ntuple::Candidates< T >::partonFlavour_, analysis::ntuple::Candidates< T >::pdg_, analysis::ntuple::Candidates< T >::phi_, analysis::ntuple::Candidates< T >::physicsFlavour_, analysis::ntuple::Candidates< T >::pt_, analysis::ntuple::Candidates< T >::puJetIdFullDiscr_, analysis::ntuple::Candidates< T >::puJetIdFullId_, analysis::ntuple::Candidates< T >::pujetidInst_, analysis::ntuple::Candidates< T >::px_, analysis::ntuple::Candidates< T >::py_, analysis::ntuple::Candidates< T >::pz_, analysis::ntuple::Candidates< T >::q_, analysis::ntuple::Candidates< T >::qgLikelihood_, analysis::ntuple::Candidates< T >::qgtaggerInst_, analysis::ntuple::Candidates< T >::res_, analysis::ntuple::Candidates< T >::res_sf_, JME::Rho, analysis::ntuple::Candidates< T >::rho_, analysis::ntuple::Candidates< T >::segmentCompatibility_, JME::JetParameters::set(), JME::JetParameters::setJetEta(), JME::JetParameters::setJetPt(), JME::JetParameters::setRho(), analysis::ntuple::Candidates< T >::sigxx_, analysis::ntuple::Candidates< T >::sigxy_, analysis::ntuple::Candidates< T >::sigyx_, analysis::ntuple::Candidates< T >::sigyy_, naf_submit::status(), analysis::ntuple::Candidates< T >::status_, analysis::ntuple::Candidates< T >::trkKink_, analysis::ntuple::Candidates< T >::trkLayersWithMeasurement_, analysis::ntuple::Candidates< T >::type_, UP, analysis::ntuple::Candidates< T >::validFraction_, analysis::ntuple::Candidates< T >::validMuonHits_, and analysis::ntuple::Candidates< T >::validPixelHits_.

Referenced by analysis::ntuple::Candidates< T >::Fill().

339 {
340  using namespace edm;
341 
342  int n = 0;
343  for ( size_t i = 0 ; i < candidates_.size(); ++i )
344  {
345  if ( n >= maxCandidates ) break;
346 
347  if ( minPt_ >= 0. && candidates_[i].pt() < minPt_ ) continue;
348  if ( maxEta_ >= 0. && fabs(candidates_[i].eta()) > maxEta_ ) continue;
349 
350  if ( is_genparticle_ )
351  {
352  reco::GenParticle * gp = dynamic_cast<reco::GenParticle*> (&candidates_[i]);
353  int pdg = gp -> pdgId();
354  int status = gp -> status(); // any status selection?
355  if ( abs(pdg) > 38 ) continue;
356  pdg_[n] = pdg;
357  status_[n]= status;
358  lastcopy_[n] = gp -> isLastCopy();
359  indx_[n] = i;
360  mo1_[n] = -1;
361  mo2_[n] = -1;
362  da1_[n] = -1;
363  da2_[n] = -1;
364  if ( gp->numberOfMothers() > 0 )
365  {
366  mo1_[n] = gp->motherRef(0).key();
367  mo2_[n] = gp->motherRef(gp->numberOfMothers()-1).key();
368  }
369  if ( gp->numberOfDaughters() > 0 )
370  {
371  da1_[n] = gp->daughterRef(0).key();
372  da2_[n] = gp->daughterRef(gp->numberOfDaughters()-1).key();
373  }
374  const reco::Candidate * mother = gp->mother(0);
375  higgs_dau_[n] = false;
376  if ( mother != NULL ) // initial protons are orphans
377  {
378  if ( mother->pdgId() == 36 || mother->pdgId() == 25 )
379  higgs_dau_[n] = true;
380  }
381  mass_[n] = gp->mass();
382  }
383 
384  pt_[n] = candidates_[i].pt();
385  eta_[n] = candidates_[i].eta();
386  phi_[n] = candidates_[i].phi();
387  px_[n] = candidates_[i].px();
388  py_[n] = candidates_[i].py();
389  pz_[n] = candidates_[i].pz();
390  q_[n] = candidates_[i].charge();
391  e_[n] = candidates_[i].energy();
392  et_[n] = candidates_[i].et();
393 
394  // PAT MUONS
395  if ( is_patmuon_ )
396  {
397  pat::Muon * muon = dynamic_cast<pat::Muon*> (&candidates_[i]);
398  const reco::Vertex::Point vtxp = muon->reco::LeafCandidate::vertex();
399  const reco::Vertex::Error error ;
400  //const reco::Vertex::Error error = muon->reco::LeafCandidate::vertexCovariance(); not implemented at edm level
401 
402  const reco::Vertex vtx ( vtxp, error ) ;
403 
404  isPFMuon_ [n] = muon->isPFMuon() ;
405  isGlobalMuon_ [n] = muon->isGlobalMuon() ;
406  isTrackerMuon_ [n] = muon->isTrackerMuon();
407 
408  isLooseMuon_ [n] = muon->isLooseMuon() ;
409  isMediumMuon_ [n] = muon->isMediumMuon();
410  isTightMuon_ [n] = muon->isTightMuon( vtx ) ;
411 
412  // default values
413  segmentCompatibility_ [n] = -1.;
414  validFraction_ [n] = -1.;
415  matchedStations_ [n] = 9999.;
416  validPixelHits_ [n] = 9999.;
417  validMuonHits_ [n] = 9999.;
418  trkLayersWithMeasurement_ [n] = 9999.;
419  trkKink_ [n] = 9999.;
420  ipxy_ [n] = 9999.;
421  ipz_ [n] = 9999.;
422  normChi2_ [n] = 9999.;
423  chi2LocalPos_ [n] = 9999.;
424 
425 
426  if ( isPFMuon_[n] && ( isGlobalMuon_[n] || isTrackerMuon_[n] ) )
427  {
428  // muon chamber stations
429  segmentCompatibility_ [n] = muon->segmentCompatibility() ; // medium muon
430  matchedStations_ [n] = muon->numberOfMatchedStations() ; // at least 2 in tight
431 
432  //inner tracker
433  validFraction_ [n] = muon->innerTrack()->validFraction() ;
434  validPixelHits_ [n] = muon->innerTrack()->hitPattern().numberOfValidPixelHits() ;
435  trkLayersWithMeasurement_ [n] = muon->innerTrack()->hitPattern().trackerLayersWithMeasurement() ;
436 
437  //transverse and longitudinal ip - tracker only
438  ipxy_[n] = fabs(muon->muonBestTrack()->dxy(vtx.position())) ;
439  ipz_ [n] = fabs(muon->muonBestTrack()->dz (vtx.position())) ;
440 
441  //global tracker - only for GlobalMuons
442  if ( isGlobalMuon_[n] )
443  {
444  normChi2_ [n] = muon->normChi2();
445  trkKink_ [n] = muon->combinedQuality().trkKink;
446  chi2LocalPos_[n] = muon->combinedQuality().chi2LocalPosition;
447  validMuonHits_[n] = muon->globalTrack()->hitPattern().numberOfValidMuonHits();
448  }
449  }
450  }
451 
452  // PAT JETS
453  if ( is_patjet_ )
454  {
455  pat::Jet * jet = dynamic_cast<pat::Jet*> (&candidates_[i]);
456 
457 // std::string sv = "pfSecondaryVertexTagInfos";
458 // std::cout << "oioi " << sv << std::endl;
459 // const reco::SecondaryVertexTagInfo * svTI = jet->tagInfoSecondaryVertex("secondaryVertex");
460 // std::cout << "oioi " << svTI << std::endl;
461 
462 // //
463 // std::vector<std::string> tagNames = jet -> userIntNames();
464 // std::cout << "Jet has " << tagNames.size() << " tags" << std::endl;
465 // for ( size_t it = 0 ; it < tagNames.size() ; ++it )
466 // {
467 // std::cout << " Tag Name = " << tagNames[it] << std::endl;
468 // }
469 
470  if ( jet->hasUserFloat("bJetRegCorr") ) bjetRegCorr_[n] = jet->userFloat("bJetRegCorr");
471  else bjetRegCorr_[n] = 1;
472 
473  if ( jet->hasUserFloat("bJetRegRes") ) bjetRegRes_[n] = jet->userFloat("bJetRegRes");
474  else bjetRegRes_[n] = 1;
475 
476  for ( size_t it = 0 ; it < btag_vars_.size() ; ++it )
477  {
478  btag_[it][n] = jet->bDiscriminator(btag_vars_[it].title);
479  }
480 
481  if ( jet -> isPFJet() || jet -> isJPTJet() )
482  {
483  jetid_[0][n] = jet->neutralHadronEnergyFraction();
484  jetid_[1][n] = jet->neutralEmEnergyFraction();
485  if ( jet->hasUserFloat("patPuppiJetSpecificProducer:neutralPuppiMultiplicity") )
486  {
487  jetid_[2][n] = jet->userFloat("patPuppiJetSpecificProducer:neutralPuppiMultiplicity");
488  }
489  else
490  {
491  jetid_[2][n] = (float)jet->neutralMultiplicity();
492  }
493  jetid_[3][n] = jet->chargedHadronEnergyFraction();
494  jetid_[4][n] = jet->chargedEmEnergyFraction();
495  if ( jet->hasUserFloat("patPuppiJetSpecificProducer:neutralPuppiMultiplicity") && jet->hasUserFloat("patPuppiJetSpecificProducer:puppiMultiplicity") )
496  {
497  jetid_[5][n] = jet->userFloat("patPuppiJetSpecificProducer:puppiMultiplicity") - jet->userFloat("patPuppiJetSpecificProducer:neutralPuppiMultiplicity");
498  jetid_[7][n] = 1.;
499  }
500  else
501  {
502  jetid_[5][n] = (float)jet->chargedMultiplicity();
503  jetid_[7][n] = -1.;
504  }
505  jetid_[6][n] = jet->muonEnergyFraction();
506  }
507  else // set some dummy values
508  {
509  for ( size_t ii = 0; ii < 7; ++ii ) jetid_[ii][n] = -1.;
510  }
511  flavour_ [n] = 0;
512  hadronFlavour_ [n] = 0;
513  partonFlavour_ [n] = 0;
514  physicsFlavour_ [n] = 0;
515  if ( is_mc_ )
516  {
517  flavour_ [n] = jet->hadronFlavour();
518  hadronFlavour_ [n] = jet->hadronFlavour();
519  partonFlavour_ [n] = jet->partonFlavour();
520  if (jet->genParton())
521  physicsFlavour_[n] = jet->genParton()->pdgId();
522  }
523 
524  // JEC Uncertainties
525  if ( jecRecord_ != "" )
526  {
527  jecUnc_->setJetEta(eta_[n]);
528  jecUnc_->setJetPt(pt_[n]);
529  jecUncert_[n] = jecUnc_->getUncertainty(true);
530  }
531  else
532  {
533  jecUncert_[n] = -1.;
534  }
535  //JER
536  if( jerRecord_ != "" )
537  {
538  // SetUp Jet parameters
539  JME::JetParameters jerParamRes;
540  jerParamRes.setJetPt(pt_[n]);
541  jerParamRes.setJetEta(eta_[n]);
542  jerParamRes.setRho(rho_);
543 
544  // Return JER
545  jerResolution_[n] = res_.getResolution(jerParamRes);
546 
547  JME::JetParameters jerParamSF;
548  jerParamSF.set(JME::Binning::JetPt, pt_[n]);
549  jerParamSF.set(JME::Binning::JetEta, eta_[n]);
550  jerParamSF.set(JME::Binning::Rho, rho_);
551 
552  jerSF_[n] = res_sf_.getScaleFactor(jerParamSF);
553  jerSFUp_[n] = res_sf_. getScaleFactor(jerParamSF,Variation::UP);
554  jerSFDown_[n] = res_sf_. getScaleFactor(jerParamSF,Variation::DOWN);
555 
556  }
557  else
558  {
559  jerResolution_[n] = -1;
560  jerSF_[n] = -1;
561  jerSFUp_[n] = -1;
562  jerSFDown_[n] = -1;
563  }
564 
565  // quark-gluon likelihood
566  qgLikelihood_[n] = -10.;
567  std::string qgkey = qgtaggerInst_+":qgLikelihood";
568  if ( jet -> hasUserFloat(qgkey) )
569  {
570  qgLikelihood_[n] = jet->userFloat(qgkey);
571  }
572 
573  // jet pileup id
574  puJetIdFullDiscr_[n] = -10.;
575  std::string pudisckey = pujetidInst_+":fullDiscriminant";
576  if ( jet -> hasUserFloat(pudisckey) )
577  {
578  puJetIdFullDiscr_[n] = jet -> userFloat(pudisckey);
579  }
580  puJetIdFullId_[n] = -1;
581  std::string puidkey = pujetidInst_+":fullId";
582  if ( jet -> hasUserInt(puidkey) )
583  {
584  puJetIdFullId_[n] = jet -> userInt(puidkey);
585  }
586 
587 
588  }
589  if ( is_pfjet_ )
590  {
591  reco::PFJet * jet = dynamic_cast<reco::PFJet*> (&candidates_[i]);
592  jetid_[0][n] = jet->neutralHadronEnergyFraction();
593  jetid_[1][n] = jet->neutralEmEnergyFraction();
594  jetid_[2][n] = (float)jet->neutralMultiplicity();
595  jetid_[3][n] = jet->chargedHadronEnergyFraction();
596  jetid_[4][n] = jet->chargedEmEnergyFraction();
597  jetid_[5][n] = (float)jet->chargedMultiplicity();
598  jetid_[6][n] = jet->muonEnergyFraction();
599  }
600  if ( is_patmet_ )
601  {
602  pat::MET * met = dynamic_cast<pat::MET*> (&candidates_[i]);
603  sigxx_[n] = met->getSignificanceMatrix()(0,0);
604  sigxy_[n] = met->getSignificanceMatrix()(0,1);
605  sigyx_[n] = met->getSignificanceMatrix()(1,0);
606  sigyy_[n] = met->getSignificanceMatrix()(1,1);
607  if ( is_mc_ )
608  {
609  const reco::GenMET * genMET = met->genMET();
610  gen_px_[n] = genMET->px();;
611  gen_py_[n] = genMET->py();;
612  gen_pz_[n] = genMET->pz();;
613  }
614  }
615 
616  if ( is_trigobject_ )
617  {
618  pat::TriggerObject * to = dynamic_cast<pat::TriggerObject*> (&candidates_[i]);
619  type_[n] = 0;
620  if ( to->triggerObjectTypes().size() > 0 )
621  type_[n] = to->triggerObjectTypes().at(0);
622  }
623  if ( is_trigobject_reco_ )
624  {
625  trigger::TriggerObject * to = dynamic_cast<trigger::TriggerObject*> (&candidates_[i]);
626  type_[n] = to -> id();
627  }
628 
629  ++n;
630  }
631 
632  n_ = n;
633 
634 }
int da2_[maxCandidates]
Definition: Candidates.h:172
float sigxx_[maxCandidates]
Definition: Candidates.h:176
float jerResolution_[maxCandidates]
Definition: Candidates.h:144
bool isTrackerMuon_[maxCandidates]
Definition: Candidates.h:109
JetParameters & setJetEta(float eta)
int physicsFlavour_[maxCandidates]
Definition: Candidates.h:136
JetParameters & setRho(float rho)
float trkLayersWithMeasurement_[maxCandidates]
Definition: Candidates.h:121
float btag_[15][maxCandidates]
Definition: Candidates.h:132
int puJetIdFullId_[maxCandidates]
Definition: Candidates.h:157
int indx_[maxCandidates]
Definition: Candidates.h:164
def status(submission_dir, failed_only=False)
Definition: naf_submit.py:362
std::vector< TitleAlias > btag_vars_
Definition: Candidates.h:250
float sigxy_[maxCandidates]
Definition: Candidates.h:177
std::unique_ptr< JetCorrectionUncertainty > jecUnc_
Definition: Candidates.h:88
float trkKink_[maxCandidates]
Definition: Candidates.h:126
int type_[maxCandidates]
Definition: Candidates.h:187
float ipxy_[maxCandidates]
Definition: Candidates.h:122
JetParameters & set(const Binning &bin, float value)
int da1_[maxCandidates]
Definition: Candidates.h:171
float e_[maxCandidates]
Definition: Candidates.h:102
float bjetRegRes_[maxCandidates]
Definition: Candidates.h:162
int partonFlavour_[maxCandidates]
Definition: Candidates.h:135
std::vector< T > candidates_
Definition: Candidates.h:81
int status_[maxCandidates]
Definition: Candidates.h:166
int q_[maxCandidates]
Definition: Candidates.h:104
bool isGlobalMuon_[maxCandidates]
Definition: Candidates.h:108
float pz_[maxCandidates]
Definition: Candidates.h:101
float getResolution(const JetParameters &parameters) const
bool isMediumMuon_[maxCandidates]
Definition: Candidates.h:111
float puJetIdFullDiscr_[maxCandidates]
Definition: Candidates.h:156
float pt_[maxCandidates]
Definition: Candidates.h:98
float normChi2_[maxCandidates]
Definition: Candidates.h:129
float qgLikelihood_[maxCandidates]
Definition: Candidates.h:152
bool lastcopy_[maxCandidates]
Definition: Candidates.h:167
float ipz_[maxCandidates]
Definition: Candidates.h:123
float jerSFUp_[maxCandidates]
Definition: Candidates.h:146
float px_[maxCandidates]
Definition: Candidates.h:99
float getScaleFactor(const JetParameters &parameters, Variation variation=Variation::NOMINAL, std::string uncertaintySource="") const
bool isTightMuon_[maxCandidates]
Definition: Candidates.h:112
float sigyy_[maxCandidates]
Definition: Candidates.h:179
bool isLooseMuon_[maxCandidates]
Definition: Candidates.h:110
int hadronFlavour_[maxCandidates]
Definition: Candidates.h:134
float phi_[maxCandidates]
Definition: Candidates.h:97
int flavour_[maxCandidates]
Definition: Candidates.h:133
float jetid_[15][maxCandidates]
Definition: Candidates.h:138
float sigyx_[maxCandidates]
Definition: Candidates.h:178
float gen_px_[maxCandidates]
Definition: Candidates.h:182
JME::JetResolution res_
Definition: Candidates.h:148
float jerSFDown_[maxCandidates]
Definition: Candidates.h:147
float validMuonHits_[maxCandidates]
Definition: Candidates.h:128
float gen_py_[maxCandidates]
Definition: Candidates.h:183
bool higgs_dau_[maxCandidates]
Definition: Candidates.h:168
float eta_[maxCandidates]
Definition: Candidates.h:96
float validPixelHits_[maxCandidates]
Definition: Candidates.h:120
float mass_[maxCandidates]
Definition: Candidates.h:173
int mo1_[maxCandidates]
Definition: Candidates.h:169
float chi2LocalPos_[maxCandidates]
Definition: Candidates.h:127
float jecUncert_[maxCandidates]
Definition: Candidates.h:141
JetParameters & setJetPt(float pt)
int mo2_[maxCandidates]
Definition: Candidates.h:170
float segmentCompatibility_[maxCandidates]
Definition: Candidates.h:115
bool isPFMuon_[maxCandidates]
Definition: Candidates.h:107
float bjetRegCorr_[maxCandidates]
Definition: Candidates.h:161
float validFraction_[maxCandidates]
Definition: Candidates.h:119
float matchedStations_[maxCandidates]
Definition: Candidates.h:116
static const int maxCandidates
Definition: Candidates.h:77
float et_[maxCandidates]
Definition: Candidates.h:103
float jerSF_[maxCandidates]
Definition: Candidates.h:145
float py_[maxCandidates]
Definition: Candidates.h:100
float gen_pz_[maxCandidates]
Definition: Candidates.h:184
int pdg_[maxCandidates]
Definition: Candidates.h:165
JME::JetResolutionScaleFactor res_sf_
Definition: Candidates.h:149
template<typename T >
void Candidates::MaxEta ( const float &  maxEta = -1.)

Definition at line 806 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::maxEta_.

807 {
808  maxEta_ = maxEta;
809 }
template<typename T >
void Candidates::MinPt ( const float &  minPt = -1.)

Definition at line 800 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::minPt_.

801 {
802  minPt_ = minPt;
803 }
template<typename T >
void Candidates::PileupJetIdInstance ( const std::string &  instance)

Definition at line 1112 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::pujetidInst_.

1113 {
1114  pujetidInst_ = instance;
1115 }
template<typename T >
void Candidates::QGTaggerInstance ( const std::string &  instance)

Definition at line 1107 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::qgtaggerInst_.

1108 {
1109  qgtaggerInst_ = instance;
1110 }
template<typename T >
void Candidates::ReadFromEvent ( const edm::Event &  event)

Definition at line 188 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::candidates_, and analysis::ntuple::Candidates< T >::input_collection_.

Referenced by analysis::ntuple::Candidates< T >::Fill().

189 {
190  using namespace edm;
191 
192  // Candidates
193  candidates_.clear();
194  edm::Handle<std::vector<T> > handler;
195  event.getByLabel(input_collection_, handler);
196  candidates_ = *(handler.product());
197 }
std::vector< T > candidates_
Definition: Candidates.h:81
edm::InputTag input_collection_
Definition: Candidates.h:83
template<typename T >
void analysis::ntuple::Candidates< T >::TriggerObjectType ( const std::string &  )
template<typename T >
void Candidates::UseTriggerResults ( edm::InputTag &  tr)

Definition at line 1065 of file Candidates.cc.

References analysis::ntuple::Candidates< T >::triggerresults_collection_.

1066 {
1068 }
edm::InputTag triggerresults_collection_
Definition: Candidates.h:84

Member Data Documentation

template<typename T >
float analysis::ntuple::Candidates< T >::bjetRegCorr_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::bjetRegRes_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::btag_[15][maxCandidates]
protected
template<typename T >
std::vector<TitleAlias> analysis::ntuple::Candidates< T >::btag_vars_
private
template<typename T >
std::vector<std::string> analysis::ntuple::Candidates< T >::btagAlgos_
private

Definition at line 242 of file Candidates.h.

template<typename T >
std::vector<std::string> analysis::ntuple::Candidates< T >::btagAlgosAlias_
private

Definition at line 243 of file Candidates.h.

template<typename T >
std::vector<T> analysis::ntuple::Candidates< T >::candidates_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::chi2LocalPos_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::configParameter_
protected

Definition at line 82 of file Candidates.h.

template<typename T >
int analysis::ntuple::Candidates< T >::da1_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::da2_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::do_generator_
private

Definition at line 235 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::do_kinematics_
private
template<typename T >
float analysis::ntuple::Candidates< T >::e_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::et_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::eta_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::etaAtVtx_[maxCandidates]
protected
template<typename T >
std::vector<std::string> analysis::ntuple::Candidates< T >::filterLabels_
private

Definition at line 245 of file Candidates.h.

template<typename T >
int analysis::ntuple::Candidates< T >::flavour_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::gen_px_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::gen_py_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::gen_pz_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::hadronFlavour_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::higgs_dau_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::higgs_pdg_
private

Definition at line 247 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
int analysis::ntuple::Candidates< T >::hwQual_[maxCandidates]
protected
template<typename T >
std::vector<TitleAlias> analysis::ntuple::Candidates< T >::id_vars_
private
template<typename T >
int analysis::ntuple::Candidates< T >::indx_[maxCandidates]
protected
template<typename T >
edm::InputTag analysis::ntuple::Candidates< T >::input_collection_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::ipxy_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::ipz_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::is_calojet_
private

Definition at line 222 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_chargedcand_
private

Definition at line 238 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_genjet_
private

Definition at line 228 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_genparticle_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_l1jet_
private

Definition at line 220 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_l1muon_
private

Definition at line 221 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_l1tjet_
private

Definition at line 236 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_l1tmuon_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_mc_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_patjet_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_patmet_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_patmuon_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_pfjet_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_recomuon_
private

Definition at line 225 of file Candidates.h.

Referenced by analysis::ntuple::Candidates< T >::Candidates().

template<typename T >
bool analysis::ntuple::Candidates< T >::is_recotrack_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_trigobject_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::is_trigobject_reco_
private
template<typename T >
bool analysis::ntuple::Candidates< T >::isGlobalMuon_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::isLooseMuon_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::isMediumMuon_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::isPFMuon_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::isTightMuon_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::isTrackerMuon_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::jecFile_
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::jecRecord_
protected
template<typename T >
std::unique_ptr<JetCorrectionUncertainty> analysis::ntuple::Candidates< T >::jecUnc_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jecUncert_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::jerFile_
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::jerRecord_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jerResolution_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jerSF_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jerSFDown_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::jersfFile_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jerSFUp_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::jetid_[15][maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::lastcopy_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::mass_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::matchedStations_[maxCandidates]
protected
template<typename T >
const int analysis::ntuple::Candidates< T >::maxCandidates = 250
static
template<typename T >
float analysis::ntuple::Candidates< T >::maxEta_
private
template<typename T >
float analysis::ntuple::Candidates< T >::minPt_
private
template<typename T >
int analysis::ntuple::Candidates< T >::mo1_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::mo2_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::n_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::normChi2_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::partonFlavour_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::pdg_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::phi_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::phiAtVtx_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::physicsFlavour_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::pt_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::puJetIdFullDiscr_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::puJetIdFullId_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::pujetidInst_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::px_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::py_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::pz_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::q_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::qgLikelihood_[maxCandidates]
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::qgtaggerInst_
protected
template<typename T >
JME::JetResolution analysis::ntuple::Candidates< T >::res_
protected
template<typename T >
JME::JetResolutionScaleFactor analysis::ntuple::Candidates< T >::res_sf_
protected
template<typename T >
double analysis::ntuple::Candidates< T >::rho_
protected
template<typename T >
edm::InputTag analysis::ntuple::Candidates< T >::rho_collection_
protected
template<typename T >
float analysis::ntuple::Candidates< T >::segmentCompatibility_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::sigxx_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::sigxy_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::sigyx_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::sigyy_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::status_[maxCandidates]
protected
template<typename T >
TTree* analysis::ntuple::Candidates< T >::tree_
protected
template<typename T >
edm::InputTag analysis::ntuple::Candidates< T >::triggerresults_collection_
protected
template<typename T >
std::string analysis::ntuple::Candidates< T >::trigobj_type_
private
template<typename T >
float analysis::ntuple::Candidates< T >::trkchi2_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::trkd0_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::trkdxy_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_badmu_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_innerstationsvalhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_lostmu_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_outerstationsvalhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_stationsbadhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_stationsvalhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valmu_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valtechits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valtibhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valtidhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valtobhits_[maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::trkhp_valtrkhits_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::trkKink_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::trkLayersWithMeasurement_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::trkndof_[maxCandidates]
protected
template<typename T >
bool analysis::ntuple::Candidates< T >::trkqual_[10][maxCandidates]
protected
template<typename T >
int analysis::ntuple::Candidates< T >::type_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::validFraction_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::validMuonHits_[maxCandidates]
protected
template<typename T >
float analysis::ntuple::Candidates< T >::validPixelHits_[maxCandidates]
protected

The documentation for this class was generated from the following files: