CMS 3D CMS Logo

ElectronMcMiniAODSignalValidator.cc
Go to the documentation of this file.
1 // system include files
2 //#include <memory>
3 
4 // user include files
6 #include "CLHEP/Units/GlobalPhysicalConstants.h"
8 
9 // user include files
10 
11 using namespace reco;
12 using namespace pat;
13 
15 
17  : ElectronDqmAnalyzerBase(iConfig) {
18  mcTruthCollection_ = consumes<edm::View<reco::GenParticle> >(
19  iConfig.getParameter<edm::InputTag>("mcTruthCollection")); // prunedGenParticles
21  consumes<pat::ElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons")); // slimmedElectrons
23  consumes<pat::ElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons_endcaps")); // slimmedElectrons
24 
25  edm::ParameterSet histosSet = iConfig.getParameter<edm::ParameterSet>("histosCfg");
26  edm::ParameterSet isolationSet = iConfig.getParameter<edm::ParameterSet>("isolationCfg");
27 
28  maxPt_ = iConfig.getParameter<double>("MaxPt");
29  maxAbsEta_ = iConfig.getParameter<double>("MaxAbsEta");
30  deltaR_ = iConfig.getParameter<double>("DeltaR");
32  matchingIDs_ = iConfig.getParameter<std::vector<int> >("MatchingID");
33  matchingMotherIDs_ = iConfig.getParameter<std::vector<int> >("MatchingMotherID");
34  outputInternalPath_ = iConfig.getParameter<std::string>("OutputFolderName");
35 
36  // histos bining and limits
37 
38  xyz_nbin = histosSet.getParameter<int>("Nbinxyz");
39 
40  pt_nbin = histosSet.getParameter<int>("Nbinpt");
41  pt2D_nbin = histosSet.getParameter<int>("Nbinpt2D");
42  pteff_nbin = histosSet.getParameter<int>("Nbinpteff");
43  pt_max = histosSet.getParameter<double>("Ptmax");
44 
45  fhits_nbin = histosSet.getParameter<int>("Nbinfhits");
46  fhits_max = histosSet.getParameter<double>("Fhitsmax");
47 
48  eta_nbin = histosSet.getParameter<int>("Nbineta");
49  eta2D_nbin = histosSet.getParameter<int>("Nbineta2D");
50  eta_min = histosSet.getParameter<double>("Etamin");
51  eta_max = histosSet.getParameter<double>("Etamax");
52 
53  detamatch_nbin = histosSet.getParameter<int>("Nbindetamatch");
54  detamatch2D_nbin = histosSet.getParameter<int>("Nbindetamatch2D");
55  detamatch_min = histosSet.getParameter<double>("Detamatchmin");
56  detamatch_max = histosSet.getParameter<double>("Detamatchmax");
57 
58  dphi_nbin = histosSet.getParameter<int>("Nbindphi");
59  dphi_min = histosSet.getParameter<double>("Dphimin");
60  dphi_max = histosSet.getParameter<double>("Dphimax");
61 
62  dphimatch_nbin = histosSet.getParameter<int>("Nbindphimatch");
63  dphimatch2D_nbin = histosSet.getParameter<int>("Nbindphimatch2D");
64  dphimatch_min = histosSet.getParameter<double>("Dphimatchmin");
65  dphimatch_max = histosSet.getParameter<double>("Dphimatchmax");
66 
67  hoe_nbin = histosSet.getParameter<int>("Nbinhoe");
68  hoe_min = histosSet.getParameter<double>("Hoemin");
69  hoe_max = histosSet.getParameter<double>("Hoemax");
70 
71  mee_nbin = histosSet.getParameter<int>("Nbinmee");
72  mee_min = histosSet.getParameter<double>("Meemin");
73  mee_max = histosSet.getParameter<double>("Meemax");
74 
75  poptrue_nbin = histosSet.getParameter<int>("Nbinpoptrue");
76  poptrue_min = histosSet.getParameter<double>("Poptruemin");
77  poptrue_max = histosSet.getParameter<double>("Poptruemax");
78 
79  set_EfficiencyFlag = histosSet.getParameter<bool>("EfficiencyFlag");
80  set_StatOverflowFlag = histosSet.getParameter<bool>("StatOverflowFlag");
81 
82  // so to please coverity...
83 
84  h1_recEleNum = nullptr;
85 
86  h1_ele_vertexPt = nullptr;
87  h1_ele_vertexEta = nullptr;
88  h1_ele_vertexPt_nocut = nullptr;
89 
90  h1_scl_SigIEtaIEta_mAOD = nullptr;
93 
94  h2_ele_foundHitsVsEta = nullptr;
96 
97  h2_ele_PoPtrueVsEta = nullptr;
98  h2_ele_sigmaIetaIetaVsPt = nullptr;
99 
100  h1_ele_HoE_mAOD = nullptr;
101  h1_ele_HoE_mAOD_barrel = nullptr;
102  h1_ele_HoE_mAOD_endcaps = nullptr;
103  h1_ele_mee_all = nullptr;
104  h1_ele_mee_os = nullptr;
105 
106  h1_ele_fbrem_mAOD = nullptr;
107  h1_ele_fbrem_mAOD_barrel = nullptr;
108  h1_ele_fbrem_mAOD_endcaps = nullptr;
109 
110  h1_ele_dEtaSc_propVtx_mAOD = nullptr;
113  h1_ele_dPhiCl_propOut_mAOD = nullptr;
116 
126 }
127 
129 
131  edm::Run const&,
132  edm::EventSetup const&) {
134 
135  setBookIndex(-1);
136  setBookPrefix("h");
139 
140  // rec event collections sizes
141  h1_recEleNum = bookH1(iBooker, "recEleNum", "# rec electrons", 11, -0.5, 10.5, "N_{ele}");
142  // matched electrons
143  setBookPrefix("h_mc");
144  setBookPrefix("h_ele");
146  bookH1withSumw2(iBooker, "vertexPt", "ele transverse momentum", pt_nbin, 0., pt_max, "p_{T vertex} (GeV/c)");
147  h1_ele_vertexEta = bookH1withSumw2(iBooker, "vertexEta", "ele momentum eta", eta_nbin, eta_min, eta_max, "#eta");
149  bookH1withSumw2(iBooker, "vertexPt_nocut", "pT of prunned electrons", pt_nbin, 0., 20., "p_{T vertex} (GeV/c)");
151  "PoPtrueVsEta",
152  "ele momentum / gen momentum vs eta",
153  eta2D_nbin,
154  eta_min,
155  eta_max,
156  50,
157  poptrue_min,
158  poptrue_max);
159  // h2_ele_sigmaIetaIetaVsPt = bookH2(iBooker,"sigmaIetaIetaVsPt","SigmaIetaIeta vs pt",pt_nbin,0.,pt_max,100,0.,0.05);
161  bookH2(iBooker, "sigmaIetaIetaVsPt", "SigmaIetaIeta vs pt", 100, 0., pt_max, 100, 0., 0.05);
162 
163  // all electrons
164  setBookPrefix("h_ele");
166  "mee_all",
167  "ele pairs invariant mass, all reco electrons",
168  mee_nbin,
169  mee_min,
170  mee_max,
171  "m_{ee} (GeV/c^{2})",
172  "Events",
173  "ELE_LOGY E1 P");
174  h1_ele_mee_os = bookH1withSumw2(iBooker,
175  "mee_os",
176  "ele pairs invariant mass, opp. sign",
177  mee_nbin,
178  mee_min,
179  mee_max,
180  "m_{e^{+}e^{-}} (GeV/c^{2})",
181  "Events",
182  "ELE_LOGY E1 P");
183 
184  // matched electron, superclusters
185  setBookPrefix("h_scl");
187  "SigIEtaIEta_mAOD",
188  "ele supercluster sigma ieta ieta",
189  100,
190  0.,
191  0.05,
192  "#sigma_{i#eta i#eta}",
193  "Events",
194  "ELE_LOGY E1 P");
196  "SigIEtaIEta_mAOD_barrel",
197  "ele supercluster sigma ieta ieta, barrel",
198  100,
199  0.,
200  0.05,
201  "#sigma_{i#eta i#eta}",
202  "Events",
203  "ELE_LOGY E1 P");
205  "SigIEtaIEta_mAOD_endcaps",
206  "ele supercluster sigma ieta ieta, endcaps",
207  100,
208  0.,
209  0.05,
210  "#sigma_{i#eta i#eta}",
211  "Events",
212  "ELE_LOGY E1 P");
213 
214  // matched electron, gsf tracks
215  setBookPrefix("h_ele");
216  h2_ele_foundHitsVsEta = bookH2(iBooker,
217  "foundHitsVsEta",
218  "ele track # found hits vs eta",
219  eta2D_nbin,
220  eta_min,
221  eta_max,
222  fhits_nbin,
223  0.,
224  fhits_max);
226  "foundHitsVsEta_mAOD",
227  "ele track # found hits vs eta",
228  eta2D_nbin,
229  eta_min,
230  eta_max,
231  fhits_nbin,
232  0.,
233  fhits_max);
234 
235  // matched electrons, matching
236  setBookPrefix("h_ele");
238  "HoE_mAOD",
239  "ele hadronic energy / em energy",
240  hoe_nbin,
241  hoe_min,
242  hoe_max,
243  "H/E",
244  "Events",
245  "ELE_LOGY E1 P");
247  "HoE_mAOD_barrel",
248  "ele hadronic energy / em energy, barrel",
249  hoe_nbin,
250  hoe_min,
251  hoe_max,
252  "H/E",
253  "Events",
254  "ELE_LOGY E1 P");
256  "HoE_mAOD_endcaps",
257  "ele hadronic energy / em energy, endcaps",
258  hoe_nbin,
259  hoe_min,
260  hoe_max,
261  "H/E",
262  "Events",
263  "ELE_LOGY E1 P");
265  "dEtaSc_propVtx_mAOD",
266  "ele #eta_{sc} - #eta_{tr}, prop from vertex",
270  "#eta_{sc} - #eta_{tr}",
271  "Events",
272  "ELE_LOGY E1 P");
274  "dEtaSc_propVtx_mAOD_barrel",
275  "ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel",
279  "#eta_{sc} - #eta_{tr}",
280  "Events",
281  "ELE_LOGY E1 P");
283  "dEtaSc_propVtx_mAOD_endcaps",
284  "ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps",
288  "#eta_{sc} - #eta_{tr}",
289  "Events",
290  "ELE_LOGY E1 P");
292  "dPhiCl_propOut_mAOD",
293  "ele #phi_{cl} - #phi_{tr}, prop from outermost",
297  "#phi_{seedcl} - #phi_{tr} (rad)",
298  "Events",
299  "ELE_LOGY E1 P");
301  "dPhiCl_propOut_mAOD_barrel",
302  "ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel",
306  "#phi_{seedcl} - #phi_{tr} (rad)",
307  "Events",
308  "ELE_LOGY E1 P");
310  "dPhiCl_propOut_mAOD_endcaps",
311  "ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps",
315  "#phi_{seedcl} - #phi_{tr} (rad)",
316  "Events",
317  "ELE_LOGY E1 P");
318 
319  // fbrem
321  iBooker, "fbrem_mAOD", "ele brem fraction, mode of GSF components", 100, 0., 1., "P_{in} - P_{out} / P_{in}");
323  "fbrem_mAOD_barrel",
324  "ele brem fraction for barrel, mode of GSF components",
325  100,
326  0.,
327  1.,
328  "P_{in} - P_{out} / P_{in}");
330  "fbrem_mAOD_endcaps",
331  "ele brem franction for endcaps, mode of GSF components",
332  100,
333  0.,
334  1.,
335  "P_{in} - P_{out} / P_{in}");
336 
337  // -- pflow over pT
339  "chargedHadronRelativeIso_mAOD",
340  "chargedHadronRelativeIso",
341  100,
342  0.0,
343  2.,
344  "chargedHadronRelativeIso",
345  "Events",
346  "ELE_LOGY E1 P");
348  "chargedHadronRelativeIso_mAOD_barrel",
349  "chargedHadronRelativeIso for barrel",
350  100,
351  0.0,
352  2.,
353  "chargedHadronRelativeIso_barrel",
354  "Events",
355  "ELE_LOGY E1 P");
357  "chargedHadronRelativeIso_mAOD_endcaps",
358  "chargedHadronRelativeIso for endcaps",
359  100,
360  0.0,
361  2.,
362  "chargedHadronRelativeIso_endcaps",
363  "Events",
364  "ELE_LOGY E1 P");
366  "neutralHadronRelativeIso_mAOD",
367  "neutralHadronRelativeIso",
368  100,
369  0.0,
370  2.,
371  "neutralHadronRelativeIso",
372  "Events",
373  "ELE_LOGY E1 P");
375  "neutralHadronRelativeIso_mAOD_barrel",
376  "neutralHadronRelativeIso for barrel",
377  100,
378  0.0,
379  2.,
380  "neutralHadronRelativeIso_barrel",
381  "Events",
382  "ELE_LOGY E1 P");
384  "neutralHadronRelativeIso_mAOD_endcaps",
385  "neutralHadronRelativeIso for endcaps",
386  100,
387  0.0,
388  2.,
389  "neutralHadronRelativeIso_endcaps",
390  "Events",
391  "ELE_LOGY E1 P");
393  "photonRelativeIso_mAOD",
394  "photonRelativeIso",
395  100,
396  0.0,
397  2.,
398  "photonRelativeIso",
399  "Events",
400  "ELE_LOGY E1 P");
402  "photonRelativeIso_mAOD_barrel",
403  "photonRelativeIso for barrel",
404  100,
405  0.0,
406  2.,
407  "photonRelativeIso_barrel",
408  "Events",
409  "ELE_LOGY E1 P");
411  "photonRelativeIso_mAOD_endcaps",
412  "photonRelativeIso for endcaps",
413  100,
414  0.0,
415  2.,
416  "photonRelativeIso_endcaps",
417  "Events",
418  "ELE_LOGY E1 P");
419 }
420 
422  // get collections
423  auto electrons = iEvent.getHandle(electronToken_);
425  auto genParticles = iEvent.getHandle(mcTruthCollection_);
426 
427  edm::Handle<pat::ElectronCollection> mergedElectrons;
428 
429  edm::LogInfo("ElectronMcSignalValidatorMiniAOD::analyze")
430  << "Treating event " << iEvent.id() << " with " << electrons.product()->size() << " electrons";
431  edm::LogInfo("ElectronMcSignalValidatorMiniAOD::analyze")
432  << "Treating event " << iEvent.id() << " with " << electrons_endcaps.product()->size()
433  << " multi slimmed electrons";
434  h1_recEleNum->Fill((*electrons).size());
435 
436  //===============================================
437  // all rec electrons
438  //===============================================
439 
440  pat::Electron gsfElectron;
441 
442  pat::ElectronCollection::const_iterator el1;
443  pat::ElectronCollection::const_iterator el2;
444  for (el1 = electrons->begin(); el1 != electrons->end(); el1++) {
445  for (el2 = el1 + 1; el2 != electrons->end(); el2++) {
446  math::XYZTLorentzVector p12 = el1->p4() + el2->p4();
447  float mee2 = p12.Dot(p12);
448  h1_ele_mee_all->Fill(sqrt(mee2));
449  if (el1->charge() * el2->charge() < 0.) {
450  h1_ele_mee_os->Fill(sqrt(mee2));
451  }
452  }
453  }
454 
455  //===============================================
456  // charge mis-ID
457  //===============================================
458 
459  int mcNum = 0, gamNum = 0, eleNum = 0;
460  // bool matchingID;//, matchingMotherID ;
461  bool matchingMotherID;
462 
463  //===============================================
464  // association mc-reco
465  //===============================================
466 
467  for (size_t i = 0; i < genParticles->size(); i++) {
468  /* // DEBUG LINES - KEEP IT !
469  std::cout << "\nevt ID = " << iEvent.id() ;
470  std::cout << ", mcIter position : " << i << std::endl;
471  std::cout << "pdgID : " << (*genParticles)[i].pdgId() << ", Pt : " << (*genParticles)[i].pt() ;
472  std::cout << ", eta : " << (*genParticles)[i].eta() << ", phi : " << (*genParticles)[i].phi() << std::endl;
473  // DEBUG LINES - KEEP IT ! */
474 
475  // number of mc particles
476  mcNum++;
477 
478  // counts photons
479  if ((*genParticles)[i].pdgId() == 22) {
480  gamNum++;
481  }
482 
483  // select requested mother matching gen particle
484  // always include single particle with no mother
485  const Candidate* mother = (*genParticles)[i].mother(0);
486  matchingMotherID = false;
487  for (unsigned int ii = 0; ii < matchingMotherIDs_.size(); ii++) {
488  /* // DEBUG LINES - KEEP IT !
489  std::cout << "Matching : matchingMotherID[" << ii << "] : "<< matchingMotherIDs_[ii] << ", evt ID = " << iEvent.id() << ", mother : " << mother ;
490  if (mother != 0) {
491  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
492  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
493  }
494  else {
495  std::cout << std::endl;
496  }
497  // DEBUG LINES - KEEP IT ! */
498 
499  if (mother == nullptr) {
500  matchingMotherID = true;
501  } else if (mother->pdgId() == matchingMotherIDs_[ii]) {
502  if (mother->numberOfDaughters() <= 2) {
503  matchingMotherID = true;
504  //std::cout << "evt ID = " << iEvent.id() ; // debug lines
505  //std::cout << " - nb of Daughters : " << mother->numberOfDaughters() << " - pdgId() : " << mother->pdgId() << std::endl; // debug lines
506  }
507  } // end of mother if test
508 
509  /* // DEBUG LINES - KEEP IT !
510  if (mother != 0) {
511  std::cout << "mother : " << mother << ", mother pdgID : " << mother->pdgId() << std::endl ;
512  std::cout << "mother pdgID : " << mother->pdgId() << ", Pt : " << mother->pt() << ", eta : " << mother->eta() << ", phi : " << mother->phi() << std::endl;
513  }
514  // DEBUG LINES - KEEP IT ! */
515  } // end of for loop
516  if (!matchingMotherID) {
517  continue;
518  }
519 
520  // electron preselection
521  if ((*genParticles)[i].pt() > maxPt_ || std::abs((*genParticles)[i].eta()) > maxAbsEta_) {
522  continue;
523  }
524  eleNum++;
525 
526  // find best matched electron
527  bool okGsfFound = false;
528  bool passMiniAODSelection = true;
529  double gsfOkRatio = 999999.;
530  pat::Electron bestGsfElectron;
531 
532  for (unsigned i_elec = 0; i_elec < 2; ++i_elec) {
533  mergedElectrons = (i_elec == 0) ? electrons : electrons_endcaps;
534 
535  for (const pat::Electron& el : *mergedElectrons) { // *electrons
536  if (i_elec == 0 && !el.isEB())
537  continue;
538  double dphi = el.phi() - (*genParticles)[i].phi();
539  if (std::abs(dphi) > CLHEP::pi) {
540  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
541  }
542  double deltaR2 = (el.eta() - (*genParticles)[i].eta()) * (el.eta() - (*genParticles)[i].eta()) + dphi * dphi;
543  if (deltaR2 < deltaR2_) {
544  if ((((*genParticles)[i].pdgId() == 11) && (el.charge() < 0.)) ||
545  (((*genParticles)[i].pdgId() == -11) && (el.charge() > 0.))) {
546  double tmpGsfRatio = el.p() / (*genParticles)[i].p();
547  if (std::abs(tmpGsfRatio - 1) < std::abs(gsfOkRatio - 1)) {
548  gsfOkRatio = tmpGsfRatio;
549  bestGsfElectron = el;
550  PatElectronPtr elePtr(electrons, &el - &(*electrons)[0]);
551  pt_ = elePtr->pt();
552 
553  okGsfFound = true;
554  }
555  }
556  }
557  }
558  } // end loop i_elec
559 
560  if (okGsfFound) {
561  //------------------------------------
562  // analysis when the mc track is found
563  //------------------------------------
564  passMiniAODSelection = bestGsfElectron.pt() >= 5.;
565  double one_over_pt = 1. / bestGsfElectron.pt();
566 
567  // electron related distributions
568  h1_ele_vertexPt->Fill(bestGsfElectron.pt());
569  h1_ele_vertexEta->Fill(bestGsfElectron.eta());
570  if ((bestGsfElectron.scSigmaIEtaIEta() == 0.) && (bestGsfElectron.fbrem() == 0.))
571  h1_ele_vertexPt_nocut->Fill(bestGsfElectron.pt());
572  // track related distributions
573  h2_ele_foundHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
574 
575  // generated distributions for matched electrons
576  h2_ele_PoPtrueVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.p() / (*genParticles)[i].p());
577 
578  if (passMiniAODSelection) { // Pt > 5.
579  h2_ele_sigmaIetaIetaVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.scSigmaIEtaIEta());
580 
581  // supercluster related distributions
582  h1_scl_SigIEtaIEta_mAOD->Fill(bestGsfElectron.scSigmaIEtaIEta());
585 
586  // track related distributions
587  h2_ele_foundHitsVsEta_mAOD->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
588 
589  // match distributions
590  h1_ele_HoE_mAOD->Fill(bestGsfElectron.hcalOverEcal());
591 
592  // fbrem
593  h1_ele_fbrem_mAOD->Fill(bestGsfElectron.fbrem());
594 
595  // -- pflow over pT
596 
598  one_over_pt);
600  one_over_pt);
601  h1_ele_photonRelativeIso_mAOD->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt * one_over_pt);
602 
603  if (bestGsfElectron.isEB()) {
604  // supercluster related distributions
608  // match distributions
609  h1_ele_HoE_mAOD_barrel->Fill(bestGsfElectron.hcalOverEcal());
610  // fbrem
611  h1_ele_fbrem_mAOD_barrel->Fill(bestGsfElectron.fbrem());
612 
614  one_over_pt);
616  one_over_pt);
618  }
619 
620  // supercluster related distributions
621  if (bestGsfElectron.isEE()) {
625  // match distributions
626  h1_ele_HoE_mAOD_endcaps->Fill(bestGsfElectron.hcalOverEcal());
627  // fbrem
628  h1_ele_fbrem_mAOD_endcaps->Fill(bestGsfElectron.fbrem());
630  one_over_pt);
632  one_over_pt);
634  }
635  }
636  }
637  //} // end loop i_elec
638  } // end loop size_t i
639 }
ElectronMcSignalValidatorMiniAOD::deltaR2_
double deltaR2_
Definition: ElectronMcMiniAODSignalValidator.h:41
reco::GsfElectron::isEE
bool isEE() const
Definition: GsfElectron.h:337
ElectronMcSignalValidatorMiniAOD::outputInternalPath_
std::string outputInternalPath_
Definition: ElectronMcMiniAODSignalValidator.h:44
ElectronDqmAnalyzerBase::setBookEfficiencyFlag
void setBookEfficiencyFlag(const bool &)
Definition: ElectronDqmAnalyzerBase.cc:34
mps_fire.i
i
Definition: mps_fire.py:428
ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_photonRelativeIso_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:133
reco::GsfElectron::isEB
bool isEB() const
Definition: GsfElectron.h:336
ElectronDqmAnalyzerBase::bookH2withSumw2
MonitorElement * bookH2withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
Definition: ElectronDqmAnalyzerBase.cc:140
MessageLogger.h
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
ElectronMcSignalValidatorMiniAOD::pt_
float pt_
Definition: ElectronMcMiniAODSignalValidator.h:37
ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD
MonitorElement * h1_ele_photonRelativeIso_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:131
ElectronMcSignalValidatorMiniAOD::eta_nbin
int eta_nbin
Definition: ElectronMcMiniAODSignalValidator.h:55
ElectronMcSignalValidatorMiniAOD::electronTokenEndcaps_
edm::EDGetTokenT< pat::ElectronCollection > electronTokenEndcaps_
Definition: ElectronMcMiniAODSignalValidator.h:32
ElectronMcSignalValidatorMiniAOD::matchingMotherIDs_
std::vector< int > matchingMotherIDs_
Definition: ElectronMcMiniAODSignalValidator.h:43
ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD
MonitorElement * h1_ele_dPhiCl_propOut_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:116
ElectronMcSignalValidatorMiniAOD::detamatch_min
double detamatch_min
Definition: ElectronMcMiniAODSignalValidator.h:64
ElectronMcSignalValidatorMiniAOD::h1_recEleNum
MonitorElement * h1_recEleNum
Definition: ElectronMcMiniAODSignalValidator.h:91
ElectronMcSignalValidatorMiniAOD::pt_nbin
int pt_nbin
Definition: ElectronMcMiniAODSignalValidator.h:49
edm::Run
Definition: Run.h:45
ElectronDqmAnalyzerBase
Definition: ElectronDqmAnalyzerBase.h:19
ElectronMcSignalValidatorMiniAOD::h1_ele_vertexPt
MonitorElement * h1_ele_vertexPt
Definition: ElectronMcMiniAODSignalValidator.h:93
ElectronMcSignalValidatorMiniAOD::ElectronMcSignalValidatorMiniAOD
ElectronMcSignalValidatorMiniAOD(const edm::ParameterSet &)
Definition: ElectronMcMiniAODSignalValidator.cc:16
PatElectronPtr
edm::Ptr< pat::Electron > PatElectronPtr
Definition: ElectronMcMiniAODSignalValidator.cc:14
pat::Electron::gsfTrack
reco::GsfTrackRef gsfTrack() const override
override the reco::GsfElectron::gsfTrack method, to access the internal storage of the supercluster
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD_endcaps
MonitorElement * h1_ele_fbrem_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:122
ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:125
ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD
MonitorElement * h1_scl_SigIEtaIEta_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:97
ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD
MonitorElement * h1_ele_HoE_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:107
ElectronMcSignalValidatorMiniAOD::set_StatOverflowFlag
bool set_StatOverflowFlag
Definition: ElectronMcMiniAODSignalValidator.h:87
ElectronMcSignalValidatorMiniAOD::detamatch_max
double detamatch_max
Definition: ElectronMcMiniAODSignalValidator.h:65
ElectronMcMiniAODSignalValidator.h
ElectronMcSignalValidatorMiniAOD::mee_nbin
int mee_nbin
Definition: ElectronMcMiniAODSignalValidator.h:77
ElectronMcSignalValidatorMiniAOD::poptrue_max
double poptrue_max
Definition: ElectronMcMiniAODSignalValidator.h:85
reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:237
ElectronDqmAnalyzerBase::bookH1withSumw2
MonitorElement * bookH1withSumw2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
Definition: ElectronDqmAnalyzerBase.cc:83
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
ElectronMcSignalValidatorMiniAOD::h1_ele_mee_all
MonitorElement * h1_ele_mee_all
Definition: ElectronMcMiniAODSignalValidator.h:110
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
reco::Candidate::mother
virtual const Candidate * mother(size_type i=0) const =0
return pointer to mother
edm::Handle
Definition: AssociativeIterator.h:50
reco::GsfElectron::fbrem
float fbrem() const
Definition: GsfElectron.h:796
ElectronMcSignalValidatorMiniAOD::electronToken_
edm::EDGetTokenT< pat::ElectronCollection > electronToken_
Definition: ElectronMcMiniAODSignalValidator.h:31
ElectronMcSignalValidatorMiniAOD::dphi_nbin
int dphi_nbin
Definition: ElectronMcMiniAODSignalValidator.h:70
reco::GsfElectron::PflowIsolationVariables::sumPhotonEt
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:673
ElectronMcSignalValidatorMiniAOD::maxPt_
double maxPt_
Definition: ElectronMcMiniAODSignalValidator.h:39
ElectronMcSignalValidatorMiniAOD::xyz_nbin
int xyz_nbin
Definition: ElectronMcMiniAODSignalValidator.h:48
ElectronMcSignalValidatorMiniAOD::deltaR_
double deltaR_
Definition: ElectronMcMiniAODSignalValidator.h:41
PVValHelper::eta
Definition: PVValidationHelpers.h:70
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD_barrel
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:126
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD_endcaps
MonitorElement * h1_ele_dPhiCl_propOut_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:118
ElectronMcSignalValidatorMiniAOD::h1_ele_dPhiCl_propOut_mAOD_barrel
MonitorElement * h1_ele_dPhiCl_propOut_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:117
ElectronDqmAnalyzerBase::setBookIndex
void setBookIndex(short)
Definition: ElectronDqmAnalyzerBase.cc:32
ElectronDqmAnalyzerBase::bookH2
MonitorElement * bookH2(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="COLZ")
Definition: ElectronDqmAnalyzerBase.cc:111
ElectronMcSignalValidatorMiniAOD::set_EfficiencyFlag
bool set_EfficiencyFlag
Definition: ElectronMcMiniAODSignalValidator.h:86
reco::Candidate::numberOfDaughters
virtual size_type numberOfDaughters() const =0
number of daughters
ElectronMcSignalValidatorMiniAOD::poptrue_nbin
int poptrue_nbin
Definition: ElectronMcMiniAODSignalValidator.h:83
ElectronMcSignalValidatorMiniAOD::fhits_nbin
int fhits_nbin
Definition: ElectronMcMiniAODSignalValidator.h:53
ElectronMcSignalValidatorMiniAOD::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: ElectronMcMiniAODSignalValidator.cc:130
ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:128
ElectronMcSignalValidatorMiniAOD::~ElectronMcSignalValidatorMiniAOD
~ElectronMcSignalValidatorMiniAOD() override
Definition: ElectronMcMiniAODSignalValidator.cc:128
ElectronMcSignalValidatorMiniAOD::detamatch_nbin
int detamatch_nbin
Definition: ElectronMcMiniAODSignalValidator.h:62
ElectronMcSignalValidatorMiniAOD::h2_ele_PoPtrueVsEta
MonitorElement * h2_ele_PoPtrueVsEta
Definition: ElectronMcMiniAODSignalValidator.h:104
ElectronMcSignalValidatorMiniAOD::poptrue_min
double poptrue_min
Definition: ElectronMcMiniAODSignalValidator.h:84
ElectronMcSignalValidatorMiniAOD::hoe_min
double hoe_min
Definition: ElectronMcMiniAODSignalValidator.h:81
ElectronMcSignalValidatorMiniAOD::dphimatch_min
double dphimatch_min
Definition: ElectronMcMiniAODSignalValidator.h:75
ElectronMcSignalValidatorMiniAOD::h1_ele_mee_os
MonitorElement * h1_ele_mee_os
Definition: ElectronMcMiniAODSignalValidator.h:111
ElectronMcSignalValidatorMiniAOD::hoe_max
double hoe_max
Definition: ElectronMcMiniAODSignalValidator.h:82
ElectronMcSignalValidatorMiniAOD::dphimatch_nbin
int dphimatch_nbin
Definition: ElectronMcMiniAODSignalValidator.h:73
edm::ParameterSet
Definition: ParameterSet.h:47
ElectronMcSignalValidatorMiniAOD::pt_max
double pt_max
Definition: ElectronMcMiniAODSignalValidator.h:52
reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:233
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:115
ElectronMcSignalValidatorMiniAOD::h2_ele_foundHitsVsEta_mAOD
MonitorElement * h2_ele_foundHitsVsEta_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:102
ElectronMcSignalValidatorMiniAOD::h2_ele_foundHitsVsEta
MonitorElement * h2_ele_foundHitsVsEta
Definition: ElectronMcMiniAODSignalValidator.h:101
ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD_barrel
MonitorElement * h1_ele_dEtaSc_propVtx_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:114
ElectronMcSignalValidatorMiniAOD::h1_ele_vertexEta
MonitorElement * h1_ele_vertexEta
Definition: ElectronMcMiniAODSignalValidator.h:94
ElectronMcSignalValidatorMiniAOD::eta_min
double eta_min
Definition: ElectronMcMiniAODSignalValidator.h:57
iEvent
int iEvent
Definition: GenABIO.cc:224
ElectronDqmAnalyzerBase::bookH1
MonitorElement * bookH1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
Definition: ElectronDqmAnalyzerBase.cc:57
ElectronMcSignalValidatorMiniAOD::maxAbsEta_
double maxAbsEta_
Definition: ElectronMcMiniAODSignalValidator.h:40
ElectronMcSignalValidatorMiniAOD::eta2D_nbin
int eta2D_nbin
Definition: ElectronMcMiniAODSignalValidator.h:56
ElectronMcSignalValidatorMiniAOD::mee_min
double mee_min
Definition: ElectronMcMiniAODSignalValidator.h:78
EgammaValidation_cff.pdgId
pdgId
Definition: EgammaValidation_cff.py:117
ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:130
edm::EventSetup
Definition: EventSetup.h:58
pat
Definition: HeavyIon.h:7
ElectronDqmAnalyzerBase::setBookStatOverflowFlag
void setBookStatOverflowFlag(const bool &)
Definition: ElectronDqmAnalyzerBase.cc:36
ElectronMcSignalValidatorMiniAOD::mcTruthCollection_
edm::EDGetTokenT< edm::View< reco::GenParticle > > mcTruthCollection_
Definition: ElectronMcMiniAODSignalValidator.h:30
ElectronMcSignalValidatorMiniAOD::h1_ele_photonRelativeIso_mAOD_barrel
MonitorElement * h1_ele_photonRelativeIso_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:132
reco::Candidate::pdgId
virtual int pdgId() const =0
PDG identifier.
reco::GsfElectron::p4
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:217
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
reco::GsfElectron::PflowIsolationVariables::sumNeutralHadronEt
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:672
edm::Ptr< pat::Electron >
reco::Candidate
Definition: Candidate.h:27
ElectronMcSignalValidatorMiniAOD::h1_ele_chargedHadronRelativeIso_mAOD_endcaps
MonitorElement * h1_ele_chargedHadronRelativeIso_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:127
ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD
MonitorElement * h1_ele_fbrem_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:120
ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD_endcaps
MonitorElement * h1_scl_SigIEtaIEta_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:99
ElectronMcSignalValidatorMiniAOD_cfi.electrons_endcaps
electrons_endcaps
Definition: ElectronMcSignalValidatorMiniAOD_cfi.py:48
ElectronMcSignalValidatorMiniAOD::dphimatch2D_nbin
int dphimatch2D_nbin
Definition: ElectronMcMiniAODSignalValidator.h:74
pwdgSkimBPark_cfi.electrons
electrons
Definition: pwdgSkimBPark_cfi.py:6
ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD_barrel
MonitorElement * h1_ele_HoE_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:108
HLTMuonOfflineAnalyzer_cfi.deltaR2
deltaR2
Definition: HLTMuonOfflineAnalyzer_cfi.py:105
ElectronMcSignalValidatorMiniAOD::h1_ele_HoE_mAOD_endcaps
MonitorElement * h1_ele_HoE_mAOD_endcaps
Definition: ElectronMcMiniAODSignalValidator.h:109
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
ElectronMcSignalValidatorMiniAOD::dphimatch_max
double dphimatch_max
Definition: ElectronMcMiniAODSignalValidator.h:76
ElectronMcSignalValidatorMiniAOD::detamatch2D_nbin
int detamatch2D_nbin
Definition: ElectronMcMiniAODSignalValidator.h:63
ElectronMcSignalValidatorMiniAOD::fhits_max
double fhits_max
Definition: ElectronMcMiniAODSignalValidator.h:54
ElectronMcSignalValidatorMiniAOD::mee_max
double mee_max
Definition: ElectronMcMiniAODSignalValidator.h:79
ElectronMcSignalValidatorMiniAOD::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: ElectronMcMiniAODSignalValidator.cc:421
reco::LeafCandidate::p
double p() const final
magnitude of momentum vector
Definition: LeafCandidate.h:123
ElectronMcSignalValidatorMiniAOD::pteff_nbin
int pteff_nbin
Definition: ElectronMcMiniAODSignalValidator.h:51
ElectronMcSignalValidatorMiniAOD::hoe_nbin
int hoe_nbin
Definition: ElectronMcMiniAODSignalValidator.h:80
ElectronMcSignalValidatorMiniAOD::h1_ele_fbrem_mAOD_barrel
MonitorElement * h1_ele_fbrem_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:121
ElectronMcSignalValidatorMiniAOD::eta_max
double eta_max
Definition: ElectronMcMiniAODSignalValidator.h:58
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
ElectronMcSignalValidatorMiniAOD::h1_scl_SigIEtaIEta_mAOD_barrel
MonitorElement * h1_scl_SigIEtaIEta_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:98
dqm::implementation::IBooker
Definition: DQMStore.h:43
ElectronMcSignalValidatorMiniAOD::pt2D_nbin
int pt2D_nbin
Definition: ElectronMcMiniAODSignalValidator.h:50
ElectronMcSignalValidatorMiniAOD::dphi_min
double dphi_min
Definition: ElectronMcMiniAODSignalValidator.h:71
pi
const Double_t pi
Definition: trackSplitPlot.h:36
reco::GsfElectron::hcalOverEcal
float hcalOverEcal(const ShowerShape &ss, int depth) const
Definition: GsfElectron.h:433
pat::Electron
Analysis-level electron class.
Definition: Electron.h:51
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::GsfElectron::pfIsolationVariables
const PflowIsolationVariables & pfIsolationVariables() const
Definition: GsfElectron.h:721
ElectronDqmAnalyzerBase::setBookPrefix
void setBookPrefix(const std::string &)
Definition: ElectronDqmAnalyzerBase.cc:30
edm::Event
Definition: Event.h:73
reco::GsfElectron::scSigmaIEtaIEta
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:504
ElectronMcSignalValidatorMiniAOD::matchingIDs_
std::vector< int > matchingIDs_
Definition: ElectronMcMiniAODSignalValidator.h:42
cuy.ii
ii
Definition: cuy.py:589
edm::InputTag
Definition: InputTag.h:15
ElectronMcSignalValidatorMiniAOD::h1_ele_vertexPt_nocut
MonitorElement * h1_ele_vertexPt_nocut
Definition: ElectronMcMiniAODSignalValidator.h:95
ElectronMcSignalValidatorMiniAOD::h2_ele_sigmaIetaIetaVsPt
MonitorElement * h2_ele_sigmaIetaIetaVsPt
Definition: ElectronMcMiniAODSignalValidator.h:105
ElectronMcSignalValidatorMiniAOD::h1_ele_dEtaSc_propVtx_mAOD
MonitorElement * h1_ele_dEtaSc_propVtx_mAOD
Definition: ElectronMcMiniAODSignalValidator.h:113
reco::GsfElectron::PflowIsolationVariables::sumChargedHadronPt
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
Definition: GsfElectron.h:671
ElectronMcSignalValidatorMiniAOD::h1_ele_neutralHadronRelativeIso_mAOD_barrel
MonitorElement * h1_ele_neutralHadronRelativeIso_mAOD_barrel
Definition: ElectronMcMiniAODSignalValidator.h:129
ElectronMcSignalValidatorMiniAOD::dphi_max
double dphi_max
Definition: ElectronMcMiniAODSignalValidator.h:72