CMS 3D CMS Logo

TopDQMHelpers.h
Go to the documentation of this file.
1 #ifndef TOPDQMHELPERS
2 #define TOPDQMHELPERS
3 
4 #include <string>
5 #include <vector>
6 #include <iostream>
16 
21 
31 inline bool accept(const edm::Event& event, const edm::TriggerResults& triggerTable, const std::string& triggerPath) {
32  bool passed = false;
33  const edm::TriggerNames& triggerNames = event.triggerNames(triggerTable);
34  for (unsigned int i = 0; i < triggerNames.triggerNames().size(); ++i) {
35  if (triggerNames.triggerNames()[i] == triggerPath) {
36  if (triggerTable.accept(i)) {
37  passed = true;
38  break;
39  }
40  }
41  }
42  return passed;
43 }
44 
45 inline bool accept(const edm::Event& event,
46  const edm::TriggerResults& triggerTable,
47  const std::vector<std::string>& triggerPaths) {
48  bool passed = false;
49  for (unsigned int j = 0; j < triggerPaths.size(); ++j) {
50  if (accept(event, triggerTable, triggerPaths[j])) {
51  passed = true;
52  break;
53  }
54  }
55  return passed;
56 }
57 
60 
72 public:
74  Calculate_miniAOD(int maxNJets, double wMass);
77 
79  double massWBoson(const std::vector<pat::Jet>& jets);
81  double massTopQuark(const std::vector<pat::Jet>& jets);
83  // double massBTopQuark(const std::vector<reco::Jet>& jets, std::vector<bool>
84  // bjet);
85  double massBTopQuark(const std::vector<pat::Jet>& jets, std::vector<double> VbtagWP, double btagWP_);
86 
88  double tmassWBoson(pat::Muon* lep, const pat::MET& met, const pat::Jet& b);
90  double tmassTopQuark(pat::Muon* lep, const pat::MET& met, const pat::Jet& b);
91 
93  double tmassWBoson(pat::Electron* lep, const pat::MET& met, const pat::Jet& b);
95  double tmassTopQuark(pat::Electron* lep, const pat::MET& met, const pat::Jet& b);
96 
97 private:
101  void operator()(const std::vector<pat::Jet>& jets);
103  void operator2(const std::vector<pat::Jet>&, std::vector<double>, double);
105  void operator()(const pat::Jet& bJet, pat::Electron* lepton, const pat::MET& met);
106 
107  void operator()(const pat::Jet& bJet, pat::Muon* lepton, const pat::MET& met);
108 
109 private:
111  bool failed_;
115  double wMass_;
117  double massWBoson_;
123  double tmassWBoson_;
126 };
127 
128 class Calculate {
129 public:
131  Calculate(int maxNJets, double wMass);
134 
136  double massWBoson(const std::vector<reco::Jet>& jets);
138  double massTopQuark(const std::vector<reco::Jet>& jets);
140  // double massBTopQuark(const std::vector<reco::Jet>& jets, std::vector<bool>
141  // bjet);
142  double massBTopQuark(const std::vector<reco::Jet>& jets, std::vector<double> VbtagWP, double btagWP_);
143 
145  double tmassWBoson(reco::RecoCandidate* lep, const reco::MET& met, const reco::Jet& b);
147  double tmassTopQuark(reco::RecoCandidate* lep, const reco::MET& met, const reco::Jet& b);
148 
149 private:
153  void operator()(const std::vector<reco::Jet>& jets);
155  void operator2(const std::vector<reco::Jet>&, std::vector<double>, double);
157  void operator()(const reco::Jet& bJet, reco::RecoCandidate* lepton, const reco::MET& met);
158 
159 private:
161  bool failed_;
165  double wMass_;
167  double massWBoson_;
173  double tmassWBoson_;
176 };
177 
188 
237 template <typename Object>
239 public:
244 
246  bool select(const edm::Event& event);
247  bool select(const edm::Event& event, const std::string& type);
249  bool select(const edm::Event& event, const edm::EventSetup& setup);
250  bool selectVertex(const edm::Event& event);
251 
252 private:
256  int min_, max_;
270  double eidCutValue_;
279 
286 };
287 
289 template <typename Object>
291  : select_(cfg.getParameter<std::string>("select")), jetIDSelect_(nullptr) {
292  src_ = iC.consumes<edm::View<Object> >(cfg.getParameter<edm::InputTag>("src"));
293  // exist otherwise they are initialized with -1
294  cfg.exists("min") ? min_ = cfg.getParameter<int>("min") : min_ = -1;
295  cfg.exists("max") ? max_ = cfg.getParameter<int>("max") : max_ = -1;
296  std::string mygSF = "gedGsfElectrons";
297  gsfEs_ = iC.consumes<edm::View<reco::GsfElectron> >(cfg.getUntrackedParameter<edm::InputTag>("myGSF", mygSF));
298  if (cfg.existsAs<edm::ParameterSet>("electronId")) {
299  edm::ParameterSet elecId = cfg.getParameter<edm::ParameterSet>("electronId");
300  electronId_ = iC.consumes<edm::ValueMap<float> >(elecId.getParameter<edm::InputTag>("src"));
301  eidCutValue_ = elecId.getParameter<double>("cutValue");
302  }
303  if (cfg.exists("jetCorrector")) {
304  jetCorrector_ = cfg.getParameter<std::string>("jetCorrector");
305  }
306  if (cfg.existsAs<edm::ParameterSet>("jetBTagger")) {
307  edm::ParameterSet jetBTagger = cfg.getParameter<edm::ParameterSet>("jetBTagger");
308  btagLabel_ = iC.consumes<reco::JetTagCollection>(jetBTagger.getParameter<edm::InputTag>("label"));
309  btagWorkingPoint_ = jetBTagger.getParameter<double>("workingPoint");
310  }
311  if (cfg.existsAs<edm::ParameterSet>("jetID")) {
312  edm::ParameterSet jetID = cfg.getParameter<edm::ParameterSet>("jetID");
313  jetIDLabel_ = iC.consumes<reco::JetIDValueMap>(jetID.getParameter<edm::InputTag>("label"));
315  }
316 }
317 
319 template <typename Object>
321  // fetch input collection
323  if (!event.getByToken(src_, src))
324  return false;
325 
326  // load electronId value map if configured such
328  if (!electronId_.isUninitialized()) {
329  if (!event.getByToken(electronId_, electronId))
330  return false;
331  }
332 
333  // determine multiplicity of selected objects
334  int n = 0;
335  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
336  // special treatment for electrons
337  if (dynamic_cast<const reco::GsfElectron*>(&*obj)) {
338  unsigned int idx = obj - src->begin();
339  if (electronId_.isUninitialized() ? true : ((double)(*electronId)[src->refAt(idx)] >= eidCutValue_)) {
340  if (select_(*obj))
341  ++n;
342  }
343  }
344  // normal treatment
345  else {
346  if (select_(*obj))
347  ++n;
348  }
349  }
350  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
351  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
352 }
353 
355 template <typename Object>
357  // fetch input collection
359  if (!event.getByToken(src_, src))
360  return false;
361 
362  // special for gsfElectron
364 
365  // load electronId value map if configured such
367  if (!electronId_.isUninitialized()) {
368  if (!event.getByToken(electronId_, electronId))
369  return false;
370  }
371 
372  // determine multiplicity of selected objects
373  int n = 0;
374  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
375  // special treatment for PF candidates
376  if (dynamic_cast<const reco::PFCandidate*>(&*obj)) {
377  reco::PFCandidate objtmp = dynamic_cast<const reco::PFCandidate&>(*obj);
378 
379  if (objtmp.muonRef().isNonnull() && type == "muon") {
380  if (select_(*obj)) {
381  ++n;
382  }
383  } else if (objtmp.gsfElectronRef().isNonnull() && type == "electron") {
384  if (select_(*obj)) {
385  if (electronId_.isUninitialized()) {
386  ++n;
387  } else if (((double)(*electronId)[obj->gsfElectronRef()] >= eidCutValue_)) {
388  ++n;
389  }
390  }
391  // idx_gsf++;
392  }
393  }
394 
395  // special treatment for electrons
396  else if (dynamic_cast<const reco::GsfElectron*>(&*obj)) {
397  unsigned int idx = obj - src->begin();
398  if (electronId_.isUninitialized() ? true : ((double)(*electronId)[src->refAt(idx)] >= eidCutValue_)) {
399  if (select_(*obj))
400  ++n;
401  }
402  }
403 
404  // normal treatment
405  else {
406  if (select_(*obj))
407  ++n;
408  }
409  }
410  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
411  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
412 }
413 
414 template <typename Object>
416  // fetch input collection
418  if (!event.getByToken(src_, src))
419  return false;
420 
421  // load electronId value map if configured such
423  if (!electronId_.isUninitialized()) {
424  if (!event.getByToken(electronId_, electronId))
425  return false;
426  }
427 
428  // determine multiplicity of selected objects
429  int n = 0;
430  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
431  if (select_(*obj))
432  ++n;
433  }
434  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
435  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
436 }
437 
439 template <typename Object>
441  // fetch input collection
443  if (!event.getByToken(src_, src))
444  return false;
445 
446  // load btag collection if configured such
447  // NOTE that the JetTagCollection needs an
448  // edm::View to reco::Jets; we have to add
449  // another Handle bjets for this purpose
453  if (!btagLabel_.isUninitialized()) {
454  if (!event.getByToken(src_, bjets))
455  return false;
456  if (!event.getByToken(btagLabel_, btagger))
457  return false;
458  if (!event.getByToken(pvs_, pvertex))
459  return false;
460  }
461 
462  // load jetID value map if configured such
464  if (jetIDSelect_) {
465  if (!event.getByToken(jetIDLabel_, jetID))
466  return false;
467  }
468 
469  // load jet corrector if configured such
470  const JetCorrector* corrector = nullptr;
471  if (!jetCorrector_.empty()) {
472  // check whether a jet correcto is in the event setup or not
473  if (setup.find(edm::eventsetup::EventSetupRecordKey::makeKey<JetCorrectionsRecord>())) {
475  } else {
476  edm::LogVerbatim("TopDQMHelpers") << "\n"
477  << "---------------------------------------------------------------\n"
478  << " No JetCorrectionsRecord available from EventSetup:\n"
479  << " - Jets will not be corrected.\n"
480  << " - If you want to change this add the following lines to your "
481  "cfg file:\n"
482  << "\n"
483  << " ## load jet corrections\n"
484  << " process.load(\""
485  "JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff"
486  "\")\n"
487  << " process.prefer(\"ak5CaloL2L3\")\n"
488  << "---------------------------------------------------------------"
489  "\n";
490  }
491  }
492  // determine multiplicity of selected objects
493  int n = 0;
494  for (typename edm::View<Object>::const_iterator obj = src->begin(); obj != src->end(); ++obj) {
495  // check for chosen btag discriminator to be above the
496  // corresponding working point if configured such
497  unsigned int idx = obj - src->begin();
498  if (btagLabel_.isUninitialized() ? true : (*btagger)[bjets->refAt(idx)] > btagWorkingPoint_) {
499  bool passedJetID = true;
500  // check jetID for calo jets
501  if (jetIDSelect_ && dynamic_cast<const reco::CaloJet*>(src->refAt(idx).get())) {
502  passedJetID = (*jetIDSelect_)((*jetID)[src->refAt(idx)]);
503  }
504  if (passedJetID) {
505  // scale jet energy if configured such
506  Object jet = *obj;
507  jet.scaleEnergy(corrector ? corrector->correction(*obj) : 1.);
508  if (select_(jet))
509  ++n;
510  }
511  }
512  }
513  bool accept = (min_ >= 0 ? n >= min_ : true) && (max_ >= 0 ? n <= max_ : true);
514  return (min_ < 0 && max_ < 0) ? (n > 0) : accept;
515 }
516 
517 #endif
518 
519 /* Local Variables: */
520 /* show-trailing-whitespace: t */
521 /* truncate-lines: t */
522 /* End: */
Calculate_miniAOD::Calculate_miniAOD
Calculate_miniAOD(int maxNJets, double wMass)
default constructor
Definition: TopDQMHelpers.cc:155
Calculate_miniAOD::tmassTopQuark
double tmassTopQuark(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate top quark transverse mass estimate
Definition: TopDQMHelpers.cc:203
JetTag.h
CaloJet.h
mps_fire.i
i
Definition: mps_fire.py:428
reco::Jet
Base class for all types of Jets.
Definition: Jet.h:20
MessageLogger.h
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
Calculate::massBTopQuark_
double massBTopQuark_
cache of b-tagged top quark mass estimate
Definition: TopDQMHelpers.h:171
JetID.h
TriggerResults.h
PFCandidate.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
JetCorrector.h
Muon.h
PFJet.h
Calculate::Calculate
Calculate(int maxNJets, double wMass)
default constructor
Definition: TopDQMHelpers.cc:3
Jet.h
Calculate_miniAOD::maxNJets_
int maxNJets_
max. number of jets to be considered
Definition: TopDQMHelpers.h:113
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
eventshapeDQM_cfi.triggerPath
triggerPath
Definition: eventshapeDQM_cfi.py:7
pat::Muon
Analysis-level muon class.
Definition: Muon.h:51
topSingleLeptonDQM_PU_cfi.electronId
electronId
when omitted electron plots will be filled w/o cut on electronId
Definition: topSingleLeptonDQM_PU_cfi.py:39
Calculate
Helper class for the calculation of a top and a W boson mass estime.
Definition: TopDQMHelpers.h:128
edm::Handle
Definition: AssociativeIterator.h:50
SelectionStep::jetCorrector_
std::string jetCorrector_
jet corrector as extra selection type
Definition: TopDQMHelpers.h:272
JetCorrector
Definition: JetCorrector.h:19
Calculate_miniAOD::~Calculate_miniAOD
~Calculate_miniAOD()
default destructor
Definition: TopDQMHelpers.h:76
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
Calculate::failed_
bool failed_
indicate failed associations
Definition: TopDQMHelpers.h:161
BTaggingMonitor_cfi.met
met
Definition: BTaggingMonitor_cfi.py:84
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
pfClustersFromHGC3DClusters_cfi.corrector
corrector
Definition: pfClustersFromHGC3DClusters_cfi.py:5
JetCorrectionsRecord.h
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
reco::MET
Definition: MET.h:41
pat::Jet
Analysis-level calorimeter jet class.
Definition: Jet.h:77
reco::PFCandidate::muonRef
reco::MuonRef muonRef() const
Definition: PFCandidate.cc:421
Calculate::~Calculate
~Calculate()
default destructor
Definition: TopDQMHelpers.h:133
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
SelectionStep::src_
edm::EDGetTokenT< edm::View< Object > > src_
input collection
Definition: TopDQMHelpers.h:254
Calculate_miniAOD::operator()
void operator()(const std::vector< pat::Jet > &jets)
Definition: TopDQMHelpers.cc:229
Calculate::operator()
void operator()(const std::vector< reco::Jet > &jets)
Definition: TopDQMHelpers.cc:53
SelectionStep::max_
int max_
Definition: TopDQMHelpers.h:256
Calculate_miniAOD::wMass_
double wMass_
paramater of the w boson mass
Definition: TopDQMHelpers.h:115
SelectionStep::btagLabel_
edm::EDGetTokenT< reco::JetTagCollection > btagLabel_
choice for b-tag as extra selection type
Definition: TopDQMHelpers.h:274
Calculate_miniAOD::operator2
void operator2(const std::vector< pat::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
Definition: TopDQMHelpers.cc:286
SelectionStep::pvs_
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
Definition: TopDQMHelpers.h:280
Calculate::operator2
void operator2(const std::vector< reco::Jet > &, std::vector< double >, double)
do the calculation of the t-quark mass with one b-jet
Definition: TopDQMHelpers.cc:110
Calculate::massTopQuark_
double massTopQuark_
cache of top quark mass estimate
Definition: TopDQMHelpers.h:169
GsfElectron.h
SelectionStep::min_
int min_
min/max for object multiplicity
Definition: TopDQMHelpers.h:256
b
double b
Definition: hdecay.h:118
SelectionStep::selectVertex
bool selectVertex(const edm::Event &event)
Definition: TopDQMHelpers.h:415
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
Calculate::maxNJets_
int maxNJets_
max. number of jets to be considered
Definition: TopDQMHelpers.h:163
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Vertex.h
edm::AssociationVector
Definition: AssociationVector.h:67
SelectionStep::~SelectionStep
~SelectionStep()
default destructor
Definition: TopDQMHelpers.h:243
SelectionStep::jetIDLabel_
edm::EDGetTokenT< reco::JetIDValueMap > jetIDLabel_
jetID as an extra selection type
Definition: TopDQMHelpers.h:278
edm::View
Definition: CaloClusterFwd.h:14
funct::true
true
Definition: Factorize.h:173
edm::ParameterSet
Definition: ParameterSet.h:47
EDConsumerBase.h
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
Calculate_miniAOD::massWBoson_
double massWBoson_
cache of w boson mass estimate
Definition: TopDQMHelpers.h:117
Event.h
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
Calculate_miniAOD::massWBoson
double massWBoson(const std::vector< pat::Jet > &jets)
calculate W boson mass estimate
Definition: TopDQMHelpers.cc:165
Calculate_miniAOD
Definition: TopDQMHelpers.h:71
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
PFMET.h
TriggerNames.h
SUSYDQMAnalyzer_cfi.maxNJets
maxNJets
Definition: SUSYDQMAnalyzer_cfi.py:13
pat::MET
Analysis-level MET class.
Definition: MET.h:40
JetCorrector::getJetCorrector
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing
Definition: JetCorrector.cc:48
Calculate::massWBoson_
double massWBoson_
cache of w boson mass estimate
Definition: TopDQMHelpers.h:167
Calculate::tmassWBoson_
double tmassWBoson_
cache of W boson transverse mass estimate
Definition: TopDQMHelpers.h:173
triggerPaths
static const std::string triggerPaths
Definition: EdmProvDump.cc:46
Calculate_miniAOD::tmassTopQuark_
double tmassTopQuark_
cache of top quark transverse mass estimate
Definition: TopDQMHelpers.h:125
edm::EventSetup
Definition: EventSetup.h:58
Calculate_miniAOD::massBTopQuark_
double massBTopQuark_
cache of b-tagged top quark mass estimate
Definition: TopDQMHelpers.h:121
reco::RecoCandidate
Definition: RecoCandidate.h:20
MET.h
Calculate::tmassTopQuark_
double tmassTopQuark_
cache of top quark transverse mass estimate
Definition: TopDQMHelpers.h:175
Jet.h
SelectionStep::select
bool select(const edm::Event &event)
apply selection
Definition: TopDQMHelpers.h:320
looper.cfg
cfg
Definition: looper.py:297
Calculate::massTopQuark
double massTopQuark(const std::vector< reco::Jet > &jets)
calculate t-quark mass estimate
Definition: TopDQMHelpers.cc:19
Calculate_miniAOD::massTopQuark
double massTopQuark(const std::vector< pat::Jet > &jets)
calculate t-quark mass estimate
Definition: TopDQMHelpers.cc:171
ValueMap.h
Calculate::tmassWBoson
double tmassWBoson(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate W boson transverse mass estimate
Definition: TopDQMHelpers.cc:31
Calculate::tmassTopQuark
double tmassTopQuark(reco::RecoCandidate *lep, const reco::MET &met, const reco::Jet &b)
calculate top quark transverse mass estimate
Definition: TopDQMHelpers.cc:37
SelectionStep::btagWorkingPoint_
double btagWorkingPoint_
choice of b-tag working point as extra selection type
Definition: TopDQMHelpers.h:276
std
Definition: JetResolutionObject.h:76
StringCutObjectSelector.h
Calculate_miniAOD::tmassWBoson_
double tmassWBoson_
cache of W boson transverse mass estimate
Definition: TopDQMHelpers.h:123
Calculate::massBTopQuark
double massBTopQuark(const std::vector< reco::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
Definition: TopDQMHelpers.cc:25
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
metsig::jet
Definition: SignAlgoResolutions.h:47
edm::ValueMap< float >
StringCutObjectSelector< Object >
SelectionStep::SelectionStep
SelectionStep(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
default constructor
Definition: TopDQMHelpers.h:290
SelectionStep::eidCutValue_
double eidCutValue_
Definition: TopDQMHelpers.h:270
edm::TriggerNames
Definition: TriggerNames.h:55
TriggerAnalyzer.passed
passed
Definition: TriggerAnalyzer.py:62
pseudoTop_cfi.wMass
wMass
Definition: pseudoTop_cfi.py:12
Calculate::massWBoson
double massWBoson(const std::vector< reco::Jet > &jets)
calculate W boson mass estimate
Definition: TopDQMHelpers.cc:13
Calculate::wMass_
double wMass_
paramater of the w boson mass
Definition: TopDQMHelpers.h:165
SelectionStep
Templated helper class to allow a selection on a certain object collection.
Definition: TopDQMHelpers.h:238
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SelectionStep::jetIDSelect_
StringCutObjectSelector< reco::JetID > * jetIDSelect_
selection string on the jetID
Definition: TopDQMHelpers.h:285
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
Electron.h
edm::View::const_iterator
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
Calculate_miniAOD::massBTopQuark
double massBTopQuark(const std::vector< pat::Jet > &jets, std::vector< double > VbtagWP, double btagWP_)
calculate b-tagged t-quark mass estimate
Definition: TopDQMHelpers.cc:177
ConsumesCollector.h
pat::Electron
Analysis-level electron class.
Definition: Electron.h:51
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
reco::PFCandidate::gsfElectronRef
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
Definition: PFCandidate.cc:530
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
edm::TriggerResults
Definition: TriggerResults.h:35
SelectionStep::gsfEs_
edm::EDGetTokenT< edm::View< reco::GsfElectron > > gsfEs_
Definition: TopDQMHelpers.h:281
Calculate_miniAOD::failed_
bool failed_
indicate failed associations
Definition: TopDQMHelpers.h:111
SelectionStep::electronId_
edm::EDGetTokenT< edm::ValueMap< float > > electronId_
electronId label as extra selection type
Definition: TopDQMHelpers.h:258
Calculate_miniAOD::massTopQuark_
double massTopQuark_
cache of top quark mass estimate
Definition: TopDQMHelpers.h:119
SelectionStep::select_
StringCutObjectSelector< Object > select_
string cut selector
Definition: TopDQMHelpers.h:283
Calculate_miniAOD::tmassWBoson
double tmassWBoson(pat::Muon *lep, const pat::MET &met, const pat::Jet &b)
calculate W boson transverse mass estimate
Definition: TopDQMHelpers.cc:185