CMS 3D CMS Logo

ElectronMcFakeValidator.cc
Go to the documentation of this file.
1 
2 // user include files
4 
6 
8 
19 
22 
25 
31 
32 #include "CLHEP/Units/GlobalPhysicalConstants.h"
33 #include "TMath.h"
34 #include "TFile.h"
35 #include "TH1F.h"
36 #include "TH1I.h"
37 #include "TH2F.h"
38 #include "TProfile.h"
39 #include "TTree.h"
40 #include <vector>
41 #include <iostream>
42 
43 using namespace reco;
44 
46  electronCollection_ = consumes<reco::GsfElectronCollection>(conf.getParameter<edm::InputTag>("electronCollection"));
48  consumes<reco::GsfElectronCoreCollection>(conf.getParameter<edm::InputTag>("electronCoreCollection"));
50  consumes<reco::GsfTrackCollection>(conf.getParameter<edm::InputTag>("electronTrackCollection"));
52  consumes<reco::ElectronSeedCollection>(conf.getParameter<edm::InputTag>("electronSeedCollection"));
54  consumes<reco::GenJetCollection>(conf.getParameter<edm::InputTag>("matchingObjectCollection"));
55  /* new 03/02/2015 */
57  consumes<reco::VertexCollection>(conf.getParameter<edm::InputTag>("offlinePrimaryVertices"));
58  /* fin new */
59 
60  beamSpotTag_ = consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("beamSpot"));
61  readAOD_ = conf.getParameter<bool>("readAOD");
62 
63  isoFromDepsTk03Tag_ = consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsTk03"));
64  isoFromDepsTk04Tag_ = consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsTk04"));
66  consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsEcalFull03"));
68  consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsEcalFull04"));
70  consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsEcalReduced03"));
72  consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsEcalReduced04"));
73  isoFromDepsHcal03Tag_ = consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsHcal03"));
74  isoFromDepsHcal04Tag_ = consumes<edm::ValueMap<double>>(conf.getParameter<edm::InputTag>("isoFromDepsHcal04"));
75 
76  maxPt_ = conf.getParameter<double>("MaxPt");
77  maxAbsEta_ = conf.getParameter<double>("MaxAbsEta");
78  deltaR_ = conf.getParameter<double>("DeltaR");
79  inputFile_ = conf.getParameter<std::string>("InputFile");
80  outputFile_ = conf.getParameter<std::string>("OutputFile");
81  inputInternalPath_ = conf.getParameter<std::string>("InputFolderName");
82  outputInternalPath_ = conf.getParameter<std::string>("OutputFolderName");
83 
84  // histos bining and limits
85 
86  edm::ParameterSet histosSet = conf.getParameter<edm::ParameterSet>("histosCfg");
87 
88  xyz_nbin = histosSet.getParameter<int>("Nbinxyz");
89 
90  p_nbin = histosSet.getParameter<int>("Nbinp");
91  p2D_nbin = histosSet.getParameter<int>("Nbinp2D");
92  p_max = histosSet.getParameter<double>("Pmax");
93 
94  pt_nbin = histosSet.getParameter<int>("Nbinpt");
95  pt2D_nbin = histosSet.getParameter<int>("Nbinpt2D");
96  pteff_nbin = histosSet.getParameter<int>("Nbinpteff");
97  pt_max = histosSet.getParameter<double>("Ptmax");
98 
99  fhits_nbin = histosSet.getParameter<int>("Nbinfhits");
100  fhits_max = histosSet.getParameter<double>("Fhitsmax");
101 
102  lhits_nbin = histosSet.getParameter<int>("Nbinlhits");
103  lhits_max = histosSet.getParameter<double>("Lhitsmax");
104 
105  eop_nbin = histosSet.getParameter<int>("Nbineop");
106  eop2D_nbin = histosSet.getParameter<int>("Nbineop2D");
107  eop_max = histosSet.getParameter<double>("Eopmax");
108  eopmaxsht = histosSet.getParameter<double>("Eopmaxsht");
109 
110  eta_nbin = histosSet.getParameter<int>("Nbineta");
111  eta2D_nbin = histosSet.getParameter<int>("Nbineta2D");
112  eta_min = histosSet.getParameter<double>("Etamin");
113  eta_max = histosSet.getParameter<double>("Etamax");
114 
115  deta_nbin = histosSet.getParameter<int>("Nbindeta");
116  deta_min = histosSet.getParameter<double>("Detamin");
117  deta_max = histosSet.getParameter<double>("Detamax");
118 
119  detamatch_nbin = histosSet.getParameter<int>("Nbindetamatch");
120  detamatch2D_nbin = histosSet.getParameter<int>("Nbindetamatch2D");
121  detamatch_min = histosSet.getParameter<double>("Detamatchmin");
122  detamatch_max = histosSet.getParameter<double>("Detamatchmax");
123 
124  phi_nbin = histosSet.getParameter<int>("Nbinphi");
125  phi2D_nbin = histosSet.getParameter<int>("Nbinphi2D");
126  phi_min = histosSet.getParameter<double>("Phimin");
127  phi_max = histosSet.getParameter<double>("Phimax");
128 
129  dphi_nbin = histosSet.getParameter<int>("Nbindphi");
130  dphi_min = histosSet.getParameter<double>("Dphimin");
131  dphi_max = histosSet.getParameter<double>("Dphimax");
132 
133  dphimatch_nbin = histosSet.getParameter<int>("Nbindphimatch");
134  dphimatch2D_nbin = histosSet.getParameter<int>("Nbindphimatch2D");
135  dphimatch_min = histosSet.getParameter<double>("Dphimatchmin");
136  dphimatch_max = histosSet.getParameter<double>("Dphimatchmax");
137 
138  mee_nbin = histosSet.getParameter<int>("Nbinmee");
139  mee_min = histosSet.getParameter<double>("Meemin");
140  mee_max = histosSet.getParameter<double>("Meemax");
141 
142  hoe_nbin = histosSet.getParameter<int>("Nbinhoe");
143  hoe_min = histosSet.getParameter<double>("Hoemin");
144  hoe_max = histosSet.getParameter<double>("Hoemax");
145 
146  popmatching_nbin = histosSet.getParameter<int>("Nbinpopmatching");
147  popmatching_min = histosSet.getParameter<double>("Popmatchingmin");
148  popmatching_max = histosSet.getParameter<double>("Popmatchingmax");
149 
150  set_EfficiencyFlag = histosSet.getParameter<bool>("EfficiencyFlag");
151  set_StatOverflowFlag = histosSet.getParameter<bool>("StatOverflowFlag");
152 
153  // so to please coverity
154  h1_matchingObjectNum = nullptr;
155  h1_recEleNum_ = nullptr;
156  h1_recCoreNum_ = nullptr;
157  h1_recTrackNum_ = nullptr;
158  h1_recSeedNum_ = nullptr;
159  h1_recOfflineVertices_ = nullptr; // new 2015.04.02
160 
161  h1_matchingObjectEta = nullptr;
162  h1_matchingObjectAbsEta = nullptr;
163  h1_matchingObjectP = nullptr;
164  h1_matchingObjectPt = nullptr;
165  h1_matchingObjectPhi = nullptr;
166  h1_matchingObjectZ = nullptr;
167 
168  h1_ele_EoverP_all = nullptr;
169  h1_ele_EseedOP_all = nullptr;
170  h1_ele_EoPout_all = nullptr;
171  h1_ele_EeleOPout_all = nullptr;
172  h1_ele_dEtaSc_propVtx_all = nullptr;
173  h1_ele_dPhiSc_propVtx_all = nullptr;
174  h1_ele_dEtaCl_propOut_all = nullptr;
175  h1_ele_dPhiCl_propOut_all = nullptr;
176  h1_ele_TIP_all = nullptr;
177  h1_ele_HoE_all = nullptr;
178  h1_ele_vertexEta_all = nullptr;
179  h1_ele_vertexPt_all = nullptr;
180  h1_ele_mee_all = nullptr;
181  h1_ele_mee_os = nullptr;
182 
183  h2_ele_E2mnE1vsMee_all = nullptr;
184  h2_ele_E2mnE1vsMee_egeg_all = nullptr;
185 
191 
192  h1_ele_charge = nullptr;
193  h2_ele_chargeVsEta = nullptr;
194  h2_ele_chargeVsPhi = nullptr;
195  h2_ele_chargeVsPt = nullptr;
196  h1_ele_vertexP = nullptr;
197  h1_ele_vertexPt = nullptr;
198  h2_ele_vertexPtVsEta = nullptr;
199  h2_ele_vertexPtVsPhi = nullptr;
200  h1_ele_vertexEta = nullptr;
201  h2_ele_vertexEtaVsPhi = nullptr;
202  h1_ele_vertexAbsEta = nullptr;
203  h1_ele_vertexPhi = nullptr;
204  h1_ele_vertexX = nullptr;
205  h1_ele_vertexY = nullptr;
206  h1_ele_vertexZ = nullptr;
207  h1_ele_vertexTIP = nullptr;
208  h2_ele_vertexTIPVsEta = nullptr;
209  h2_ele_vertexTIPVsPhi = nullptr;
210  h2_ele_vertexTIPVsPt = nullptr;
211 
212  h1_ele_PoPmatchingObject = nullptr;
218 
228 
229  h1_scl_En_ = nullptr;
232  h1_scl_Et_ = nullptr;
233  h2_scl_EtVsEta_ = nullptr;
234  h2_scl_EtVsPhi_ = nullptr;
235  h2_scl_EtaVsPhi_ = nullptr;
236  h1_scl_Eta_ = nullptr;
237  h1_scl_Phi_ = nullptr;
238 
239  h1_scl_SigIEtaIEta_ = nullptr;
240  h1_scl_SigIEtaIEta_barrel_ = nullptr;
241  h1_scl_SigIEtaIEta_endcaps_ = nullptr;
242  h1_scl_full5x5_sigmaIetaIeta_ = nullptr; // new 2014.01.12
243  h1_scl_full5x5_sigmaIetaIeta_barrel_ = nullptr; // new 2014.01.12
244  h1_scl_full5x5_sigmaIetaIeta_endcaps_ = nullptr; // new 2014.01.12
245  h1_scl_E1x5_ = nullptr;
246  h1_scl_E1x5_barrel_ = nullptr;
247  h1_scl_E1x5_endcaps_ = nullptr;
248  h1_scl_E2x5max_ = nullptr;
249  h1_scl_E2x5max_barrel_ = nullptr;
250  h1_scl_E2x5max_endcaps_ = nullptr;
251  h1_scl_E5x5_ = nullptr;
252  h1_scl_E5x5_barrel_ = nullptr;
253  h1_scl_E5x5_endcaps_ = nullptr;
254 
255  h1_ele_ambiguousTracks = nullptr;
256  h2_ele_ambiguousTracksVsEta = nullptr;
257  h2_ele_ambiguousTracksVsPhi = nullptr;
258  h2_ele_ambiguousTracksVsPt = nullptr;
259  h1_ele_foundHits = nullptr;
260  h1_ele_foundHits_barrel = nullptr;
261  h1_ele_foundHits_endcaps = nullptr;
262  h2_ele_foundHitsVsEta = nullptr;
263  h2_ele_foundHitsVsPhi = nullptr;
264  h2_ele_foundHitsVsPt = nullptr;
265  h1_ele_lostHits = nullptr;
266  h1_ele_lostHits_barrel = nullptr;
267  h1_ele_lostHits_endcaps = nullptr;
268  h2_ele_lostHitsVsEta = nullptr;
269  h2_ele_lostHitsVsPhi = nullptr;
270  h2_ele_lostHitsVsPt = nullptr;
271  h1_ele_chi2 = nullptr;
272  h1_ele_chi2_barrel = nullptr;
273  h1_ele_chi2_endcaps = nullptr;
274  h2_ele_chi2VsEta = nullptr;
275  h2_ele_chi2VsPhi = nullptr;
276  h2_ele_chi2VsPt = nullptr;
277 
278  h1_ele_PinMnPout = nullptr;
279  h1_ele_PinMnPout_mode = nullptr;
280  h2_ele_PinMnPoutVsEta_mode = nullptr;
281  h2_ele_PinMnPoutVsPhi_mode = nullptr;
282  h2_ele_PinMnPoutVsPt_mode = nullptr;
283  h2_ele_PinMnPoutVsE_mode = nullptr;
284  h2_ele_PinMnPoutVsChi2_mode = nullptr;
285 
286  h1_ele_outerP = nullptr;
287  h1_ele_outerP_mode = nullptr;
288  h2_ele_outerPVsEta_mode = nullptr;
289  h1_ele_outerPt = nullptr;
290  h1_ele_outerPt_mode = nullptr;
291  h2_ele_outerPtVsEta_mode = nullptr;
292  h2_ele_outerPtVsPhi_mode = nullptr;
293  h2_ele_outerPtVsPt_mode = nullptr;
294  h1_ele_EoP = nullptr;
295  h1_ele_EoP_barrel = nullptr;
296  h1_ele_EoP_endcaps = nullptr;
297  h2_ele_EoPVsEta = nullptr;
298  h2_ele_EoPVsPhi = nullptr;
299  h2_ele_EoPVsE = nullptr;
300  h1_ele_EseedOP = nullptr;
301  h1_ele_EseedOP_barrel = nullptr;
302  h1_ele_EseedOP_endcaps = nullptr;
303  h2_ele_EseedOPVsEta = nullptr;
304  h2_ele_EseedOPVsPhi = nullptr;
305  h2_ele_EseedOPVsE = nullptr;
306  h1_ele_EoPout = nullptr;
307  h1_ele_EoPout_barrel = nullptr;
308  h1_ele_EoPout_endcaps = nullptr;
309  h2_ele_EoPoutVsEta = nullptr;
310  h2_ele_EoPoutVsPhi = nullptr;
311  h2_ele_EoPoutVsE = nullptr;
312  h1_ele_EeleOPout = nullptr;
313  h1_ele_EeleOPout_barrel = nullptr;
314  h1_ele_EeleOPout_endcaps = nullptr;
315  h2_ele_EeleOPoutVsEta = nullptr;
316  h2_ele_EeleOPoutVsPhi = nullptr;
317  h2_ele_EeleOPoutVsE = nullptr;
318 
319  h1_ele_dEtaSc_propVtx = nullptr;
322  h2_ele_dEtaScVsEta_propVtx = nullptr;
323  h2_ele_dEtaScVsPhi_propVtx = nullptr;
324  h2_ele_dEtaScVsPt_propVtx = nullptr;
325  h1_ele_dPhiSc_propVtx = nullptr;
328  h2_ele_dPhiScVsEta_propVtx = nullptr;
329  h2_ele_dPhiScVsPhi_propVtx = nullptr;
330  h2_ele_dPhiScVsPt_propVtx = nullptr;
331  h1_ele_dEtaCl_propOut = nullptr;
334  h2_ele_dEtaClVsEta_propOut = nullptr;
335  h2_ele_dEtaClVsPhi_propOut = nullptr;
336  h2_ele_dEtaClVsPt_propOut = nullptr;
337  h1_ele_dPhiCl_propOut = nullptr;
340  h2_ele_dPhiClVsEta_propOut = nullptr;
341  h2_ele_dPhiClVsPhi_propOut = nullptr;
342  h2_ele_dPhiClVsPt_propOut = nullptr;
343  h1_ele_dEtaEleCl_propOut = nullptr;
349  h1_ele_dPhiEleCl_propOut = nullptr;
355 
356  h1_ele_seed_subdet2_ = nullptr;
357  h1_ele_seed_mask_ = nullptr;
358  h1_ele_seed_mask_bpix_ = nullptr;
359  h1_ele_seed_mask_fpix_ = nullptr;
360  h1_ele_seed_mask_tec_ = nullptr;
361  h1_ele_seed_dphi2_ = nullptr;
362  h2_ele_seed_dphi2VsEta_ = nullptr;
363  h2_ele_seed_dphi2VsPt_ = nullptr;
364  h1_ele_seed_dphi2pos_ = nullptr;
365  h2_ele_seed_dphi2posVsEta_ = nullptr;
366  h2_ele_seed_dphi2posVsPt_ = nullptr;
367  h1_ele_seed_drz2_ = nullptr;
368  h2_ele_seed_drz2VsEta_ = nullptr;
369  h2_ele_seed_drz2VsPt_ = nullptr;
370  h1_ele_seed_drz2pos_ = nullptr;
371  h2_ele_seed_drz2posVsEta_ = nullptr;
372  h2_ele_seed_drz2posVsPt_ = nullptr;
373 
374  h1_ele_classes = nullptr;
375  h1_ele_eta = nullptr;
376  h1_ele_eta_golden = nullptr;
377  h1_ele_eta_bbrem = nullptr;
378  h1_ele_eta_narrow = nullptr;
379  h1_ele_eta_shower = nullptr;
380 
381  h1_ele_HoE = nullptr;
382  h1_ele_HoE_barrel = nullptr;
383  h1_ele_HoE_endcaps = nullptr;
384  h1_ele_HoE_fiducial = nullptr;
385  h2_ele_HoEVsEta = nullptr;
386  h2_ele_HoEVsPhi = nullptr;
387  h2_ele_HoEVsE = nullptr;
388  // h1_scl_ESFrac = 0 ;
389  h1_scl_ESFrac_endcaps = nullptr;
390 
391  h1_ele_fbrem = nullptr;
392  p1_ele_fbremVsEta_mode = nullptr;
393  p1_ele_fbremVsEta_mean = nullptr;
394  h1_ele_superclusterfbrem = nullptr;
397  h2_ele_PinVsPoutGolden_mode = nullptr;
399  h2_ele_PinVsPoutGolden_mean = nullptr;
409 
410  h1_ele_mva = nullptr;
411  h1_ele_mva_isolated = nullptr;
412  h1_ele_provenance = nullptr;
413 
414  h1_ele_tkSumPt_dr03 = nullptr;
415  h1_ele_tkSumPt_dr03_barrel = nullptr;
416  h1_ele_tkSumPt_dr03_endcaps = nullptr;
417  h1_ele_ecalRecHitSumEt_dr03 = nullptr;
424  h1_ele_tkSumPt_dr04 = nullptr;
425  h1_ele_tkSumPt_dr04_barrel = nullptr;
426  h1_ele_tkSumPt_dr04_endcaps = nullptr;
427  h1_ele_ecalRecHitSumEt_dr04 = nullptr;
434 
435  h1_ele_convFlags = nullptr;
436  h1_ele_convFlags_all = nullptr;
437  h1_ele_convDist = nullptr;
438  h1_ele_convDist_all = nullptr;
439  h1_ele_convDcot = nullptr;
440  h1_ele_convDcot_all = nullptr;
441  h1_ele_convRadius = nullptr;
442  h1_ele_convRadius_all = nullptr;
443 }
444 
447 
448  setBookIndex(-1);
449  setBookPrefix("h");
452 
453  // matching object type
454  std::string matchingObjectType;
455  // Emilia
456  matchingObjectType = "GenJet";
457 
458  std::string htitle = "# " + matchingObjectType + "s", xtitle = "N_{" + matchingObjectType + "}";
459  h1_matchingObjectNum = bookH1withSumw2(iBooker, "matchingObjectNum", htitle, fhits_nbin, 0., fhits_max, xtitle);
460 
461  // rec event collections sizes
462  h1_recEleNum_ = bookH1(iBooker, "recEleNum", "# rec electrons", 11, -0.5, 10.5, "N_{ele}");
463  h1_recCoreNum_ = bookH1(iBooker, "recCoreNum", "# rec electron cores", 21, -0.5, 20.5, "N_{core}");
464  h1_recTrackNum_ = bookH1(iBooker, "recTrackNum", "# rec gsf tracks", 41, -0.5, 40.5, "N_{track}");
465  h1_recSeedNum_ = bookH1(iBooker, "recSeedNum", "# rec electron seeds", 101, -0.5, 100.5, "N_{seed}");
467  bookH1(iBooker, "recOfflineVertices", "# rec Offline Primary Vertices", 81, -0.5, 161.5, "N_{Vertices}");
468 
469  // mc
471  bookH1withSumw2(iBooker, "matchingObject_eta", matchingObjectType + " #eta", eta_nbin, eta_min, eta_max, "#eta");
473  bookH1withSumw2(iBooker, "matchingObject_abseta", matchingObjectType + " |#eta|", eta_nbin / 2, 0., eta_max);
475  bookH1withSumw2(iBooker, "matchingObject_P", matchingObjectType + " p", p_nbin, 0., p_max, "p (GeV/c)");
477  bookH1withSumw2(iBooker, "matchingObject_Pt", matchingObjectType + " pt", pteff_nbin, 5., pt_max);
479  bookH1withSumw2(iBooker, "matchingObject_phi", matchingObjectType + " phi", phi_nbin, phi_min, phi_max);
480  h1_matchingObjectZ = bookH1withSumw2(iBooker, "matchingObject_z", matchingObjectType + " z", xyz_nbin, -25, 25);
481 
482  setBookPrefix("h_ele");
483 
484  // all electrons
486  "EoverP_all",
487  "ele E/P_{vertex}, all reco electrons",
488  eop_nbin,
489  0.,
490  eop_max,
491  "E/P_{vertex}",
492  "Events",
493  "ELE_LOGY E1 P");
495  "EseedOP_all",
496  "ele E_{seed}/P_{vertex}, all reco electrons",
497  eop_nbin,
498  0.,
499  eop_max,
500  "E_{seed}/P_{vertex}",
501  "Events",
502  "ELE_LOGY E1 P");
504  "EoPout_all",
505  "ele E_{seed}/P_{out}, all reco electrons",
506  eop_nbin,
507  0.,
508  eop_max,
509  "E_{seed}/P_{out}",
510  "Events",
511  "ELE_LOGY E1 P");
513  "EeleOPout_all",
514  "ele E_{ele}/P_{out}, all reco electrons",
515  eop_nbin,
516  0.,
517  eop_max,
518  "E_{ele}/P_{out}",
519  "Events",
520  "ELE_LOGY E1 P");
522  "dEtaSc_propVtx_all",
523  "ele #eta_{sc} - #eta_{tr}, prop from vertex, all reco electrons",
527  "#eta_{sc} - #eta_{tr}",
528  "Events",
529  "ELE_LOGY E1 P");
531  "dPhiSc_propVtx_all",
532  "ele #phi_{sc} - #phi_{tr}, prop from vertex, all reco electrons",
536  "#phi_{sc} - #phi_{tr} (rad)",
537  "Events",
538  "ELE_LOGY E1 P");
540  "dEtaCl_propOut_all",
541  "ele #eta_{cl} - #eta_{tr}, prop from outermost, all reco electrons",
545  "#eta_{sc} - #eta_{tr}",
546  "Events",
547  "ELE_LOGY E1 P");
549  "dPhiCl_propOut_all",
550  "ele #phi_{cl} - #phi_{tr}, prop from outermost, all reco electrons",
554  "#phi_{sc} - #phi_{tr} (rad)",
555  "Events",
556  "ELE_LOGY E1 P");
558  "TIP_all",
559  "ele vertex transverse radius, all reco electrons",
560  100,
561  0.,
562  0.2,
563  "r_{T} (cm)",
564  "Events",
565  "ELE_LOGY E1 P");
567  "HoE_all",
568  "ele hadronic energy / em energy, all reco electrons",
569  hoe_nbin,
570  hoe_min,
571  hoe_max,
572  "H/E",
573  "Events",
574  "ELE_LOGY E1 P");
576  "HoE_bc_all",
577  "ele hadronic energy / em energy, all reco electrons, behind cluster",
578  hoe_nbin,
579  hoe_min,
580  hoe_max,
581  "H/E",
582  "Events",
583  "ELE_LOGY E1 P");
585  "vertexEta_all",
586  "ele eta, all reco electrons",
587  eta_nbin,
588  eta_min,
589  eta_max,
590  "",
591  "Events",
592  "ELE_LOGY E1 P");
594  iBooker, "vertexPt_all", "ele p_{T}, all reco electrons", pteff_nbin, 5., pt_max, "", "Events", "ELE_LOGY E1 P");
596  "mee_all",
597  "ele pairs invariant mass, all reco electrons",
598  mee_nbin,
599  mee_min,
600  mee_max,
601  "m_{ee} (GeV/c^{2})");
602  h1_ele_mee_os = bookH1withSumw2(iBooker,
603  "mee_os",
604  "ele pairs invariant mass, opp. sign",
605  mee_nbin,
606  mee_min,
607  mee_max,
608  "m_{e^{+}e^{-}} (GeV/c^{2})");
609 
610  // duplicates
611  h2_ele_E2mnE1vsMee_all = bookH2(iBooker,
612  "E2mnE1vsMee_all",
613  "E2 - E1 vs ele pairs invariant mass, all electrons",
614  mee_nbin,
615  mee_min,
616  mee_max,
617  100,
618  -50.,
619  50.,
620  "m_{e^{+}e^{-}} (GeV/c^{2})",
621  "E2 - E1 (GeV)");
623  "E2mnE1vsMee_egeg_all",
624  "E2 - E1 vs ele pairs invariant mass, ecal driven pairs, all electrons",
625  mee_nbin,
626  mee_min,
627  mee_max,
628  100,
629  -50.,
630  50.,
631  "m_{e^{+}e^{-}} (GeV/c^{2})",
632  "E2 - E1 (GeV)");
633 
634  // matched electrons
635 
636  htitle = "Efficiency vs matching " + matchingObjectType + " ";
638  bookH1withSumw2(iBooker, "matchingObjectEta_matched", htitle + "#eta", eta_nbin, eta_min, eta_max);
640  bookH1withSumw2(iBooker, "matchingObjectAbsEta_matched", htitle + "|#eta|", eta_nbin / 2, 0., eta_max);
642  bookH1(iBooker, "matchingObjectPt_matched", htitle + "p_{T}", pteff_nbin, 5., pt_max);
644  bookH1withSumw2(iBooker, "matchingObjectPhi_matched", htitle + "phi", phi_nbin, phi_min, phi_max);
645  h1_ele_matchingObjectZ_matched = bookH1withSumw2(iBooker, "matchingObjectZ_matched", htitle + "z", xyz_nbin, -25, 25);
646 
647  h1_ele_charge = bookH1withSumw2(iBooker, "charge", "ele charge", 5, -2.5, 2.5, "charge");
648  h2_ele_chargeVsEta = bookH2(iBooker, "chargeVsEta", "ele charge vs eta", eta2D_nbin, eta_min, eta_max, 5, -2., 2.);
649  h2_ele_chargeVsPhi = bookH2(iBooker, "chargeVsPhi", "ele charge vs phi", phi2D_nbin, phi_min, phi_max, 5, -2., 2.);
650  h2_ele_chargeVsPt = bookH2(iBooker, "chargeVsPt", "ele charge vs pt", pt_nbin, 0., 100., 5, -2., 2.);
651  h1_ele_vertexP = bookH1withSumw2(iBooker, "vertexP", "ele momentum", p_nbin, 0., p_max, "p_{vertex} (GeV/c)");
653  bookH1withSumw2(iBooker, "vertexPt", "ele transverse momentum", pt_nbin, 0., pt_max, "p_{T vertex} (GeV/c)");
655  iBooker, "vertexPtVsEta", "ele transverse momentum vs eta", eta2D_nbin, eta_min, eta_max, pt2D_nbin, 0., pt_max);
657  iBooker, "vertexPtVsPhi", "ele transverse momentum vs phi", phi2D_nbin, phi_min, phi_max, pt2D_nbin, 0., pt_max);
658  h1_ele_vertexEta = bookH1withSumw2(iBooker, "vertexEta", "ele momentum eta", eta_nbin, eta_min, eta_max, "#eta");
660  iBooker, "vertexEtaVsPhi", "ele momentum eta vs phi", eta2D_nbin, eta_min, eta_max, phi2D_nbin, phi_min, phi_max);
662  bookH1withSumw2(iBooker, "vertexPhi", "ele momentum #phi", phi_nbin, phi_min, phi_max, "#phi (rad)");
663  h1_ele_vertexX = bookH1withSumw2(iBooker, "vertexX", "ele vertex x", xyz_nbin, -0.6, 0.6, "x (cm)");
664  h1_ele_vertexY = bookH1withSumw2(iBooker, "vertexY", "ele vertex y", xyz_nbin, -0.6, 0.6, "y (cm)");
665  h1_ele_vertexZ = bookH1withSumw2(iBooker, "vertexZ", "ele vertex z", xyz_nbin, -25, 25, "z (cm)");
667  "vertexTIP",
668  "ele transverse impact parameter (wrt gen vtx)",
669  90,
670  0.,
671  0.15,
672  "TIP (cm)",
673  "Events",
674  "ELE_LOGY E1 P");
675  h2_ele_vertexTIPVsEta = bookH2(iBooker,
676  "vertexTIPVsEta",
677  "ele transverse impact parameter (wrt gen vtx) vs eta",
678  eta2D_nbin,
679  eta_min,
680  eta_max,
681  45,
682  0.,
683  0.15,
684  "#eta",
685  "TIP (cm)");
686  h2_ele_vertexTIPVsPhi = bookH2(iBooker,
687  "vertexTIPVsPhi",
688  "ele transverse impact parameter (wrt gen vtx) vs phi",
689  phi2D_nbin,
690  phi_min,
691  phi_max,
692  45,
693  0.,
694  0.15,
695  "#phi (rad)",
696  "TIP (cm)");
697  h2_ele_vertexTIPVsPt = bookH2(iBooker,
698  "vertexTIPVsPt",
699  "ele transverse impact parameter (wrt gen vtx) vs transverse momentum",
700  pt2D_nbin,
701  0.,
702  pt_max,
703  45,
704  0.,
705  0.15,
706  "p_{T} (GeV/c)",
707  "TIP (cm)");
708 
709  htitle = "Electron / Matching " + matchingObjectType + ", momemtum";
710  xtitle = "P / P_{" + matchingObjectType + "}";
712  bookH1withSumw2(iBooker, "PoPmatchingObject", htitle, popmatching_nbin, popmatching_min, popmatching_max, xtitle);
714  "PoPmatchingObjectVsEta",
715  htitle + ",vs eta",
716  eta2D_nbin,
717  eta_min,
718  eta_max,
719  50,
723  "PoPmatchingObjectVsPhi",
724  htitle + ",vs phi",
725  phi2D_nbin,
726  phi_min,
727  phi_max,
728  50,
732  iBooker, "PoPmatchingObjectVsPt", htitle + ",vs eta", pt2D_nbin, 0., pt_max, 50, popmatching_min, popmatching_max);
734  "PoPmatchingObject_barrel",
735  htitle + ", barrel",
739  xtitle);
741  "PoPmatchingObject_endcaps",
742  htitle + ", endcaps",
746  xtitle);
747  htitle = "Ele - " + matchingObjectType + ", ";
748  xtitle = "#eta - #eta_{" + matchingObjectType + "}";
750  bookH1withSumw2(iBooker, "EtamatchingObjectEtaTrue", htitle + "eta", deta_nbin, deta_min, deta_max, xtitle);
752  "EtaMnEtamatchingObjectVsEta",
753  htitle + "eta, vs eta",
754  eta2D_nbin,
755  eta_min,
756  eta_max,
757  deta_nbin / 2,
758  deta_min,
759  deta_max);
761  "EtaMnEtamatchingObjectVsPhi",
762  htitle + "eta, vs phi",
763  phi2D_nbin,
764  phi_min,
765  phi_max,
766  deta_nbin / 2,
767  deta_min,
768  deta_max);
770  "EtaMnEtamatchingObjectVsPt",
771  htitle + "eta,, vs pt",
772  pt_nbin,
773  0.,
774  pt_max,
775  deta_nbin / 2,
776  deta_min,
777  deta_max);
778  xtitle = "#phi - #phi_{" + matchingObjectType + "} (rad)";
780  bookH1withSumw2(iBooker, "PhiMnPhimatchingObject", htitle + "phi", dphi_nbin, dphi_min, dphi_max, xtitle);
782  bookH1(iBooker, "PhiMnPhimatchingObject2", htitle + "phi", dphimatch2D_nbin, dphimatch_min, dphimatch_max);
784  "PhiMnPhimatchingObjectVsEta",
785  htitle + "phi, vs eta",
786  eta2D_nbin,
787  eta_min,
788  eta_max,
789  dphi_nbin / 2,
790  dphi_min,
791  dphi_max);
793  "PhiMnPhimatchingObjectVsPhi",
794  htitle + "phi, vs phi",
795  phi2D_nbin,
796  phi_min,
797  phi_max,
798  dphi_nbin / 2,
799  dphi_min,
800  dphi_max);
802  "PhiMnPhimatchingObjectVsPt",
803  htitle + "phi, vs pt",
804  pt2D_nbin,
805  0.,
806  pt_max,
807  dphi_nbin / 2,
808  dphi_min,
809  dphi_max);
810 
811  // matched electron, superclusters
812 
813  setBookPrefix("h_scl");
814 
815  h1_scl_En_ = bookH1withSumw2(iBooker, "energy", "ele supercluster energy", p_nbin, 0., p_max);
816  htitle = "Ele supercluster / " + matchingObjectType + ", energy";
817  xtitle = "E/E_{" + matchingObjectType + "}";
819  bookH1withSumw2(iBooker, "EoEmatchingObject_barrel", htitle + ", barrel", 50, 0.2, 1.2, xtitle);
821  bookH1withSumw2(iBooker, "EoEmatchingObject_endcaps", htitle + ", endcaps", 50, 0.2, 1.2, xtitle);
822  h1_scl_Et_ = bookH1withSumw2(iBooker, "et", "ele supercluster transverse energy", pt_nbin, 0., pt_max);
823  h2_scl_EtVsEta_ = bookH2(iBooker,
824  "etVsEta",
825  "ele supercluster transverse energy vs eta",
826  eta2D_nbin,
827  eta_min,
828  eta_max,
829  pt_nbin,
830  0.,
831  pt_max);
832  h2_scl_EtVsPhi_ = bookH2(iBooker,
833  "etVsPhi",
834  "ele supercluster transverse energy vs phi",
835  phi2D_nbin,
836  phi_min,
837  phi_max,
838  pt_nbin,
839  0.,
840  pt_max);
842  iBooker, "etaVsPhi", "ele supercluster eta vs phi", phi2D_nbin, phi_min, phi_max, eta2D_nbin, eta_min, eta_max);
843  h1_scl_Eta_ = bookH1withSumw2(iBooker, "eta", "ele supercluster eta", eta_nbin, eta_min, eta_max);
844  h1_scl_Phi_ = bookH1withSumw2(iBooker, "phi", "ele supercluster phi", phi_nbin, phi_min, phi_max);
846  "sigietaieta",
847  "ele supercluster sigma ieta ieta",
848  100,
849  0.,
850  0.05,
851  "#sigma_{i#eta i#eta}",
852  "Events",
853  "ELE_LOGY E1 P");
855  "sigietaieta_barrel",
856  "ele supercluster sigma ieta ieta, barrel",
857  100,
858  0.,
859  0.05,
860  "#sigma_{i#eta i#eta}",
861  "Events",
862  "ELE_LOGY E1 P");
864  "sigietaieta_endcaps",
865  "ele supercluster sigma ieta ieta, endcaps",
866  100,
867  0.,
868  0.05,
869  "#sigma_{i#eta i#eta}",
870  "Events",
871  "ELE_LOGY E1 P");
872  // new 2014.01.12
874  "full5x5_sigietaieta",
875  "ele supercluster full5x5 sigma ieta ieta",
876  100,
877  0.,
878  0.05,
879  "#sigma_{i#eta i#eta}",
880  "Events",
881  "ELE_LOGY E1 P");
883  "full5x5_sigietaieta_barrel",
884  "ele supercluster full5x5 sigma ieta ieta, barrel",
885  100,
886  0.,
887  0.05,
888  "#sigma_{i#eta i#eta}",
889  "Events",
890  "ELE_LOGY E1 P");
892  "full5x5_sigietaieta_endcaps",
893  "ele supercluster full5x5 sigma ieta ieta, endcaps",
894  100,
895  0.,
896  0.05,
897  "#sigma_{i#eta i#eta}",
898  "Events",
899  "ELE_LOGY E1 P");
900  // new 2014.01.12
902  iBooker, "E1x5", "ele supercluster energy in 1x5", p_nbin, 0., p_max, "E1x5 (GeV)", "Events", "ELE_LOGY E1 P");
904  "E1x5_barrel",
905  "ele supercluster energy in 1x5 barrel",
906  p_nbin,
907  0.,
908  p_max,
909  "E1x5 (GeV)",
910  "Events",
911  "ELE_LOGY E1 P");
913  "E1x5_endcaps",
914  "ele supercluster energy in 1x5 endcaps",
915  p_nbin,
916  0.,
917  p_max,
918  "E1x5 (GeV)",
919  "Events",
920  "ELE_LOGY E1 P");
922  "E2x5max",
923  "ele supercluster energy in 2x5 max",
924  p_nbin,
925  0.,
926  p_max,
927  "E2x5 (GeV)",
928  "Events",
929  "ELE_LOGY E1 P");
931  "E2x5max_barrel",
932  "ele supercluster energy in 2x5 _max barrel",
933  p_nbin,
934  0.,
935  p_max,
936  "E2x5 (GeV)",
937  "Events",
938  "ELE_LOGY E1 P");
940  "E2x5max_endcaps",
941  "ele supercluster energy in 2x5 _max endcaps",
942  p_nbin,
943  0.,
944  p_max,
945  "E2x5 (GeV)",
946  "Events",
947  "ELE_LOGY E1 P");
949  iBooker, "E5x5", "ele supercluster energy in 5x5", p_nbin, 0., p_max, "E5x5 (GeV)", "Events", "ELE_LOGY E1 P");
951  "E5x5_barrel",
952  "ele supercluster energy in 5x5 barrel",
953  p_nbin,
954  0.,
955  p_max,
956  "E5x5 (GeV)",
957  "Events",
958  "ELE_LOGY E1 P");
960  "E5x5_endcaps",
961  "ele supercluster energy in 5x5 endcaps",
962  p_nbin,
963  0.,
964  p_max,
965  "E5x5 (GeV)",
966  "Events",
967  "ELE_LOGY E1 P");
968 
969  // matched electron, gsf tracks
970 
971  setBookPrefix("h_ele");
972 
974  "ambiguousTracks",
975  "ele # ambiguous tracks",
976  5,
977  0.,
978  5.,
979  "N_{ambiguous tracks}",
980  "Events",
981  "ELE_LOGY E1 P");
983  iBooker, "ambiguousTracksVsEta", "ele # ambiguous tracks vs eta", eta2D_nbin, eta_min, eta_max, 5, 0., 5.);
985  iBooker, "ambiguousTracksVsPhi", "ele # ambiguous tracks vs phi", phi2D_nbin, phi_min, phi_max, 5, 0., 5.);
987  bookH2(iBooker, "ambiguousTracksVsPt", "ele # ambiguous tracks vs pt", pt2D_nbin, 0., pt_max, 5, 0., 5.);
989  bookH1withSumw2(iBooker, "foundHits", "ele track # found hits", fhits_nbin, 0., fhits_max, "N_{hits}");
990  h2_ele_foundHitsVsEta = bookH2(iBooker,
991  "foundHitsVsEta",
992  "ele track # found hits vs eta",
993  eta2D_nbin,
994  eta_min,
995  eta_max,
996  fhits_nbin,
997  0.,
998  fhits_max);
999  h2_ele_foundHitsVsPhi = bookH2(iBooker,
1000  "foundHitsVsPhi",
1001  "ele track # found hits vs phi",
1002  phi2D_nbin,
1003  phi_min,
1004  phi_max,
1005  fhits_nbin,
1006  0.,
1007  fhits_max);
1009  iBooker, "foundHitsVsPt", "ele track # found hits vs pt", pt2D_nbin, 0., pt_max, fhits_nbin, 0., fhits_max);
1010  h1_ele_lostHits = bookH1withSumw2(iBooker, "lostHits", "ele track # lost hits", 5, 0., 5., "N_{lost hits}");
1012  iBooker, "lostHitsVsEta", "ele track # lost hits vs eta", eta2D_nbin, eta_min, eta_max, lhits_nbin, 0., lhits_max);
1014  iBooker, "lostHitsVsPhi", "ele track # lost hits vs eta", phi2D_nbin, phi_min, phi_max, lhits_nbin, 0., lhits_max);
1016  bookH2(iBooker, "lostHitsVsPt", "ele track # lost hits vs eta", pt2D_nbin, 0., pt_max, lhits_nbin, 0., lhits_max);
1017  h1_ele_chi2 =
1018  bookH1withSumw2(iBooker, "chi2", "ele track #chi^{2}", 100, 0., 15., "#Chi^{2}", "Events", "ELE_LOGY E1 P");
1020  bookH2(iBooker, "chi2VsEta", "ele track #chi^{2} vs eta", eta2D_nbin, eta_min, eta_max, 50, 0., 15.);
1022  bookH2(iBooker, "chi2VsPhi", "ele track #chi^{2} vs phi", phi2D_nbin, phi_min, phi_max, 50, 0., 15.);
1023  h2_ele_chi2VsPt = bookH2(iBooker, "chi2VsPt", "ele track #chi^{2} vs pt", pt2D_nbin, 0., pt_max, 50, 0., 15.);
1025  "PinMnPout",
1026  "ele track inner p - outer p, mean of GSF components",
1027  p_nbin,
1028  0.,
1029  200.,
1030  "P_{vertex} - P_{out} (GeV/c)");
1032  "PinMnPout_mode",
1033  "ele track inner p - outer p, mode of GSF components",
1034  p_nbin,
1035  0.,
1036  100.,
1037  "P_{vertex} - P_{out}, mode of GSF components (GeV/c)");
1039  "PinMnPoutVsEta_mode",
1040  "ele track inner p - outer p vs eta, mode of GSF components",
1041  eta2D_nbin,
1042  eta_min,
1043  eta_max,
1044  p2D_nbin,
1045  0.,
1046  100.);
1048  "PinMnPoutVsPhi_mode",
1049  "ele track inner p - outer p vs phi, mode of GSF components",
1050  phi2D_nbin,
1051  phi_min,
1052  phi_max,
1053  p2D_nbin,
1054  0.,
1055  100.);
1057  "PinMnPoutVsPt_mode",
1058  "ele track inner p - outer p vs pt, mode of GSF components",
1059  pt2D_nbin,
1060  0.,
1061  pt_max,
1062  p2D_nbin,
1063  0.,
1064  100.);
1065  h2_ele_PinMnPoutVsE_mode = bookH2(iBooker,
1066  "PinMnPoutVsE_mode",
1067  "ele track inner p - outer p vs E, mode of GSF components",
1068  p2D_nbin,
1069  0.,
1070  200.,
1071  p2D_nbin,
1072  0.,
1073  100.);
1075  "PinMnPoutVsChi2_mode",
1076  "ele track inner p - outer p vs track chi2, mode of GSF components",
1077  50,
1078  0.,
1079  20.,
1080  p2D_nbin,
1081  0.,
1082  100.);
1084  iBooker, "outerP", "ele track outer p, mean of GSF components", p_nbin, 0., p_max, "P_{out} (GeV/c)");
1086  iBooker, "outerP_mode", "ele track outer p, mode of GSF components", p_nbin, 0., p_max, "P_{out} (GeV/c)");
1088  bookH2(iBooker, "outerPVsEta_mode", "ele track outer p vs eta mode", eta2D_nbin, eta_min, eta_max, 50, 0., p_max);
1090  iBooker, "outerPt", "ele track outer p_{T}, mean of GSF components", pt_nbin, 0., pt_max, "P_{T out} (GeV/c)");
1092  "outerPt_mode",
1093  "ele track outer p_{T}, mode of GSF components",
1094  pt_nbin,
1095  0.,
1096  pt_max,
1097  "P_{T out} (GeV/c)");
1098  h2_ele_outerPtVsEta_mode = bookH2(iBooker,
1099  "outerPtVsEta_mode",
1100  "ele track outer p_{T} vs eta, mode of GSF components",
1101  eta2D_nbin,
1102  eta_min,
1103  eta_max,
1104  pt2D_nbin,
1105  0.,
1106  pt_max);
1107  h2_ele_outerPtVsPhi_mode = bookH2(iBooker,
1108  "outerPtVsPhi_mode",
1109  "ele track outer p_{T} vs phi, mode of GSF components",
1110  phi2D_nbin,
1111  phi_min,
1112  phi_max,
1113  pt2D_nbin,
1114  0.,
1115  pt_max);
1116  h2_ele_outerPtVsPt_mode = bookH2(iBooker,
1117  "outerPtVsPt_mode",
1118  "ele track outer p_{T} vs pt, mode of GSF components",
1119  pt2D_nbin,
1120  0.,
1121  100.,
1122  pt2D_nbin,
1123  0.,
1124  pt_max);
1125 
1126  // matched electrons, matching
1128  iBooker, "EoP", "ele E/P_{vertex}", eop_nbin, 0., eop_max, "E/P_{vertex}", "Events", "ELE_LOGY E1 P");
1130  "EoP_barrel",
1131  "ele E/P_{vertex} barrel",
1132  eop_nbin,
1133  0.,
1134  eop_max,
1135  "E/P_{vertex}",
1136  "Events",
1137  "ELE_LOGY E1 P");
1139  "EoP_endcaps",
1140  "ele E/P_{vertex} endcaps",
1141  eop_nbin,
1142  0.,
1143  eop_max,
1144  "E/P_{vertex}",
1145  "Events",
1146  "ELE_LOGY E1 P");
1147  h2_ele_EoPVsEta =
1148  bookH2(iBooker, "EoPVsEta", "ele E/P_{vertex} vs eta", eta2D_nbin, eta_min, eta_max, eop2D_nbin, 0., eopmaxsht);
1149  h2_ele_EoPVsPhi =
1150  bookH2(iBooker, "EoPVsPhi", "ele E/P_{vertex} vs phi", phi2D_nbin, phi_min, phi_max, eop2D_nbin, 0., eopmaxsht);
1151  h2_ele_EoPVsE = bookH2(iBooker, "EoPVsE", "ele E/P_{vertex} vs E", 50, 0., p_max, 50, 0., 5.);
1152  h1_ele_EseedOP = bookH1withSumw2(iBooker,
1153  "EseedOP",
1154  "ele E_{seed}/P_{vertex}",
1155  eop_nbin,
1156  0.,
1157  eop_max,
1158  "E_{seed}/P_{vertex}",
1159  "Events",
1160  "ELE_LOGY E1 P");
1162  "EseedOP_barrel",
1163  "ele E_{seed}/P_{vertex} barrel",
1164  eop_nbin,
1165  0.,
1166  eop_max,
1167  "E_{seed}/P_{vertex}",
1168  "Events",
1169  "ELE_LOGY E1 P");
1171  "EseedOP_endcaps",
1172  "ele E_{seed}/P_{vertex} endcaps",
1173  eop_nbin,
1174  0.,
1175  eop_max,
1176  "E_{seed}/P_{vertex}",
1177  "Events",
1178  "ELE_LOGY E1 P");
1179  h2_ele_EseedOPVsEta = bookH2(iBooker,
1180  "EseedOPVsEta",
1181  "ele E_{seed}/P_{vertex} vs eta",
1182  eta2D_nbin,
1183  eta_min,
1184  eta_max,
1185  eop2D_nbin,
1186  0.,
1187  eopmaxsht);
1188  h2_ele_EseedOPVsPhi = bookH2(iBooker,
1189  "EseedOPVsPhi",
1190  "ele E_{seed}/P_{vertex} vs phi",
1191  phi2D_nbin,
1192  phi_min,
1193  phi_max,
1194  eop2D_nbin,
1195  0.,
1196  eopmaxsht);
1197  h2_ele_EseedOPVsE = bookH2(iBooker, "EseedOPVsE", "ele E_{seed}/P_{vertex} vs E", 50, 0., p_max, 50, 0., 5.);
1199  iBooker, "EoPout", "ele E_{seed}/P_{out}", eop_nbin, 0., eop_max, "E_{seed}/P_{out}", "Events", "ELE_LOGY E1 P");
1201  "EoPout_barrel",
1202  "ele E_{seed}/P_{out} barrel",
1203  eop_nbin,
1204  0.,
1205  eop_max,
1206  "E_{seed}/P_{out}",
1207  "Events",
1208  "ELE_LOGY E1 P");
1210  "EoPout_endcaps",
1211  "ele E_{seed}/P_{out} endcaps",
1212  eop_nbin,
1213  0.,
1214  eop_max,
1215  "E_{seed}/P_{out}",
1216  "Events",
1217  "ELE_LOGY E1 P");
1219  iBooker, "EoPoutVsEta", "ele E_{seed}/P_{out} vs eta", eta2D_nbin, eta_min, eta_max, eop2D_nbin, 0., eopmaxsht);
1221  iBooker, "EoPoutVsPhi", "ele E_{seed}/P_{out} vs phi", phi2D_nbin, phi_min, phi_max, eop2D_nbin, 0., eopmaxsht);
1223  bookH2(iBooker, "EoPoutVsE", "ele E_{seed}/P_{out} vs E", p2D_nbin, 0., p_max, eop2D_nbin, 0., eopmaxsht);
1225  iBooker, "EeleOPout", "ele E_{ele}/P_{out}", eop_nbin, 0., eop_max, "E_{ele}/P_{out}", "Events", "ELE_LOGY E1 P");
1227  "EeleOPout_barrel",
1228  "ele E_{ele}/P_{out} barrel",
1229  eop_nbin,
1230  0.,
1231  eop_max,
1232  "E_{ele}/P_{out}",
1233  "Events",
1234  "ELE_LOGY E1 P");
1236  "EeleOPout_endcaps",
1237  "ele E_{ele}/P_{out} endcaps",
1238  eop_nbin,
1239  0.,
1240  eop_max,
1241  "E_{ele}/P_{out}",
1242  "Events",
1243  "ELE_LOGY E1 P");
1245  iBooker, "EeleOPoutVsEta", "ele E_{ele}/P_{out} vs eta", eta2D_nbin, eta_min, eta_max, eop2D_nbin, 0., eopmaxsht);
1247  iBooker, "EeleOPoutVsPhi", "ele E_{ele}/P_{out} vs phi", phi2D_nbin, phi_min, phi_max, eop2D_nbin, 0., eopmaxsht);
1249  bookH2(iBooker, "EeleOPoutVsE", "ele E_{ele}/P_{out} vs E", p2D_nbin, 0., p_max, eop2D_nbin, 0., eopmaxsht);
1251  "dEtaSc_propVtx",
1252  "ele #eta_{sc} - #eta_{tr}, prop from vertex",
1254  detamatch_min,
1255  detamatch_max,
1256  "#eta_{sc} - #eta_{tr}",
1257  "Events",
1258  "ELE_LOGY E1 P");
1260  "dEtaSc_propVtx_barrel",
1261  "ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel",
1263  detamatch_min,
1264  detamatch_max,
1265  "#eta_{sc} - #eta_{tr}",
1266  "Events",
1267  "ELE_LOGY E1 P");
1269  "dEtaSc_propVtx_endcaps",
1270  "ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps",
1272  detamatch_min,
1273  detamatch_max,
1274  "#eta_{sc} - #eta_{tr}",
1275  "Events",
1276  "ELE_LOGY E1 P");
1278  "dEtaScVsEta_propVtx",
1279  "ele #eta_{sc} - #eta_{tr} vs eta, prop from vertex",
1280  eta2D_nbin,
1281  eta_min,
1282  eta_max,
1284  detamatch_min,
1285  detamatch_max);
1287  "dEtaScVsPhi_propVtx",
1288  "ele #eta_{sc} - #eta_{tr} vs phi, prop from vertex",
1289  phi2D_nbin,
1290  phi_min,
1291  phi_max,
1293  detamatch_min,
1294  detamatch_max);
1296  "dEtaScVsPt_propVtx",
1297  "ele #eta_{sc} - #eta_{tr} vs pt, prop from vertex",
1298  pt2D_nbin,
1299  0.,
1300  pt_max,
1302  detamatch_min,
1303  detamatch_max);
1305  "dPhiSc_propVtx",
1306  "ele #phi_{sc} - #phi_{tr}, prop from vertex",
1308  dphimatch_min,
1309  dphimatch_max,
1310  "#phi_{sc} - #phi_{tr} (rad)",
1311  "Events",
1312  "ELE_LOGY E1 P");
1314  "dPhiSc_propVtx_barrel",
1315  "ele #phi_{sc} - #phi_{tr}, prop from vertex, barrel",
1317  dphimatch_min,
1318  dphimatch_max,
1319  "#phi_{sc} - #phi_{tr} (rad)",
1320  "Events",
1321  "ELE_LOGY E1 P");
1323  "dPhiSc_propVtx_endcaps",
1324  "ele #phi_{sc} - #phi_{tr}, prop from vertex, endcaps",
1326  dphimatch_min,
1327  dphimatch_max,
1328  "#phi_{sc} - #phi_{tr} (rad)",
1329  "Events",
1330  "ELE_LOGY E1 P");
1332  "dPhiScVsEta_propVtx",
1333  "ele #phi_{sc} - #phi_{tr} vs eta, prop from vertex",
1334  eta2D_nbin,
1335  eta_min,
1336  eta_max,
1338  dphimatch_min,
1339  dphimatch_max);
1341  "dPhiScVsPhi_propVtx",
1342  "ele #phi_{sc} - #phi_{tr} vs phi, prop from vertex",
1343  phi2D_nbin,
1344  phi_min,
1345  phi_max,
1347  dphimatch_min,
1348  dphimatch_max);
1350  "dPhiScVsPt_propVtx",
1351  "ele #phi_{sc} - #phi_{tr} vs pt, prop from vertex",
1352  pt2D_nbin,
1353  0.,
1354  pt_max,
1356  dphimatch_min,
1357  dphimatch_max);
1359  "dEtaCl_propOut",
1360  "ele #eta_{cl} - #eta_{tr}, prop from outermost",
1362  detamatch_min,
1363  detamatch_max,
1364  "#eta_{seedcl} - #eta_{tr}",
1365  "Events",
1366  "ELE_LOGY E1 P");
1368  "dEtaCl_propOut_barrel",
1369  "ele #eta_{cl} - #eta_{tr}, prop from outermost, barrel",
1371  detamatch_min,
1372  detamatch_max,
1373  "#eta_{seedcl} - #eta_{tr}",
1374  "Events",
1375  "ELE_LOGY E1 P");
1377  "dEtaCl_propOut_endcaps",
1378  "ele #eta_{cl} - #eta_{tr}, prop from outermost, endcaps",
1380  detamatch_min,
1381  detamatch_max,
1382  "#eta_{seedcl} - #eta_{tr}",
1383  "Events",
1384  "ELE_LOGY E1 P");
1386  "dEtaClVsEta_propOut",
1387  "ele #eta_{cl} - #eta_{tr} vs eta, prop from out",
1388  eta2D_nbin,
1389  eta_min,
1390  eta_max,
1392  detamatch_min,
1393  detamatch_max);
1395  "dEtaClVsPhi_propOut",
1396  "ele #eta_{cl} - #eta_{tr} vs phi, prop from out",
1397  phi2D_nbin,
1398  phi_min,
1399  phi_max,
1401  detamatch_min,
1402  detamatch_max);
1404  "dEtaScVsPt_propOut",
1405  "ele #eta_{cl} - #eta_{tr} vs pt, prop from out",
1406  pt2D_nbin,
1407  0.,
1408  pt_max,
1410  detamatch_min,
1411  detamatch_max);
1413  "dPhiCl_propOut",
1414  "ele #phi_{cl} - #phi_{tr}, prop from outermost",
1416  dphimatch_min,
1417  dphimatch_max,
1418  "#phi_{seedcl} - #phi_{tr} (rad)",
1419  "Events",
1420  "ELE_LOGY E1 P");
1422  "dPhiCl_propOut_barrel",
1423  "ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel",
1425  dphimatch_min,
1426  dphimatch_max,
1427  "#phi_{seedcl} - #phi_{tr} (rad)",
1428  "Events",
1429  "ELE_LOGY E1 P");
1431  "dPhiCl_propOut_endcaps",
1432  "ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps",
1434  dphimatch_min,
1435  dphimatch_max,
1436  "#phi_{seedcl} - #phi_{tr} (rad)",
1437  "Events",
1438  "ELE_LOGY E1 P");
1440  "dPhiClVsEta_propOut",
1441  "ele #phi_{cl} - #phi_{tr} vs eta, prop from out",
1442  eta2D_nbin,
1443  eta_min,
1444  eta_max,
1446  dphimatch_min,
1447  dphimatch_max);
1449  "dPhiClVsPhi_propOut",
1450  "ele #phi_{cl} - #phi_{tr} vs phi, prop from out",
1451  phi2D_nbin,
1452  phi_min,
1453  phi_max,
1455  dphimatch_min,
1456  dphimatch_max);
1458  "dPhiSClsPt_propOut",
1459  "ele #phi_{cl} - #phi_{tr} vs pt, prop from out",
1460  pt2D_nbin,
1461  0.,
1462  pt_max,
1464  dphimatch_min,
1465  dphimatch_max);
1467  "dEtaEleCl_propOut",
1468  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost",
1470  detamatch_min,
1471  detamatch_max,
1472  "#eta_{elecl} - #eta_{tr}",
1473  "Events",
1474  "ELE_LOGY E1 P");
1476  "dEtaEleCl_propOut_barrel",
1477  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, barrel",
1479  detamatch_min,
1480  detamatch_max,
1481  "#eta_{elecl} - #eta_{tr}",
1482  "Events",
1483  "ELE_LOGY E1 P");
1485  "dEtaEleCl_propOut_endcaps",
1486  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, endcaps",
1488  detamatch_min,
1489  detamatch_max,
1490  "#eta_{elecl} - #eta_{tr}",
1491  "Events",
1492  "ELE_LOGY E1 P");
1494  "dEtaEleClVsEta_propOut",
1495  "ele #eta_{EleCl} - #eta_{tr} vs eta, prop from out",
1496  eta2D_nbin,
1497  eta_min,
1498  eta_max,
1500  detamatch_min,
1501  detamatch_max);
1503  "dEtaEleClVsPhi_propOut",
1504  "ele #eta_{EleCl} - #eta_{tr} vs phi, prop from out",
1505  phi2D_nbin,
1506  phi_min,
1507  phi_max,
1509  detamatch_min,
1510  detamatch_max);
1512  "dEtaScVsPt_propOut",
1513  "ele #eta_{EleCl} - #eta_{tr} vs pt, prop from out",
1514  pt2D_nbin,
1515  0.,
1516  pt_max,
1518  detamatch_min,
1519  detamatch_max);
1521  "dPhiEleCl_propOut",
1522  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost",
1524  dphimatch_min,
1525  dphimatch_max,
1526  "#phi_{elecl} - #phi_{tr} (rad)",
1527  "Events",
1528  "ELE_LOGY E1 P");
1530  "dPhiEleCl_propOut_barrel",
1531  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, barrel",
1533  dphimatch_min,
1534  dphimatch_max,
1535  "#phi_{elecl} - #phi_{tr} (rad)",
1536  "Events",
1537  "ELE_LOGY E1 P");
1539  "dPhiEleCl_propOut_endcaps",
1540  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, endcaps",
1542  dphimatch_min,
1543  dphimatch_max,
1544  "#phi_{elecl} - #phi_{tr} (rad)",
1545  "Events",
1546  "ELE_LOGY E1 P");
1548  "dPhiEleClVsEta_propOut",
1549  "ele #phi_{EleCl} - #phi_{tr} vs eta, prop from out",
1550  eta2D_nbin,
1551  eta_min,
1552  eta_max,
1554  dphimatch_min,
1555  dphimatch_max);
1557  "dPhiEleClVsPhi_propOut",
1558  "ele #phi_{EleCl} - #phi_{tr} vs phi, prop from out",
1559  phi2D_nbin,
1560  phi_min,
1561  phi_max,
1563  dphimatch_min,
1564  dphimatch_max);
1566  "dPhiSEleClsPt_propOut",
1567  "ele #phi_{EleCl} - #phi_{tr} vs pt, prop from out",
1568  pt2D_nbin,
1569  0.,
1570  pt_max,
1572  dphimatch_min,
1573  dphimatch_max);
1575  iBooker, "HoE", "ele hadronic energy / em energy", hoe_nbin, hoe_min, hoe_max, "H/E", "Events", "ELE_LOGY E1 P");
1577  "HoE_barrel",
1578  "ele hadronic energy / em energy, barrel",
1579  hoe_nbin,
1580  hoe_min,
1581  hoe_max,
1582  "H/E",
1583  "Events",
1584  "ELE_LOGY E1 P");
1586  "HoE_endcaps",
1587  "ele hadronic energy / em energy, endcaps",
1588  hoe_nbin,
1589  hoe_min,
1590  hoe_max,
1591  "H/E",
1592  "Events",
1593  "ELE_LOGY E1 P");
1594  h1_ele_HoE_bc = bookH1withSumw2(iBooker,
1595  "HoE_bc",
1596  "ele hadronic energy / em energy behind cluster",
1597  hoe_nbin,
1598  hoe_min,
1599  hoe_max,
1600  "H/E",
1601  "Events",
1602  "ELE_LOGY E1 P");
1604  "HoE_bc_barrel",
1605  "ele hadronic energy / em energy, behind cluster barrel",
1606  hoe_nbin,
1607  hoe_min,
1608  hoe_max,
1609  "H/E",
1610  "Events",
1611  "ELE_LOGY E1 P");
1613  "HoE_bc_endcaps",
1614  "ele hadronic energy / em energy, behind cluster, endcaps",
1615  hoe_nbin,
1616  hoe_min,
1617  hoe_max,
1618  "H/E",
1619  "Events",
1620  "ELE_LOGY E1 P");
1622  "hcalDepth1OverEcalBc",
1623  "hcalDepth1OverEcalBc",
1624  hoe_nbin,
1625  hoe_min,
1626  hoe_max,
1627  "H/E",
1628  "Events",
1629  "ELE_LOGY E1 P");
1631  "hcalDepth1OverEcalBc_barrel",
1632  "hcalDepth1OverEcalBc_barrel",
1633  hoe_nbin,
1634  hoe_min,
1635  hoe_max,
1636  "H/E",
1637  "Events",
1638  "ELE_LOGY E1 P");
1640  "hcalDepth1OverEcalBc_endcaps",
1641  "hcalDepth1OverEcalBc_endcaps",
1642  hoe_nbin,
1643  hoe_min,
1644  hoe_max,
1645  "H/E",
1646  "Events",
1647  "ELE_LOGY E1 P");
1649  "hcalDepth2OverEcalBc",
1650  "hcalDepth2OverEcalBc",
1651  hoe_nbin,
1652  hoe_min,
1653  hoe_max,
1654  "H/E",
1655  "Events",
1656  "ELE_LOGY E1 P");
1658  "hcalDepth2OverEcalBc_barrel",
1659  "hcalDepth2OverEcalBc_barrel",
1660  hoe_nbin,
1661  hoe_min,
1662  hoe_max,
1663  "H/E",
1664  "Events",
1665  "ELE_LOGY E1 P");
1667  "hcalDepth2OverEcalBc_endcaps",
1668  "hcalDepth2OverEcalBc_endcaps",
1669  hoe_nbin,
1670  hoe_min,
1671  hoe_max,
1672  "H/E",
1673  "Events",
1674  "ELE_LOGY E1 P");
1676  "HoE_fiducial",
1677  "ele hadronic energy / em energy, fiducial region",
1678  hoe_nbin,
1679  hoe_min,
1680  hoe_max,
1681  "H/E",
1682  "Events",
1683  "ELE_LOGY E1 P");
1684  h2_ele_HoEVsEta = bookH2(iBooker,
1685  "HoEVsEta",
1686  "ele hadronic energy / em energy vs eta",
1687  eta_nbin,
1688  eta_min,
1689  eta_max,
1690  hoe_nbin,
1691  hoe_min,
1692  hoe_max);
1693  h2_ele_HoEVsPhi = bookH2(iBooker,
1694  "HoEVsPhi",
1695  "ele hadronic energy / em energy vs phi",
1696  phi2D_nbin,
1697  phi_min,
1698  phi_max,
1699  hoe_nbin,
1700  hoe_min,
1701  hoe_max);
1702  h2_ele_HoEVsE =
1703  bookH2(iBooker, "HoEVsE", "ele hadronic energy / em energy vs E", p_nbin, 0., 300., hoe_nbin, hoe_min, hoe_max);
1704  setBookPrefix("h_scl");
1705  // h1_scl_ESFrac = bookH1withSumw2(iBooker, "ESFrac","Preshower over SC raw energy",100,0.,0.8,"E_{PS} / E^{raw}_{SC}","Events","ELE_LOGY E1 P");
1707  "ESFrac_endcaps",
1708  "Preshower over SC raw energy , endcaps",
1709  100,
1710  0.,
1711  0.8,
1712  "E_{PS} / E^{raw}_{SC}",
1713  "Events",
1714  "ELE_LOGY E1 P");
1715 
1716  // seeds
1717  setBookPrefix("h_ele");
1719  bookH1withSumw2(iBooker, "seedSubdet2", "ele seed subdet 2nd layer", 11, -0.5, 10.5, "2nd hit subdet Id");
1720  h1_ele_seed_mask_ = bookH1withSumw2(iBooker, "seedMask", "ele seed hits mask", 13, -0.5, 12.5);
1722  bookH1withSumw2(iBooker, "seedMask_Bpix", "ele seed hits mask when subdet2 is bpix", 13, -0.5, 12.5);
1724  bookH1withSumw2(iBooker, "seedMask_Fpix", "ele seed hits mask when subdet2 is bpix", 13, -0.5, 12.5);
1726  bookH1withSumw2(iBooker, "seedMask_Tec", "ele seed hits mask when subdet2 is bpix", 13, -0.5, 12.5);
1728  iBooker, "seedDphi2", "ele seed dphi 2nd layer", 50, -0.003, +0.003, "#phi_{hit}-#phi_{pred} (rad)");
1730  iBooker, "seedDphi2_VsEta", "ele seed dphi 2nd layer vs eta", eta2D_nbin, eta_min, eta_max, 50, -0.003, +0.003);
1732  bookH2(iBooker, "seedDphi2_VsPt", "ele seed dphi 2nd layer vs pt", pt2D_nbin, 0., pt_max, 50, -0.003, +0.003);
1734  iBooker, "seedDphi2Pos", "ele seed dphi 2nd layer positron", 50, -0.003, +0.003, "#phi_{hit}-#phi_{pred} (rad)");
1736  "seedDphi2Pos_VsEta",
1737  "ele seed dphi 2nd layer positron vs eta",
1738  eta2D_nbin,
1739  eta_min,
1740  eta_max,
1741  50,
1742  -0.003,
1743  +0.003);
1745  iBooker, "seedDphi2Pos_VsPt", "ele seed dphi 2nd layer positron vs pt", pt2D_nbin, 0., pt_max, 50, -0.003, +0.003);
1747  iBooker, "seedDrz2", "ele seed dr (dz) 2nd layer", 50, -0.03, +0.03, "r(z)_{hit}-r(z)_{pred} (cm)");
1749  iBooker, "seedDrz2_VsEta", "ele seed dr/dz 2nd layer vs eta", eta2D_nbin, eta_min, eta_max, 50, -0.03, +0.03);
1751  bookH2(iBooker, "seedDrz2_VsPt", "ele seed dr/dz 2nd layer vs pt", pt2D_nbin, 0., pt_max, 50, -0.03, +0.03);
1753  iBooker, "seedDrz2Pos", "ele seed dr (dz) 2nd layer positron", 50, -0.03, +0.03, "r(z)_{hit}-r(z)_{pred} (cm)");
1755  "seedDrz2Pos_VsEta",
1756  "ele seed dr/dz 2nd layer positron vs eta",
1757  eta2D_nbin,
1758  eta_min,
1759  eta_max,
1760  50,
1761  -0.03,
1762  +0.03);
1764  iBooker, "seedDrz2Pos_VsPt", "ele seed dr/dz 2nd layer positron vs pt", pt2D_nbin, 0., pt_max, 50, -0.03, +0.03);
1765 
1766  // classes
1767  h1_ele_classes = bookH1withSumw2(iBooker, "classes", "ele classes", 20, 0.0, 20., "class Id");
1768  h1_ele_eta = bookH1withSumw2(iBooker, "eta", "ele electron eta", eta_nbin / 2, 0.0, eta_max);
1769  h1_ele_eta_golden = bookH1withSumw2(iBooker, "eta_golden", "ele electron eta golden", eta_nbin / 2, 0.0, eta_max);
1770  h1_ele_eta_bbrem = bookH1withSumw2(iBooker, "eta_bbrem", "ele electron eta bbrem", eta_nbin / 2, 0.0, eta_max);
1771  h1_ele_eta_shower = bookH1withSumw2(iBooker, "eta_shower", "ele electron eta showering", eta_nbin / 2, 0.0, eta_max);
1773  "PinVsPoutGolden_mode",
1774  "ele track inner p vs outer p vs eta, golden, mode of GSF components",
1775  p2D_nbin,
1776  0.,
1777  p_max,
1778  50,
1779  0.,
1780  p_max);
1782  "PinVsPoutShowering_mode",
1783  "ele track inner p vs outer p vs eta, showering, mode of GSF components",
1784  p2D_nbin,
1785  0.,
1786  p_max,
1787  50,
1788  0.,
1789  p_max);
1791  "PinVsPoutGolden_mean",
1792  "ele track inner p vs outer p vs eta, golden, mean of GSF components",
1793  p2D_nbin,
1794  0.,
1795  p_max,
1796  50,
1797  0.,
1798  p_max);
1800  "PinVsPoutShowering_mean",
1801  "ele track inner p vs outer p vs eta, showering, mean of GSF components",
1802  p2D_nbin,
1803  0.,
1804  p_max,
1805  50,
1806  0.,
1807  p_max);
1809  "PtinVsPtoutGolden_mode",
1810  "ele track inner pt vs outer pt vs eta, golden, mode of GSF components",
1811  pt2D_nbin,
1812  0.,
1813  pt_max,
1814  50,
1815  0.,
1816  pt_max);
1818  "PtinVsPtoutShowering_mode",
1819  "ele track inner pt vs outer pt vs eta, showering, mode of GSF components",
1820  pt2D_nbin,
1821  0.,
1822  pt_max,
1823  50,
1824  0.,
1825  pt_max);
1827  "PtinVsPtoutGolden_mean",
1828  "ele track inner pt vs outer pt vs eta, golden, mean of GSF components",
1829  pt2D_nbin,
1830  0.,
1831  pt_max,
1832  50,
1833  0.,
1834  pt_max);
1836  "PtinVsPtoutShowering_mean",
1837  "ele track inner pt vs outer pt vs eta, showering, mean of GSF components",
1838  pt2D_nbin,
1839  0.,
1840  pt_max,
1841  50,
1842  0.,
1843  pt_max);
1844  setBookPrefix("h_scl");
1846  "EoEmatchingObject_golden_barrel",
1847  "ele supercluster energy / gen energy, golden, barrel",
1850  popmatching_max);
1852  "EoEmatchingObject_golden_endcaps",
1853  "ele supercluster energy / gen energy, golden, endcaps",
1856  popmatching_max);
1858  "EoEmatchingObject_showering_barrel",
1859  "ele supercluster energy / gen energy, showering, barrel",
1862  popmatching_max);
1864  bookH1withSumw2(iBooker,
1865  "EoEmatchingObject_showering_endcaps",
1866  "ele supercluster energy / gen energy, showering, endcaps",
1869  popmatching_max);
1870  setBookPrefix("h_ele");
1871 
1872  // isolation
1874  "tkSumPt_dr03",
1875  "tk isolation sum, dR=0.3",
1876  100,
1877  0.0,
1878  20.,
1879  "TkIsoSum, cone 0.3 (GeV/c)",
1880  "Events",
1881  "ELE_LOGY E1 P");
1883  "tkSumPt_dr03_barrel",
1884  "tk isolation sum, dR=0.3, barrel",
1885  100,
1886  0.0,
1887  20.,
1888  "TkIsoSum, cone 0.3 (GeV/c)",
1889  "Events",
1890  "ELE_LOGY E1 P");
1892  "tkSumPt_dr03_endcaps",
1893  "tk isolation sum, dR=0.3, endcaps",
1894  100,
1895  0.0,
1896  20.,
1897  "TkIsoSum, cone 0.3 (GeV/c)",
1898  "Events",
1899  "ELE_LOGY E1 P");
1901  "ecalRecHitSumEt_dr03",
1902  "ecal isolation sum, dR=0.3",
1903  100,
1904  0.0,
1905  20.,
1906  "EcalIsoSum, cone 0.3 (GeV)",
1907  "Events",
1908  "ELE_LOGY E1 P");
1910  "ecalRecHitSumEt_dr03_barrel",
1911  "ecal isolation sum, dR=0.3, barrel",
1912  100,
1913  0.0,
1914  20.,
1915  "EcalIsoSum, cone 0.3 (GeV)",
1916  "Events",
1917  "ELE_LOGY E1 P");
1919  "ecalRecHitSumEt_dr03_endcaps",
1920  "ecal isolation sum, dR=0.3, endcaps",
1921  100,
1922  0.0,
1923  20.,
1924  "EcalIsoSum, cone 0.3 (GeV)",
1925  "Events",
1926  "ELE_LOGY E1 P");
1928  "hcalTowerSumEt_dr03_depth1",
1929  "hcal depth1 isolation sum, dR=0.3",
1930  100,
1931  0.0,
1932  20.,
1933  "Hcal1IsoSum, cone 0.3 (GeV)",
1934  "Events",
1935  "ELE_LOGY E1 P");
1937  "hcalTowerSumEt_dr03_depth1_barrel",
1938  "hcal depth1 isolation sum, dR=0.3, barrel",
1939  100,
1940  0.0,
1941  20.,
1942  "Hcal1IsoSum, cone 0.3 (GeV)",
1943  "Events",
1944  "ELE_LOGY E1 P");
1946  "hcalTowerSumEt_dr03_depth1_endcaps",
1947  "hcal depth1 isolation sum, dR=0.3, endcaps",
1948  100,
1949  0.0,
1950  20.,
1951  "Hcal1IsoSum, cone 0.3 (GeV)",
1952  "Events",
1953  "ELE_LOGY E1 P");
1955  "hcalTowerSumEt_dr03_depth2",
1956  "hcal depth2 isolation sum, dR=0.3",
1957  100,
1958  0.0,
1959  20.,
1960  "Hcal2IsoSum, cone 0.3 (GeV)",
1961  "Events",
1962  "ELE_LOGY E1 P");
1964  "tkSumPt_dr04",
1965  "tk isolation sum, dR=0.4",
1966  100,
1967  0.0,
1968  20.,
1969  "TkIsoSum, cone 0.4 (GeV/c)",
1970  "Events",
1971  "ELE_LOGY E1 P");
1973  "tkSumPt_dr04_barrel",
1974  "tk isolation sum, dR=0.4, barrel",
1975  100,
1976  0.0,
1977  20.,
1978  "TkIsoSum, cone 0.4 (GeV/c)",
1979  "Events",
1980  "ELE_LOGY E1 P");
1982  "tkSumPt_dr04_endcaps",
1983  "tk isolation sum, dR=0.4, endcaps",
1984  100,
1985  0.0,
1986  20.,
1987  "TkIsoSum, cone 0.4 (GeV/c)",
1988  "Events",
1989  "ELE_LOGY E1 P");
1991  "ecalRecHitSumEt_dr04",
1992  "ecal isolation sum, dR=0.4",
1993  100,
1994  0.0,
1995  20.,
1996  "EcalIsoSum, cone 0.4 (GeV)",
1997  "Events",
1998  "ELE_LOGY E1 P");
2000  "ecalRecHitSumEt_dr04_barrel",
2001  "ecal isolation sum, dR=0.4, barrel",
2002  100,
2003  0.0,
2004  20.,
2005  "EcalIsoSum, cone 0.4 (GeV)",
2006  "Events",
2007  "ELE_LOGY E1 P");
2009  "ecalRecHitSumEt_dr04_endcaps",
2010  "ecal isolation sum, dR=0.4, endcaps",
2011  100,
2012  0.0,
2013  20.,
2014  "EcalIsoSum, cone 0.4 (GeV)",
2015  "Events",
2016  "ELE_LOGY E1 P");
2018  "hcalTowerSumEt_dr04_depth1",
2019  "hcal depth1 isolation sum, dR=0.4",
2020  100,
2021  0.0,
2022  20.,
2023  "Hcal1IsoSum, cone 0.4 (GeV)",
2024  "Events",
2025  "ELE_LOGY E1 P");
2027  "hcalTowerSumEt_dr04_depth1_barrel",
2028  "hcal depth1 isolation sum, dR=0.4, barrel",
2029  100,
2030  0.0,
2031  20.,
2032  "Hcal1IsoSum, cone 0.4 (GeV)",
2033  "Events",
2034  "ELE_LOGY E1 P");
2036  "hcalTowerSumEt_dr04_depth1_endcaps",
2037  "hcal depth1 isolation sum, dR=0.4, endcaps",
2038  100,
2039  0.0,
2040  20.,
2041  "Hcal1IsoSum, cone 0.4 (GeV)",
2042  "Events",
2043  "ELE_LOGY E1 P");
2045  "hcalTowerSumEt_dr04_depth2",
2046  "hcal depth2 isolation sum, dR=0.4",
2047  100,
2048  0.0,
2049  20.,
2050  "Hcal2IsoSum, cone 0.4 (GeV)",
2051  "Events",
2052  "ELE_LOGY E1 P");
2053 
2054  // newHCAL
2055  // isolation new hcal
2057  "hcalTowerSumEtBc_dr03_depth1",
2058  "hcal depth1 isolation sum behind cluster, dR=0.3",
2059  100,
2060  0.0,
2061  20.,
2062  "Hcal1IsoSum, cone 0.3 (GeV)",
2063  "Events",
2064  "ELE_LOGY E1 P");
2066  bookH1withSumw2(iBooker,
2067  "hcalTowerSumEtBc_dr03_depth1_barrel",
2068  "hcal depth1 isolation sum behind cluster, dR=0.3, barrel",
2069  100,
2070  0.0,
2071  20.,
2072  "Hcal1IsoSum, cone 0.3 (GeV)",
2073  "Events",
2074  "ELE_LOGY E1 P");
2076  bookH1withSumw2(iBooker,
2077  "hcalTowerSumEtBc_dr03_depth1_endcaps",
2078  "hcal depth1 isolation sum behind cluster, dR=0.3, endcaps",
2079  100,
2080  0.0,
2081  20.,
2082  "Hcal1IsoSum, cone 0.3 (GeV)",
2083  "Events",
2084  "ELE_LOGY E1 P");
2085 
2087  "hcalTowerSumEtBc_dr04_depth1",
2088  "hcal depth1 isolation sum behind cluster, dR=0.4",
2089  100,
2090  0.0,
2091  20.,
2092  "Hcal1IsoSum, cone 0.4 (GeV)",
2093  "Events",
2094  "ELE_LOGY E1 P");
2096  bookH1withSumw2(iBooker,
2097  "hcalTowerSumEtBc_dr04_depth1_barrel",
2098  "hcal depth1 isolation sum behind cluster, dR=0.4, barrel",
2099  100,
2100  0.0,
2101  20.,
2102  "Hcal1IsoSum, cone 0.4 (GeV)",
2103  "Events",
2104  "ELE_LOGY E1 P");
2106  bookH1withSumw2(iBooker,
2107  "hcalTowerSumEtBc_dr04_depth1_endcaps",
2108  "hcal depth1 isolation sum behind cluster, dR=0.4, endcaps",
2109  100,
2110  0.0,
2111  20.,
2112  "Hcal1IsoSum, cone 0.4 (GeV)",
2113  "Events",
2114  "ELE_LOGY E1 P");
2115 
2117  "hcalTowerSumEtBc_dr03_depth2",
2118  "hcal depth2 isolation sum behind cluster, dR=0.3",
2119  100,
2120  0.0,
2121  20.,
2122  "Hcal1IsoSum, cone 0.3 (GeV)",
2123  "Events",
2124  "ELE_LOGY E1 P");
2126  bookH1withSumw2(iBooker,
2127  "hcalTowerSumEtBc_dr03_depth2_barrel",
2128  "hcal depth2 isolation sum behind cluster, dR=0.3, barrel",
2129  100,
2130  0.0,
2131  20.,
2132  "Hcal1IsoSum, cone 0.3 (GeV)",
2133  "Events",
2134  "ELE_LOGY E1 P");
2136  bookH1withSumw2(iBooker,
2137  "hcalTowerSumEtBc_dr03_depth2_endcaps",
2138  "hcal depth2 isolation sum behind cluster, dR=0.3, endcaps",
2139  100,
2140  0.0,
2141  20.,
2142  "Hcal1IsoSum, cone 0.3 (GeV)",
2143  "Events",
2144  "ELE_LOGY E1 P");
2145 
2147  "hcalTowerSumEtBc_dr04_depth2",
2148  "hcal depth2 isolation sum behind cluster, dR=0.4",
2149  100,
2150  0.0,
2151  20.,
2152  "Hcal1IsoSum, cone 0.4 (GeV)",
2153  "Events",
2154  "ELE_LOGY E1 P");
2156  bookH1withSumw2(iBooker,
2157  "hcalTowerSumEtBc_dr04_depth2_barrel",
2158  "hcal depth2 isolation sum behind cluster, dR=0.4, barrel",
2159  100,
2160  0.0,
2161  20.,
2162  "Hcal1IsoSum, cone 0.4 (GeV)",
2163  "Events",
2164  "ELE_LOGY E1 P");
2166  bookH1withSumw2(iBooker,
2167  "hcalTowerSumEtBc_dr04_depth2_endcaps",
2168  "hcal depth2 isolation sum behind cluster, dR=0.4, endcaps",
2169  100,
2170  0.0,
2171  20.,
2172  "Hcal1IsoSum, cone 0.4 (GeV)",
2173  "Events",
2174  "ELE_LOGY E1 P");
2175 
2176  // fbrem
2178  iBooker, "fbrem", "ele brem fraction, mode of GSF components", 100, 0., 1., "P_{in} - P_{out} / P_{in}");
2180  "fbrem_barrel",
2181  "ele brem fraction for barrel, mode of GSF components",
2182  100,
2183  0.,
2184  1.,
2185  "P_{in} - P_{out} / P_{in}");
2187  "fbrem_endcaps",
2188  "ele brem franction for endcaps, mode of GSF components",
2189  100,
2190  0.,
2191  1.,
2192  "P_{in} - P_{out} / P_{in}");
2193  p1_ele_fbremVsEta_mode = bookP1(iBooker,
2194  "fbremvsEtamode",
2195  "mean ele brem fraction vs eta, mode of GSF components",
2196  eta2D_nbin,
2197  eta_min,
2198  eta_max,
2199  0.,
2200  1.,
2201  "#eta",
2202  "<P_{in} - P_{out} / P_{in}>");
2203  p1_ele_fbremVsEta_mean = bookP1(iBooker,
2204  "fbremvsEtamean",
2205  "mean ele brem fraction vs eta, mean of GSF components",
2206  eta2D_nbin,
2207  eta_min,
2208  eta_max,
2209  0.,
2210  1.,
2211  "#eta",
2212  "<P_{in} - P_{out} / P_{in}>");
2214  bookH1withSumw2(iBooker, "superclusterfbrem", "supercluster brem fraction", 100, 0., 1., "1 - E_{ele} / E_{SC}");
2216  iBooker, "superclusterfbrem_barrel", "supercluster brem fraction for barrel", 100, 0., 1., "1 - E_{ele} / E_{SC}");
2218  "superclusterfbrem_endcaps",
2219  "supercluster brem franction for endcaps",
2220  100,
2221  0.,
2222  1.,
2223  "1 - E_{ele} / E_{SC}");
2224  // e/g et pflow electrons
2225  h1_ele_mva = bookH1withSumw2(iBooker, "mva", "ele identification mva", 100, -1., 1.);
2226  h1_ele_mva_barrel = bookH1withSumw2(iBooker, "mva_barrel", "ele identification mva barrel", 100, -1., 1.);
2227  h1_ele_mva_endcaps = bookH1withSumw2(iBooker, "mva_endcaps", "ele identification mva endcaps", 100, -1., 1.);
2228  h1_ele_mva_isolated = bookH1withSumw2(iBooker, "mva_isolated", "ele identification mva isolated", 100, -1., 1.);
2230  bookH1withSumw2(iBooker, "mva_isolated_barrel", "ele identification mva isolated barrel", 100, -1., 1.);
2232  bookH1withSumw2(iBooker, "mva_isolated_endcaps", "ele identification mva isolated endcaps", 100, -1., 1.);
2233  h1_ele_provenance = bookH1withSumw2(iBooker, "provenance", "ele provenance", 5, -2., 3.);
2234  h1_ele_provenance_barrel = bookH1withSumw2(iBooker, "provenance_barrel", "ele provenance barrel", 5, -2., 3.);
2235  h1_ele_provenance_endcaps = bookH1withSumw2(iBooker, "provenance_endcaps", "ele provenance endcaps", 5, -2., 3.);
2236 
2237  // pflow isolation variables
2239  iBooker, "chargedHadronIso", "chargedHadronIso", 100, 0.0, 20., "chargedHadronIso", "Events", "ELE_LOGY E1 P");
2241  "chargedHadronIso_barrel",
2242  "chargedHadronIso for barrel",
2243  100,
2244  0.0,
2245  20.,
2246  "chargedHadronIso_barrel",
2247  "Events",
2248  "ELE_LOGY E1 P");
2250  "chargedHadronIso_endcaps",
2251  "chargedHadronIso for endcaps",
2252  100,
2253  0.0,
2254  20.,
2255  "chargedHadronIso_endcaps",
2256  "Events",
2257  "ELE_LOGY E1 P");
2259  iBooker, "neutralHadronIso", "neutralHadronIso", 21, 0.0, 20., "neutralHadronIso", "Events", "ELE_LOGY E1 P");
2261  "neutralHadronIso_barrel",
2262  "neutralHadronIso for barrel",
2263  21,
2264  0.0,
2265  20.,
2266  "neutralHadronIso_barrel",
2267  "Events",
2268  "ELE_LOGY E1 P");
2270  "neutralHadronIso_endcaps",
2271  "neutralHadronIso for endcaps",
2272  21,
2273  0.0,
2274  20.,
2275  "neutralHadronIso_endcaps",
2276  "Events",
2277  "ELE_LOGY E1 P");
2279  bookH1withSumw2(iBooker, "photonIso", "photonIso", 100, 0.0, 20., "photonIso", "Events", "ELE_LOGY E1 P");
2281  iBooker, "photonIso_barrel", "photonIso for barrel", 100, 0.0, 20., "photonIso_barrel", "Events", "ELE_LOGY E1 P");
2283  "photonIso_endcaps",
2284  "photonIso for endcaps",
2285  100,
2286  0.0,
2287  20.,
2288  "photonIso_endcaps",
2289  "Events",
2290  "ELE_LOGY E1 P");
2291  // -- pflow over pT
2293  "chargedHadronRelativeIso",
2294  "chargedHadronRelativeIso",
2295  100,
2296  0.0,
2297  2.,
2298  "chargedHadronRelativeIso",
2299  "Events",
2300  "ELE_LOGY E1 P");
2302  "chargedHadronRelativeIso_barrel",
2303  "chargedHadronRelativeIso for barrel",
2304  100,
2305  0.0,
2306  2.,
2307  "chargedHadronRelativeIso_barrel",
2308  "Events",
2309  "ELE_LOGY E1 P");
2311  "chargedHadronRelativeIso_endcaps",
2312  "chargedHadronRelativeIso for endcaps",
2313  100,
2314  0.0,
2315  2.,
2316  "chargedHadronRelativeIso_endcaps",
2317  "Events",
2318  "ELE_LOGY E1 P");
2320  "neutralHadronRelativeIso",
2321  "neutralHadronRelativeIso",
2322  100,
2323  0.0,
2324  2.,
2325  "neutralHadronRelativeIso",
2326  "Events",
2327  "ELE_LOGY E1 P");
2329  "neutralHadronRelativeIso_barrel",
2330  "neutralHadronRelativeIso for barrel",
2331  100,
2332  0.0,
2333  2.,
2334  "neutralHadronRelativeIso_barrel",
2335  "Events",
2336  "ELE_LOGY E1 P");
2338  "neutralHadronRelativeIso_endcaps",
2339  "neutralHadronRelativeIso for endcaps",
2340  100,
2341  0.0,
2342  2.,
2343  "neutralHadronRelativeIso_endcaps",
2344  "Events",
2345  "ELE_LOGY E1 P");
2347  iBooker, "photonRelativeIso", "photonRelativeIso", 100, 0.0, 2., "photonRelativeIso", "Events", "ELE_LOGY E1 P");
2349  "photonRelativeIso_barrel",
2350  "photonRelativeIso for barrel",
2351  100,
2352  0.0,
2353  2.,
2354  "photonRelativeIso_barrel",
2355  "Events",
2356  "ELE_LOGY E1 P");
2358  "photonRelativeIso_endcaps",
2359  "photonRelativeIso for endcaps",
2360  100,
2361  0.0,
2362  2.,
2363  "photonRelativeIso_endcaps",
2364  "Events",
2365  "ELE_LOGY E1 P");
2366 
2367  // conversion rejection information
2368  h1_ele_convFlags = bookH1withSumw2(iBooker, "convFlags", "conversion rejection flag", 5, -2.5, 2.5);
2370  bookH1withSumw2(iBooker, "convFlags_all", "conversion rejection flag, all electrons", 5, -2.5, 2.5);
2371  h1_ele_convDist = bookH1withSumw2(iBooker, "convDist", "distance to the conversion partner", 100, -15., 15.);
2373  bookH1withSumw2(iBooker, "convDist_all", "distance to the conversion partner, all electrons", 100, -15., 15.);
2375  iBooker, "convDcot", "difference of cot(angle) with the conversion partner", 100, -CLHEP::pi / 2., CLHEP::pi / 2.);
2377  "convDcot_all",
2378  "difference of cot(angle) with the conversion partner, all electrons",
2379  100,
2380  -CLHEP::pi / 2.,
2381  CLHEP::pi / 2.);
2382  h1_ele_convRadius = bookH1withSumw2(iBooker, "convRadius", "signed conversion radius", 100, 0., 130.);
2384  bookH1withSumw2(iBooker, "convRadius_all", "signed conversion radius, all electrons", 100, 0., 130.);
2385 }
2386 
2388 
2389 //=========================================================================
2390 // Main methods
2391 //=========================================================================
2392 
2394  // get reco electrons
2396  iEvent.getByToken(electronCollection_, gsfElectrons);
2397  edm::Handle<GsfElectronCoreCollection> gsfElectronCores;
2398  iEvent.getByToken(electronCoreCollection_, gsfElectronCores);
2399  edm::Handle<GsfTrackCollection> gsfElectronTracks;
2400  iEvent.getByToken(electronTrackCollection_, gsfElectronTracks);
2401  edm::Handle<ElectronSeedCollection> gsfElectronSeeds;
2402  iEvent.getByToken(electronSeedCollection_, gsfElectronSeeds);
2403 
2404  edm::Handle<edm::ValueMap<double>> isoFromDepsTk03Handle;
2405  iEvent.getByToken(isoFromDepsTk03Tag_, isoFromDepsTk03Handle);
2406  edm::Handle<edm::ValueMap<double>> isoFromDepsTk04Handle;
2407  iEvent.getByToken(isoFromDepsTk04Tag_, isoFromDepsTk04Handle);
2408  edm::Handle<edm::ValueMap<double>> isoFromDepsEcalFull03Handle;
2409  iEvent.getByToken(isoFromDepsEcalFull03Tag_, isoFromDepsEcalFull03Handle);
2410  edm::Handle<edm::ValueMap<double>> isoFromDepsEcalFull04Handle;
2411  iEvent.getByToken(isoFromDepsEcalFull04Tag_, isoFromDepsEcalFull04Handle);
2412  edm::Handle<edm::ValueMap<double>> isoFromDepsEcalReduced03Handle;
2413  iEvent.getByToken(isoFromDepsEcalReduced03Tag_, isoFromDepsEcalReduced03Handle);
2414  edm::Handle<edm::ValueMap<double>> isoFromDepsEcalReduced04Handle;
2415  iEvent.getByToken(isoFromDepsEcalReduced04Tag_, isoFromDepsEcalReduced04Handle);
2416  edm::Handle<edm::ValueMap<double>> isoFromDepsHcal03Handle;
2417  iEvent.getByToken(isoFromDepsHcal03Tag_, isoFromDepsHcal03Handle);
2418  edm::Handle<edm::ValueMap<double>> isoFromDepsHcal04Handle;
2419  iEvent.getByToken(isoFromDepsHcal04Tag_, isoFromDepsHcal04Handle);
2420 
2421  /* new 2015.04.02 */
2422  edm::Handle<reco::VertexCollection> vertexCollectionHandle;
2423  iEvent.getByToken(offlineVerticesCollection_, vertexCollectionHandle);
2424  if (!vertexCollectionHandle.isValid()) {
2425  edm::LogInfo("ElectronMcFakeValidator::analyze") << "vertexCollectionHandle KO";
2426  } else {
2427  edm::LogInfo("ElectronMcFakeValidator::analyze") << "vertexCollectionHandle OK";
2428  }
2429  /* fin new */
2430 
2431  // get gen jets
2433  iEvent.getByToken(matchingObjectCollection_, genJets);
2434 
2435  // get the beamspot from the Event:
2436  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
2437  iEvent.getByToken(beamSpotTag_, recoBeamSpotHandle);
2438  const BeamSpot bs = *recoBeamSpotHandle;
2439 
2440  edm::LogInfo("ElectronMcFakeValidator::analyze")
2441  << "Treating event " << iEvent.id() << " with " << gsfElectrons.product()->size() << " electrons";
2442  h1_recEleNum_->Fill((*gsfElectrons).size());
2443  h1_recCoreNum_->Fill((*gsfElectronCores).size());
2444  h1_recTrackNum_->Fill((*gsfElectronTracks).size());
2445  h1_recSeedNum_->Fill((*gsfElectronSeeds).size());
2446  h1_recOfflineVertices_->Fill((*vertexCollectionHandle).size()); // new 2015.04.02
2447 
2448  // all rec electrons
2449  reco::GsfElectronCollection::const_iterator gsfIter;
2450  for (gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end(); gsfIter++) {
2451  // preselect electrons
2452  if (gsfIter->pt() > maxPt_ || std::abs(gsfIter->eta()) > maxAbsEta_) {
2453  continue;
2454  }
2455 
2456  h1_ele_EoverP_all->Fill(gsfIter->eSuperClusterOverP());
2457  h1_ele_EseedOP_all->Fill(gsfIter->eSeedClusterOverP());
2458  h1_ele_EoPout_all->Fill(gsfIter->eSeedClusterOverPout());
2459  h1_ele_EeleOPout_all->Fill(gsfIter->eEleClusterOverPout());
2460  h1_ele_dEtaSc_propVtx_all->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
2461  h1_ele_dPhiSc_propVtx_all->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
2462  h1_ele_dEtaCl_propOut_all->Fill(gsfIter->deltaEtaSeedClusterTrackAtCalo());
2463  h1_ele_dPhiCl_propOut_all->Fill(gsfIter->deltaPhiSeedClusterTrackAtCalo());
2464  h1_ele_HoE_all->Fill(gsfIter->hadronicOverEm());
2465  h1_ele_HoE_bc_all->Fill(gsfIter->hcalOverEcalBc());
2466  double d = gsfIter->vertex().x() * gsfIter->vertex().x() + gsfIter->vertex().y() * gsfIter->vertex().y();
2467  h1_ele_TIP_all->Fill(sqrt(d));
2468  h1_ele_vertexEta_all->Fill(gsfIter->eta());
2469  h1_ele_vertexPt_all->Fill(gsfIter->pt());
2470  float enrj1 = gsfIter->ecalEnergy();
2471 
2472  // mee
2473  reco::GsfElectronCollection::const_iterator gsfIter2;
2474  for (gsfIter2 = gsfIter + 1; gsfIter2 != gsfElectrons->end(); gsfIter2++) {
2475  math::XYZTLorentzVector p12 = (*gsfIter).p4() + (*gsfIter2).p4();
2476  float mee2 = p12.Dot(p12);
2477  h1_ele_mee_all->Fill(sqrt(mee2));
2478  float enrj2 = gsfIter2->ecalEnergy();
2479  h2_ele_E2mnE1vsMee_all->Fill(sqrt(mee2), enrj2 - enrj1);
2480  if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed()) {
2481  h2_ele_E2mnE1vsMee_egeg_all->Fill(sqrt(mee2), enrj2 - enrj1);
2482  }
2483  if (gsfIter->charge() * gsfIter2->charge() < 0.) {
2484  h1_ele_mee_os->Fill(sqrt(mee2));
2485  }
2486  }
2487 
2488  // conversion rejection
2489  int flags = gsfIter->convFlags();
2490  if (flags == -9999) {
2491  flags = -1;
2492  }
2493  h1_ele_convFlags_all->Fill(flags);
2494  if (flags >= 0.) {
2495  h1_ele_convDist_all->Fill(gsfIter->convDist());
2496  h1_ele_convDcot_all->Fill(gsfIter->convDcot());
2497  h1_ele_convRadius_all->Fill(gsfIter->convRadius());
2498  }
2499  }
2500 
2501  // association matching object-reco electrons
2502  int matchingObjectNum = 0;
2503  reco::GenJetCollection::const_iterator moIter;
2504  for (moIter = genJets->begin(); moIter != genJets->end(); ++moIter) {
2505  // number of matching objects
2506  matchingObjectNum++;
2507 
2508  if (moIter->energy() / cosh(moIter->eta()) > maxPt_ || std::abs(moIter->eta()) > maxAbsEta_) {
2509  continue;
2510  }
2511 
2512  // suppress the endcaps
2513  //if (std::abs(moIter->eta()) > 1.5) continue;
2514  // select central z
2515  //if ( std::abs((*mcIter)->production_vertex()->position().z())>50.) continue;
2516 
2517  h1_matchingObjectEta->Fill(moIter->eta());
2518  h1_matchingObjectAbsEta->Fill(std::abs(moIter->eta()));
2519  h1_matchingObjectP->Fill(moIter->energy());
2520  h1_matchingObjectPt->Fill(moIter->energy() / cosh(moIter->eta()));
2521  h1_matchingObjectPhi->Fill(moIter->phi());
2522  h1_matchingObjectZ->Fill(moIter->vz());
2523 
2524  // looking for the best matching gsf electron
2525  bool okGsfFound = false;
2526  double gsfOkRatio = 999999.;
2527 
2528  // find best matched electron
2529  reco::GsfElectron bestGsfElectron;
2530  reco::GsfElectronRef bestGsfElectronRef;
2531  reco::GsfElectronCollection::const_iterator gsfIter;
2533  for (gsfIter = gsfElectrons->begin(), iElectron = 0; gsfIter != gsfElectrons->end(); gsfIter++, iElectron++) {
2534  double dphi = gsfIter->phi() - moIter->phi();
2535  if (std::abs(dphi) > CLHEP::pi) {
2536  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
2537  }
2538  double deltaR = sqrt(pow((gsfIter->eta() - moIter->eta()), 2) + pow(dphi, 2));
2539  if (deltaR < deltaR_) {
2540  //if ( (genPc->pdg_id() == 11) && (gsfIter->charge() < 0.) || (genPc->pdg_id() == -11) &&
2541  //(gsfIter->charge() > 0.) ){
2542  double tmpGsfRatio = gsfIter->p() / moIter->energy();
2543  if (std::abs(tmpGsfRatio - 1) < std::abs(gsfOkRatio - 1)) {
2544  gsfOkRatio = tmpGsfRatio;
2545  bestGsfElectronRef = reco::GsfElectronRef(gsfElectrons, iElectron);
2546  bestGsfElectron = *gsfIter;
2547  okGsfFound = true;
2548  }
2549  //}
2550  }
2551  } // loop over rec ele to look for the best one
2552 
2553  // analysis when the matching object is matched by a rec electron
2554  if (okGsfFound) {
2555  // electron related distributions
2556  h1_ele_charge->Fill(bestGsfElectron.charge());
2557  h2_ele_chargeVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.charge());
2558  h2_ele_chargeVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.charge());
2559  h2_ele_chargeVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.charge());
2560  h1_ele_vertexP->Fill(bestGsfElectron.p());
2561  h1_ele_vertexPt->Fill(bestGsfElectron.pt());
2562  h2_ele_vertexPtVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.pt());
2563  h2_ele_vertexPtVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.pt());
2564  h1_ele_vertexEta->Fill(bestGsfElectron.eta());
2565  // generated distributions for matched electrons
2566  h1_ele_matchingObjectPt_matched->Fill(moIter->energy() / cosh(moIter->eta()));
2567  h1_ele_matchingObjectPhi_matched->Fill(moIter->phi());
2569  h1_ele_matchingObjectEta_matched->Fill(moIter->eta());
2570  h2_ele_vertexEtaVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eta());
2571  h1_ele_vertexPhi->Fill(bestGsfElectron.phi());
2572  h1_ele_vertexX->Fill(bestGsfElectron.vertex().x());
2573  h1_ele_vertexY->Fill(bestGsfElectron.vertex().y());
2574  h1_ele_vertexZ->Fill(bestGsfElectron.vertex().z());
2575  h1_ele_matchingObjectZ_matched->Fill(moIter->vz());
2576  double d =
2577  (bestGsfElectron.vertex().x() - bs.position().x()) * (bestGsfElectron.vertex().x() - bs.position().x()) +
2578  (bestGsfElectron.vertex().y() - bs.position().y()) * (bestGsfElectron.vertex().y() - bs.position().y());
2579  d = sqrt(d);
2580  h1_ele_vertexTIP->Fill(d);
2581  h2_ele_vertexTIPVsEta->Fill(bestGsfElectron.eta(), d);
2582  h2_ele_vertexTIPVsPhi->Fill(bestGsfElectron.phi(), d);
2583  h2_ele_vertexTIPVsPt->Fill(bestGsfElectron.pt(), d);
2584  h1_ele_EtaMnEtamatchingObject->Fill(bestGsfElectron.eta() - moIter->eta());
2585  h2_ele_EtaMnEtamatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eta() - moIter->eta());
2586  h2_ele_EtaMnEtamatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eta() - moIter->eta());
2587  h2_ele_EtaMnEtamatchingObjectVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.eta() - moIter->eta());
2588  h1_ele_PhiMnPhimatchingObject->Fill(bestGsfElectron.phi() - moIter->phi());
2589  h1_ele_PhiMnPhimatchingObject2->Fill(bestGsfElectron.phi() - moIter->phi());
2590  h2_ele_PhiMnPhimatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.phi() - moIter->phi());
2591  h2_ele_PhiMnPhimatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.phi() - moIter->phi());
2592  h2_ele_PhiMnPhimatchingObjectVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.phi() - moIter->phi());
2593  h1_ele_PoPmatchingObject->Fill(bestGsfElectron.p() / moIter->energy());
2594  h2_ele_PoPmatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.p() / moIter->energy());
2595  h2_ele_PoPmatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.p() / moIter->energy());
2596  h2_ele_PoPmatchingObjectVsPt->Fill(bestGsfElectron.py(), bestGsfElectron.p() / moIter->energy());
2597  if (bestGsfElectron.isEB())
2598  h1_ele_PoPmatchingObject_barrel->Fill(bestGsfElectron.p() / moIter->energy());
2599  if (bestGsfElectron.isEE())
2600  h1_ele_PoPmatchingObject_endcaps->Fill(bestGsfElectron.p() / moIter->energy());
2601 
2602  // supercluster related distributions
2603  reco::SuperClusterRef sclRef = bestGsfElectron.superCluster();
2604  if (!bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.trackerDrivenSeed())
2605  sclRef = bestGsfElectron.parentSuperCluster();
2606  if (sclRef.isNonnull()) {
2607  h1_scl_En_->Fill(sclRef->energy());
2608  double R = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y() + sclRef->z() * sclRef->z());
2609  double Rt = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y());
2610  h1_scl_Et_->Fill(sclRef->energy() * (Rt / R));
2611  h2_scl_EtVsEta_->Fill(sclRef->eta(), sclRef->energy() * (Rt / R));
2612  h2_scl_EtVsPhi_->Fill(sclRef->phi(), sclRef->energy() * (Rt / R));
2613  if (bestGsfElectron.isEB())
2614  h1_scl_EoEmatchingObject_barrel->Fill(sclRef->energy() / moIter->energy());
2615  if (bestGsfElectron.isEE())
2616  h1_scl_EoEmatchingObject_endcaps->Fill(sclRef->energy() / moIter->energy());
2617  h1_scl_Eta_->Fill(sclRef->eta());
2618  h2_scl_EtaVsPhi_->Fill(sclRef->phi(), sclRef->eta());
2619  h1_scl_Phi_->Fill(sclRef->phi());
2620  /*New from 06 05 2016*/
2621  // h1_scl_ESFrac->Fill( sclRef->preshowerEnergy() / sclRef->rawEnergy() );
2622  if (bestGsfElectron.isEE())
2623  h1_scl_ESFrac_endcaps->Fill(sclRef->preshowerEnergy() / sclRef->rawEnergy());
2624  }
2625  h1_scl_SigIEtaIEta_->Fill(bestGsfElectron.scSigmaIEtaIEta());
2626  if (bestGsfElectron.isEB())
2627  h1_scl_SigIEtaIEta_barrel_->Fill(bestGsfElectron.scSigmaIEtaIEta());
2628  if (bestGsfElectron.isEE())
2629  h1_scl_SigIEtaIEta_endcaps_->Fill(bestGsfElectron.scSigmaIEtaIEta());
2631  if (bestGsfElectron.isEB())
2633  if (bestGsfElectron.isEE())
2635  h1_scl_E1x5_->Fill(bestGsfElectron.scE1x5());
2636  if (bestGsfElectron.isEB())
2637  h1_scl_E1x5_barrel_->Fill(bestGsfElectron.scE1x5());
2638  if (bestGsfElectron.isEE())
2639  h1_scl_E1x5_endcaps_->Fill(bestGsfElectron.scE1x5());
2640  h1_scl_E2x5max_->Fill(bestGsfElectron.scE2x5Max());
2641  if (bestGsfElectron.isEB())
2642  h1_scl_E2x5max_barrel_->Fill(bestGsfElectron.scE2x5Max());
2643  if (bestGsfElectron.isEE())
2644  h1_scl_E2x5max_endcaps_->Fill(bestGsfElectron.scE2x5Max());
2645  h1_scl_E5x5_->Fill(bestGsfElectron.scE5x5());
2646  if (bestGsfElectron.isEB())
2647  h1_scl_E5x5_barrel_->Fill(bestGsfElectron.scE5x5());
2648  if (bestGsfElectron.isEE())
2649  h1_scl_E5x5_endcaps_->Fill(bestGsfElectron.scE5x5());
2650 
2651  // track related distributions
2653  h2_ele_ambiguousTracksVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.ambiguousGsfTracksSize());
2654  h2_ele_ambiguousTracksVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.ambiguousGsfTracksSize());
2655  h2_ele_ambiguousTracksVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.ambiguousGsfTracksSize());
2656  if (!readAOD_) { // track extra does not exist in AOD
2657  h1_ele_foundHits->Fill(bestGsfElectron.gsfTrack()->numberOfValidHits());
2658  h2_ele_foundHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
2659  h2_ele_foundHitsVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfValidHits());
2660  h2_ele_foundHitsVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfValidHits());
2661  h1_ele_lostHits->Fill(bestGsfElectron.gsfTrack()->numberOfLostHits());
2662  h2_ele_lostHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfLostHits());
2663  h2_ele_lostHitsVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfLostHits());
2664  h2_ele_lostHitsVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfLostHits());
2665  h1_ele_chi2->Fill(bestGsfElectron.gsfTrack()->normalizedChi2());
2666  h2_ele_chi2VsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->normalizedChi2());
2667  h2_ele_chi2VsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->normalizedChi2());
2668  h2_ele_chi2VsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->normalizedChi2());
2669  }
2670  // from gsf track interface, hence using mean
2671  if (!readAOD_) { // track extra does not exist in AOD
2672  h1_ele_PinMnPout->Fill(bestGsfElectron.gsfTrack()->innerMomentum().R() -
2673  bestGsfElectron.gsfTrack()->outerMomentum().R());
2674  h1_ele_outerP->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R());
2675  h1_ele_outerPt->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho());
2676  }
2677  // from electron interface, hence using mode
2678  h1_ele_PinMnPout_mode->Fill(bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2680  bestGsfElectron.eta(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2682  bestGsfElectron.phi(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2684  bestGsfElectron.pt(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2685  h2_ele_PinMnPoutVsE_mode->Fill(bestGsfElectron.caloEnergy(),
2686  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2687  if (!readAOD_) // track extra does not exist in AOD
2689  bestGsfElectron.gsfTrack()->normalizedChi2(),
2690  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
2691  h1_ele_outerP_mode->Fill(bestGsfElectron.trackMomentumOut().R());
2692  h2_ele_outerPVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().R());
2693  h1_ele_outerPt_mode->Fill(bestGsfElectron.trackMomentumOut().Rho());
2694  h2_ele_outerPtVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().Rho());
2695  h2_ele_outerPtVsPhi_mode->Fill(bestGsfElectron.phi(), bestGsfElectron.trackMomentumOut().Rho());
2696  h2_ele_outerPtVsPt_mode->Fill(bestGsfElectron.pt(), bestGsfElectron.trackMomentumOut().Rho());
2697 
2698  if (!readAOD_) { // track extra does not exist in AOD
2699  edm::RefToBase<TrajectorySeed> seed = bestGsfElectron.gsfTrack()->extra()->seedRef();
2700  ElectronSeedRef elseed = seed.castTo<ElectronSeedRef>();
2701  h1_ele_seed_subdet2_->Fill(elseed->subDet(1));
2702  h1_ele_seed_mask_->Fill(elseed->hitsMask());
2703  if (elseed->subDet(1) == 1) {
2704  h1_ele_seed_mask_bpix_->Fill(elseed->hitsMask());
2705  } else if (elseed->subDet(1) == 2) {
2706  h1_ele_seed_mask_fpix_->Fill(elseed->hitsMask());
2707  } else if (elseed->subDet(1) == 6) {
2708  h1_ele_seed_mask_tec_->Fill(elseed->hitsMask());
2709  }
2710 
2711  if (elseed->dPhiNeg(1) != std::numeric_limits<float>::infinity()) {
2712  h1_ele_seed_dphi2_->Fill(elseed->dPhiNeg(1));
2713  h2_ele_seed_dphi2VsEta_->Fill(bestGsfElectron.eta(), elseed->dPhiNeg(1));
2714  h2_ele_seed_dphi2VsPt_->Fill(bestGsfElectron.pt(), elseed->dPhiNeg(1));
2715  }
2716  if (elseed->dPhiPos(1) != std::numeric_limits<float>::infinity()) {
2717  h1_ele_seed_dphi2pos_->Fill(elseed->dPhiPos(1));
2718  h2_ele_seed_dphi2posVsEta_->Fill(bestGsfElectron.eta(), elseed->dPhiPos(1));
2719  h2_ele_seed_dphi2posVsPt_->Fill(bestGsfElectron.pt(), elseed->dPhiPos(1));
2720  }
2721  if (elseed->dRZNeg(1) != std::numeric_limits<float>::infinity()) {
2722  h1_ele_seed_drz2_->Fill(elseed->dRZNeg(1));
2723  h2_ele_seed_drz2VsEta_->Fill(bestGsfElectron.eta(), elseed->dRZNeg(1));
2724  h2_ele_seed_drz2VsPt_->Fill(bestGsfElectron.pt(), elseed->dRZNeg(1));
2725  }
2726  if (elseed->dRZPos(1) != std::numeric_limits<float>::infinity()) {
2727  h1_ele_seed_drz2pos_->Fill(elseed->dRZPos(1));
2728  h2_ele_seed_drz2posVsEta_->Fill(bestGsfElectron.eta(), elseed->dRZPos(1));
2729  h2_ele_seed_drz2posVsPt_->Fill(bestGsfElectron.pt(), elseed->dRZPos(1));
2730  }
2731  }
2732  // match distributions
2733  h1_ele_EoP->Fill(bestGsfElectron.eSuperClusterOverP());
2734  if (bestGsfElectron.isEB())
2735  h1_ele_EoP_barrel->Fill(bestGsfElectron.eSuperClusterOverP());
2736  if (bestGsfElectron.isEE())
2737  h1_ele_EoP_endcaps->Fill(bestGsfElectron.eSuperClusterOverP());
2738  h2_ele_EoPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSuperClusterOverP());
2739  h2_ele_EoPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSuperClusterOverP());
2740  h2_ele_EoPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSuperClusterOverP());
2741  h1_ele_EseedOP->Fill(bestGsfElectron.eSeedClusterOverP());
2742  if (bestGsfElectron.isEB())
2743  h1_ele_EseedOP_barrel->Fill(bestGsfElectron.eSeedClusterOverP());
2744  if (bestGsfElectron.isEE())
2745  h1_ele_EseedOP_endcaps->Fill(bestGsfElectron.eSeedClusterOverP());
2746  h2_ele_EseedOPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverP());
2747  h2_ele_EseedOPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverP());
2748  h2_ele_EseedOPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverP());
2749  h1_ele_EoPout->Fill(bestGsfElectron.eSeedClusterOverPout());
2750  if (bestGsfElectron.isEB())
2751  h1_ele_EoPout_barrel->Fill(bestGsfElectron.eSeedClusterOverPout());
2752  if (bestGsfElectron.isEE())
2753  h1_ele_EoPout_endcaps->Fill(bestGsfElectron.eSeedClusterOverPout());
2754  h2_ele_EoPoutVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverPout());
2755  h2_ele_EoPoutVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverPout());
2756  h2_ele_EoPoutVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverPout());
2757  h1_ele_EeleOPout->Fill(bestGsfElectron.eEleClusterOverPout());
2758  if (bestGsfElectron.isEB())
2759  h1_ele_EeleOPout_barrel->Fill(bestGsfElectron.eEleClusterOverPout());
2760  if (bestGsfElectron.isEE())
2762  h2_ele_EeleOPoutVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eEleClusterOverPout());
2763  h2_ele_EeleOPoutVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eEleClusterOverPout());
2764  h2_ele_EeleOPoutVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eEleClusterOverPout());
2766  if (bestGsfElectron.isEB())
2768  if (bestGsfElectron.isEE())
2770  h2_ele_dEtaScVsEta_propVtx->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2771  h2_ele_dEtaScVsPhi_propVtx->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2772  h2_ele_dEtaScVsPt_propVtx->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2774  if (bestGsfElectron.isEB())
2776  if (bestGsfElectron.isEE())
2778  h2_ele_dPhiScVsEta_propVtx->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2779  h2_ele_dPhiScVsPhi_propVtx->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2780  h2_ele_dPhiScVsPt_propVtx->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2782  if (bestGsfElectron.isEB())
2784  if (bestGsfElectron.isEE())
2786  h2_ele_dEtaClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2787  h2_ele_dEtaClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2788  h2_ele_dEtaClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2790  if (bestGsfElectron.isEB())
2792  if (bestGsfElectron.isEE())
2794  h2_ele_dPhiClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2795  h2_ele_dPhiClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2796  h2_ele_dPhiClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2798  if (bestGsfElectron.isEB())
2800  if (bestGsfElectron.isEE())
2802  h2_ele_dEtaEleClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2803  h2_ele_dEtaEleClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2804  h2_ele_dEtaEleClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2806  if (bestGsfElectron.isEB())
2808  if (bestGsfElectron.isEE())
2810  h2_ele_dPhiEleClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2811  h2_ele_dPhiEleClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2812  h2_ele_dPhiEleClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2813  h1_ele_HoE->Fill(bestGsfElectron.hadronicOverEm());
2814  h1_ele_HoE_bc->Fill(bestGsfElectron.hcalOverEcalBc());
2815  if (bestGsfElectron.isEB())
2816  h1_ele_HoE_bc_barrel->Fill(bestGsfElectron.hcalOverEcalBc());
2817  if (bestGsfElectron.isEE())
2818  h1_ele_HoE_bc_endcaps->Fill(bestGsfElectron.hcalOverEcalBc());
2819  if (bestGsfElectron.isEB())
2820  h1_ele_HoE_barrel->Fill(bestGsfElectron.hadronicOverEm());
2821  if (bestGsfElectron.isEE())
2822  h1_ele_HoE_endcaps->Fill(bestGsfElectron.hadronicOverEm());
2823  if (!bestGsfElectron.isEBEtaGap() && !bestGsfElectron.isEBPhiGap() && !bestGsfElectron.isEBEEGap() &&
2824  !bestGsfElectron.isEERingGap() && !bestGsfElectron.isEEDeeGap())
2825  h1_ele_HoE_fiducial->Fill(bestGsfElectron.hadronicOverEm());
2826  h2_ele_HoEVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.hadronicOverEm());
2827  h2_ele_HoEVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.hadronicOverEm());
2828  h2_ele_HoEVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.hadronicOverEm());
2829 
2830  //classes
2831  int eleClass = bestGsfElectron.classification();
2832  if (bestGsfElectron.isEE())
2833  eleClass += 10;
2834  h1_ele_classes->Fill(eleClass);
2835 
2836  h1_ele_eta->Fill(std::abs(bestGsfElectron.eta()));
2837  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2838  h1_ele_eta_golden->Fill(std::abs(bestGsfElectron.eta()));
2839  if (bestGsfElectron.classification() == GsfElectron::BIGBREM)
2840  h1_ele_eta_bbrem->Fill(std::abs(bestGsfElectron.eta()));
2841  //if (bestGsfElectron.classification() == GsfElectron::OLDNARROW) h1_ele_eta_narrow->Fill(std::abs(bestGsfElectron.eta()));
2842  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2843  h1_ele_eta_shower->Fill(std::abs(bestGsfElectron.eta()));
2844 
2845  // fbrem
2846 
2847  double fbrem_mode = bestGsfElectron.fbrem();
2848  h1_ele_fbrem->Fill(fbrem_mode);
2849  p1_ele_fbremVsEta_mode->Fill(bestGsfElectron.eta(), fbrem_mode);
2850 
2851  if (bestGsfElectron.isEB()) {
2852  double fbrem_mode_barrel = bestGsfElectron.fbrem();
2853  h1_ele_fbrem_barrel->Fill(fbrem_mode_barrel);
2854  }
2855 
2856  if (bestGsfElectron.isEE()) {
2857  double fbrem_mode_endcaps = bestGsfElectron.fbrem();
2858  h1_ele_fbrem_endcaps->Fill(fbrem_mode_endcaps);
2859  }
2860 
2861  // new 2014/02/12
2862  double superclusterfbrem_mode = bestGsfElectron.superClusterFbrem();
2863  h1_ele_superclusterfbrem->Fill(superclusterfbrem_mode);
2864 
2865  if (bestGsfElectron.isEB()) {
2866  double superclusterfbrem_mode_barrel = bestGsfElectron.superClusterFbrem();
2867  h1_ele_superclusterfbrem_barrel->Fill(superclusterfbrem_mode_barrel);
2868  }
2869 
2870  if (bestGsfElectron.isEE()) {
2871  double superclusterfbrem_mode_endcaps = bestGsfElectron.superClusterFbrem();
2872  h1_ele_superclusterfbrem_endcaps->Fill(superclusterfbrem_mode_endcaps);
2873  }
2874 
2875  if (!readAOD_) // track extra does not exist in AOD
2876  {
2877  double fbrem_mean =
2878  1. - bestGsfElectron.gsfTrack()->outerMomentum().R() / bestGsfElectron.gsfTrack()->innerMomentum().R();
2879  p1_ele_fbremVsEta_mean->Fill(bestGsfElectron.eta(), fbrem_mean);
2880  }
2881 
2882  //
2883 
2884  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2885  h2_ele_PinVsPoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().R(),
2886  bestGsfElectron.trackMomentumAtVtx().R());
2887  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2888  h2_ele_PinVsPoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().R(),
2889  bestGsfElectron.trackMomentumAtVtx().R());
2890  if (!readAOD_) // track extra does not exist in AOD
2891  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2892  h2_ele_PinVsPoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(),
2893  bestGsfElectron.gsfTrack()->innerMomentum().R());
2894  if (!readAOD_) // track extra does not exist in AOD
2895  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2896  h2_ele_PinVsPoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(),
2897  bestGsfElectron.gsfTrack()->innerMomentum().R());
2898  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2899  h2_ele_PtinVsPtoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(),
2900  bestGsfElectron.trackMomentumAtVtx().Rho());
2901  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2902  h2_ele_PtinVsPtoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(),
2903  bestGsfElectron.trackMomentumAtVtx().Rho());
2904  if (!readAOD_) // track extra does not exist in AOD
2905  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2906  h2_ele_PtinVsPtoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(),
2907  bestGsfElectron.gsfTrack()->innerMomentum().Rho());
2908  if (!readAOD_) // track extra does not exist in AOD
2909  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2910  h2_ele_PtinVsPtoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(),
2911  bestGsfElectron.gsfTrack()->innerMomentum().Rho());
2912 
2913  h1_ele_mva->Fill(bestGsfElectron.mva_e_pi());
2914  if (bestGsfElectron.isEB())
2915  h1_ele_mva_barrel->Fill(bestGsfElectron.mva_e_pi());
2916  if (bestGsfElectron.isEE())
2917  h1_ele_mva_endcaps->Fill(bestGsfElectron.mva_e_pi());
2918  h1_ele_mva_isolated->Fill(bestGsfElectron.mva_Isolated());
2919  if (bestGsfElectron.isEB())
2920  h1_ele_mva_barrel_isolated->Fill(bestGsfElectron.mva_Isolated());
2921  if (bestGsfElectron.isEE())
2922  h1_ele_mva_endcaps_isolated->Fill(bestGsfElectron.mva_Isolated());
2923  if (bestGsfElectron.ecalDrivenSeed())
2924  h1_ele_provenance->Fill(1.);
2925  if (bestGsfElectron.trackerDrivenSeed())
2926  h1_ele_provenance->Fill(-1.);
2927  if (bestGsfElectron.trackerDrivenSeed() || bestGsfElectron.ecalDrivenSeed())
2928  h1_ele_provenance->Fill(0.);
2929  if (bestGsfElectron.trackerDrivenSeed() && !bestGsfElectron.ecalDrivenSeed())
2930  h1_ele_provenance->Fill(-2.);
2931  if (!bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.ecalDrivenSeed())
2932  h1_ele_provenance->Fill(2.);
2933  if (bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB())
2935  if (bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.isEB())
2937  if ((bestGsfElectron.trackerDrivenSeed() || bestGsfElectron.ecalDrivenSeed()) && bestGsfElectron.isEB())
2939  if (bestGsfElectron.trackerDrivenSeed() && !bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB())
2941  if (!bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEB())
2943  if (bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE())
2945  if (bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.isEE())
2947  if ((bestGsfElectron.trackerDrivenSeed() || bestGsfElectron.ecalDrivenSeed()) && bestGsfElectron.isEE())
2949  if (bestGsfElectron.trackerDrivenSeed() && !bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE())
2951  if (!bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.isEE())
2953 
2954  // Pflow isolation
2956  if (bestGsfElectron.isEB())
2958  if (bestGsfElectron.isEE())
2960 
2962  if (bestGsfElectron.isEB())
2964  if (bestGsfElectron.isEE())
2966 
2968  if (bestGsfElectron.isEB())
2970  if (bestGsfElectron.isEE())
2972 
2973  // -- pflow over pT
2975  bestGsfElectron.pt());
2976  if (bestGsfElectron.isEB())
2978  bestGsfElectron.pt());
2979  if (bestGsfElectron.isEE())
2981  bestGsfElectron.pt());
2982 
2984  bestGsfElectron.pt());
2985  if (bestGsfElectron.isEB())
2987  bestGsfElectron.pt());
2988  if (bestGsfElectron.isEE())
2990  bestGsfElectron.pt());
2991 
2992  h1_ele_photonRelativeIso->Fill(bestGsfElectron.pfIsolationVariables().sumPhotonEt / bestGsfElectron.pt());
2993  if (bestGsfElectron.isEB())
2995  bestGsfElectron.pt());
2996  if (bestGsfElectron.isEE())
2998  bestGsfElectron.pt());
2999 
3000  // isolation
3001  h1_ele_tkSumPt_dr03->Fill(bestGsfElectron.dr03TkSumPt());
3002  if (bestGsfElectron.isEB())
3003  h1_ele_tkSumPt_dr03_barrel->Fill(bestGsfElectron.dr03TkSumPt());
3004  if (bestGsfElectron.isEE())
3005  h1_ele_tkSumPt_dr03_endcaps->Fill(bestGsfElectron.dr03TkSumPt());
3007  if (bestGsfElectron.isEB())
3009  if (bestGsfElectron.isEE())
3012  if (bestGsfElectron.isEB())
3014  if (bestGsfElectron.isEE())
3018  if (bestGsfElectron.isEB())
3020  if (bestGsfElectron.isEE())
3023  if (bestGsfElectron.isEB())
3025  if (bestGsfElectron.isEE())
3027  h1_ele_tkSumPt_dr04->Fill(bestGsfElectron.dr04TkSumPt());
3028  if (bestGsfElectron.isEB())
3029  h1_ele_tkSumPt_dr04_barrel->Fill(bestGsfElectron.dr04TkSumPt());
3030  if (bestGsfElectron.isEE())
3031  h1_ele_tkSumPt_dr04_endcaps->Fill(bestGsfElectron.dr04TkSumPt());
3033  if (bestGsfElectron.isEB())
3035  if (bestGsfElectron.isEE())
3038  if (bestGsfElectron.isEB())
3040  if (bestGsfElectron.isEE())
3044  if (bestGsfElectron.isEB())
3046  if (bestGsfElectron.isEE())
3049  if (bestGsfElectron.isEB())
3051  if (bestGsfElectron.isEE())
3053 
3055  if (bestGsfElectron.isEB())
3057  if (bestGsfElectron.isEE())
3060  if (bestGsfElectron.isEB())
3062  if (bestGsfElectron.isEE())
3064 
3065  // conversion rejection
3066  int flags = bestGsfElectron.convFlags();
3067  if (flags == -9999) {
3068  flags = -1;
3069  }
3070  h1_ele_convFlags->Fill(flags);
3071  if (flags >= 0.) {
3072  h1_ele_convDist->Fill(bestGsfElectron.convDist());
3073  h1_ele_convDcot->Fill(bestGsfElectron.convDcot());
3074  h1_ele_convRadius->Fill(bestGsfElectron.convRadius());
3075  }
3076 
3077  } // gsf electron found
3078 
3079  } // loop overmatching object
3080 
3081  h1_matchingObjectNum->Fill(matchingObjectNum);
3082 }
const PflowIsolationVariables & pfIsolationVariables() const
Definition: GsfElectron.h:650
MonitorElement * h2_ele_ambiguousTracksVsPhi
MonitorElement * h1_ele_matchingObjectPt_matched
T getParameter(std::string const &) const
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:156
MonitorElement * h2_ele_foundHitsVsEta
MonitorElement * h2_ele_EtaMnEtamatchingObjectVsEta
MonitorElement * h2_ele_seed_dphi2posVsPt_
MonitorElement * h1_ele_dEtaSc_propVtx
MonitorElement * h1_ele_provenance_endcaps
MonitorElement * h1_ele_dEtaEleCl_propOut_barrel
MonitorElement * h1_ele_dEtaCl_propOut_endcaps
MonitorElement * h1_ele_hcalDepth1OverEcalBc_endcaps
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
double eta() const final
momentum pseudorapidity
MonitorElement * h1_ele_ecalRecHitSumEt_dr04_barrel
MonitorElement * h1_scl_E2x5max_barrel_
MonitorElement * h1_ele_seed_mask_bpix_
MonitorElement * h1_scl_EoEmatchingObjectGolden_barrel
ElectronMcFakeValidator(const edm::ParameterSet &conf)
MonitorElement * h1_ele_PhiMnPhimatchingObject2
bool isEBEtaGap() const
Definition: GsfElectron.h:333
float dr03HcalDepth1TowerSumEtBc() const
Definition: GsfElectron.h:527
virtual SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:160
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth2
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth2_endcaps
MonitorElement * h1_ele_matchingObjectAbsEta_matched
float eSuperClusterOverP() const
Definition: GsfElectron.h:221
MonitorElement * h1_scl_EoEmatchingObjectGolden_endcaps
MonitorElement * h1_ele_ecalRecHitSumEt_dr03
MonitorElement * h2_ele_EtaMnEtamatchingObjectVsPt
edm::EDGetTokenT< reco::ElectronSeedCollection > electronSeedCollection_
MonitorElement * h2_ele_PoPmatchingObjectVsPhi
bool isEBEEGap() const
Definition: GsfElectron.h:331
float dr04HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:536
MonitorElement * h1_ele_photonIso_barrel
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * h1_ele_ecalRecHitSumEt_dr03_barrel
MonitorElement * h1_ele_tkSumPt_dr03_endcaps
MonitorElement * h1_ele_dPhiCl_propOut_all
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced04Tag_
MonitorElement * h2_ele_ambiguousTracksVsPt
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth1_endcaps
MonitorElement * h2_ele_PtinVsPtoutGolden_mode
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:418
MonitorElement * h1_ele_EseedOP_endcaps
MonitorElement * h1_ele_hcalDepth2OverEcalBc
math::XYZVectorF trackMomentumAtVtx() const
Definition: GsfElectron.h:268
MonitorElement * h1_ele_photonIso_endcaps
MonitorElement * p1_ele_fbremVsEta_mode
MonitorElement * h1_ele_chargedHadronIso_endcaps
MonitorElement * h1_scl_EoEmatchingObjectShowering_barrel
MonitorElement * h1_ele_neutralHadronIso_endcaps
MonitorElement * h1_matchingObjectAbsEta
MonitorElement * p1_ele_fbremVsEta_mean
MonitorElement * h1_ele_mva_endcaps_isolated
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull03Tag_
MonitorElement * h2_ele_PinVsPoutShowering_mode
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1_barrel
edm::EDGetTokenT< reco::GenJetCollection > matchingObjectCollection_
float dr04TkSumPt() const
Definition: GsfElectron.h:533
MonitorElement * h1_ele_tkSumPt_dr03_barrel
double pt() const final
transverse momentum
MonitorElement * h2_ele_vertexTIPVsPhi
edm::EDGetTokenT< reco::GsfTrackCollection > electronTrackCollection_
int charge() const final
electric charge
MonitorElement * h1_ele_foundHits_endcaps
bool isEERingGap() const
Definition: GsfElectron.h:337
float dr03HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:525
MonitorElement * h1_ele_lostHits_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_all
float fbrem() const
Definition: GsfElectron.h:726
float scE2x5Max() const
Definition: GsfElectron.h:466
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth1_barrel
MonitorElement * h1_ele_hcalDepth1OverEcalBc_barrel
MonitorElement * h1_ele_dPhiSc_propVtx_all
MonitorElement * h2_ele_dPhiScVsPhi_propVtx
MonitorElement * h2_ele_dPhiScVsEta_propVtx
MonitorElement * h2_ele_dPhiEleClVsPhi_propOut
float convDist() const
Definition: GsfElectron.h:582
MonitorElement * h1_ele_dEtaCl_propOut_all
MonitorElement * h2_ele_PinVsPoutShowering_mean
float convRadius() const
Definition: GsfElectron.h:584
MonitorElement * h2_ele_E2mnE1vsMee_all
uint16_t size_type
MonitorElement * h2_ele_seed_drz2VsPt_
bool isEEDeeGap() const
Definition: GsfElectron.h:336
MonitorElement * h1_ele_HoE_bc_endcaps
MonitorElement * h1_ele_superclusterfbrem_endcaps
MonitorElement * h1_ele_neutralHadronRelativeIso_endcaps
MonitorElement * h1_scl_full5x5_sigmaIetaIeta_endcaps_
float superClusterFbrem() const
Definition: GsfElectron.h:720
MonitorElement * h2_ele_ambiguousTracksVsEta
MonitorElement * h2_ele_outerPtVsPt_mode
bool isEE() const
Definition: GsfElectron.h:329
bool isEB() const
Definition: GsfElectron.h:328
MonitorElement * h2_ele_E2mnE1vsMee_egeg_all
MonitorElement * h2_ele_PtinVsPtoutShowering_mean
MonitorElement * h2_ele_PhiMnPhimatchingObjectVsPt
const Double_t pi
MonitorElement * h2_ele_dEtaEleClVsEta_propOut
MonitorElement * h2_ele_PinMnPoutVsChi2_mode
float convDcot() const
Definition: GsfElectron.h:583
float full5x5_sigmaIetaIeta() const
Definition: GsfElectron.h:435
void Fill(long long x)
MonitorElement * h1_ele_matchingObjectEta_matched
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
MonitorElement * h1_scl_E2x5max_endcaps_
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")
float dr04HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:537
MonitorElement * h2_ele_EeleOPoutVsEta
MonitorElement * h2_ele_PinMnPoutVsPt_mode
MonitorElement * h1_ele_dEtaCl_propOut
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:225
int iEvent
Definition: GenABIO.cc:224
MonitorElement * h2_ele_dEtaScVsEta_propVtx
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth1
MonitorElement * h2_ele_foundHitsVsPhi
float hadronicOverEm() const
Definition: GsfElectron.h:468
float dr03HcalDepth2TowerSumEtBc() const
Definition: GsfElectron.h:528
MonitorElement * h1_ele_chargedHadronRelativeIso_barrel
MonitorElement * h2_ele_dEtaScVsPt_propVtx
float eSeedClusterOverP() const
Definition: GsfElectron.h:222
MonitorElement * h2_ele_PtinVsPtoutShowering_mode
MonitorElement * h2_ele_dEtaClVsPt_propOut
MonitorElement * h1_ele_PhiMnPhimatchingObject
float dr04EcalRecHitSumEt() const
Definition: GsfElectron.h:535
MonitorElement * h1_ele_dPhiCl_propOut
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal04Tag_
MonitorElement * h1_recOfflineVertices_
MonitorElement * h1_scl_EoEmatchingObject_barrel
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth2
MonitorElement * h2_ele_PoPmatchingObjectVsEta
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:229
MonitorElement * h2_ele_dPhiClVsPt_propOut
MonitorElement * h1_ele_chargedHadronIso_barrel
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * bookP1(DQMStore::IBooker &, const std::string &name, const std::string &title, int nchX, double lowX, double highX, double lowY, double highY, const std::string &titleX="", const std::string &titleY="", Option_t *option="E1 P")
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk04Tag_
math::XYZVectorF trackMomentumOut() const
Definition: GsfElectron.h:270
MonitorElement * h2_ele_dPhiEleClVsPt_propOut
MonitorElement * h1_ele_tkSumPt_dr04_endcaps
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Definition: GsfElectron.h:602
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:228
MonitorElement * h1_ele_hcalDepth1OverEcalBc
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsTk03Tag_
MonitorElement * h2_ele_dEtaEleClVsPhi_propOut
const Point & vertex() const override
vertex position (overwritten by PF...)
MonitorElement * h1_ele_dEtaEleCl_propOut_endcaps
MonitorElement * h1_ele_PoPmatchingObject
const double infinity
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth1
float dr04HcalDepth1TowerSumEtBc() const
Definition: GsfElectron.h:539
float dr03TkSumPt() const
Definition: GsfElectron.h:521
MonitorElement * h1_ele_convRadius_all
MonitorElement * h2_ele_PinMnPoutVsEta_mode
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * h1_ele_lostHits_barrel
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth2
MonitorElement * h1_ele_neutralHadronIso_barrel
float dr03HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:524
MonitorElement * h1_ele_photonRelativeIso_endcaps
float eEleClusterOverPout() const
Definition: GsfElectron.h:224
void setBookPrefix(const std::string &)
edm::EDGetTokenT< reco::VertexCollection > offlineVerticesCollection_
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
Definition: GsfElectron.h:601
float eSeedClusterOverPout() const
Definition: GsfElectron.h:223
MonitorElement * h2_ele_vertexEtaVsPhi
MonitorElement * h1_ele_seed_mask_tec_
MonitorElement * h2_ele_outerPtVsPhi_mode
MonitorElement * h1_ele_dPhiCl_propOut_endcaps
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1_endcaps
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalReduced03Tag_
MonitorElement * h2_ele_seed_drz2posVsEta_
bool isValid() const
Definition: HandleBase.h:70
float hcalOverEcalBc() const
Definition: GsfElectron.h:425
MonitorElement * h1_ele_superclusterfbrem_barrel
MonitorElement * h2_ele_vertexTIPVsEta
MonitorElement * h1_ele_chargedHadronRelativeIso
MonitorElement * h1_ele_hcalTowerSumEt_dr03_depth1
MonitorElement * h2_ele_PinMnPoutVsE_mode
MonitorElement * h2_ele_PinMnPoutVsPhi_mode
MonitorElement * h2_ele_dEtaEleClVsPt_propOut
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:464
d
Definition: ztail.py:151
MonitorElement * h1_ele_foundHits_barrel
edm::Ref< GsfElectronCollection > GsfElectronRef
reference to an object in a collection of GsfElectron objects
float deltaPhiEleClusterTrackAtCalo() const
Definition: GsfElectron.h:230
MonitorElement * h2_ele_PoPmatchingObjectVsPt
MonitorElement * h1_ele_seed_dphi2pos_
void setBookEfficiencyFlag(const bool &)
MonitorElement * h1_ele_neutralHadronRelativeIso_barrel
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
MonitorElement * h2_ele_dEtaClVsEta_propOut
MonitorElement * h1_ele_mva_barrel_isolated
MonitorElement * h1_ele_superclusterfbrem
MonitorElement * h1_scl_EoEmatchingObject_endcaps
MonitorElement * h2_ele_PinVsPoutGolden_mode
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
double p() const final
magnitude of momentum vector
MonitorElement * h1_ele_tkSumPt_dr04_barrel
MonitorElement * h1_ele_ecalRecHitSumEt_dr04
MonitorElement * h1_scl_full5x5_sigmaIetaIeta_
MonitorElement * h1_ele_photonRelativeIso
MonitorElement * h2_ele_seed_dphi2VsPt_
T const * product() const
Definition: Handle.h:69
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1_endcaps
MonitorElement * h2_ele_dEtaClVsPhi_propOut
MonitorElement * h2_ele_seed_drz2VsEta_
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
float deltaEtaEleClusterTrackAtCalo() const
Definition: GsfElectron.h:227
MonitorElement * h1_ele_PoPmatchingObject_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_barrel
Classification classification() const
Definition: GsfElectron.h:722
MonitorElement * h2_ele_outerPtVsEta_mode
float hcalDepth2OverEcalBc() const
Definition: GsfElectron.h:424
REF castTo() const
Definition: RefToBase.h:257
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth1_barrel
MonitorElement * h1_ele_seed_mask_fpix_
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1_barrel
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
Definition: GsfElectron.h:682
float dr04HcalDepth2TowerSumEtBc() const
Definition: GsfElectron.h:540
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth1_endcaps
MonitorElement * h2_ele_PinVsPoutGolden_mean
MonitorElement * h1_ele_EeleOPout_barrel
double py() const final
y coordinate of momentum vector
MonitorElement * h2_ele_EeleOPoutVsPhi
MonitorElement * h1_ele_dPhiSc_propVtx
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth2
MonitorElement * h1_scl_SigIEtaIEta_barrel_
MonitorElement * h1_ele_photonRelativeIso_barrel
float mva_Isolated() const
Definition: GsfElectron.h:664
MonitorElement * h1_ele_neutralHadronIso
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:523
float mva_e_pi() const
Definition: GsfElectron.h:665
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsHcal03Tag_
MonitorElement * h2_ele_dPhiClVsPhi_propOut
MonitorElement * h2_ele_seed_dphi2posVsEta_
MonitorElement * h1_ele_EoPout_endcaps
edm::EventID id() const
Definition: EventBase.h:59
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:226
MonitorElement * h2_ele_PhiMnPhimatchingObjectVsEta
fixed size matrix
MonitorElement * h2_ele_EtaMnEtamatchingObjectVsPhi
MonitorElement * h1_ele_matchingObjectPhi_matched
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")
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")
MonitorElement * h1_ele_ecalRecHitSumEt_dr03_endcaps
MonitorElement * h1_scl_SigIEtaIEta_endcaps_
MonitorElement * h1_ele_EtaMnEtamatchingObject
int convFlags() const
Definition: GsfElectron.h:580
MonitorElement * h1_ele_dPhiEleCl_propOut_endcaps
MonitorElement * h2_ele_dEtaScVsPhi_propVtx
MonitorElement * h2_ele_PhiMnPhimatchingObjectVsPhi
MonitorElement * h1_ele_hcalDepth2OverEcalBc_barrel
bool isEBPhiGap() const
Definition: GsfElectron.h:334
MonitorElement * h1_ele_dPhiEleCl_propOut
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:155
MonitorElement * h1_ele_EseedOP_barrel
MonitorElement * h1_scl_ESFrac_endcaps
bool trackerDrivenSeed() const
Definition: GsfElectron.h:159
MonitorElement * h1_ele_dEtaEleCl_propOut
MonitorElement * h2_ele_seed_drz2posVsPt_
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth2_endcaps
const Point & position() const
position
Definition: BeamSpot.h:59
float scE5x5() const
Definition: GsfElectron.h:467
edm::EDGetTokenT< edm::ValueMap< double > > isoFromDepsEcalFull04Tag_
MonitorElement * h1_ele_dPhiSc_propVtx_endcaps
MonitorElement * h1_scl_EoEmatchingObjectShowering_endcaps
MonitorElement * h1_ele_dEtaSc_propVtx_endcaps
MonitorElement * h2_ele_seed_dphi2VsEta_
MonitorElement * h1_ele_hcalTowerSumEtBc_dr04_depth2_barrel
MonitorElement * h2_ele_dPhiClVsEta_propOut
MonitorElement * h1_ele_dEtaCl_propOut_barrel
MonitorElement * h2_ele_dPhiScVsPt_propVtx
float hcalDepth1OverEcalBc() const
Definition: GsfElectron.h:423
MonitorElement * h1_ele_dPhiSc_propVtx_barrel
MonitorElement * h1_ele_hcalTowerSumEt_dr04_depth1
MonitorElement * h1_ele_hcalDepth2OverEcalBc_endcaps
void setBookStatOverflowFlag(const bool &)
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;
Definition: GsfElectron.h:600
MonitorElement * h1_ele_dPhiCl_propOut_barrel
float caloEnergy() const
Definition: GsfElectron.h:815
MonitorElement * h1_ele_chargedHadronIso
double phi() const final
momentum azimuthal angle
MonitorElement * h1_ele_matchingObjectZ_matched
MonitorElement * h2_ele_PtinVsPtoutGolden_mean
MonitorElement * h1_ele_dPhiEleCl_propOut_barrel
edm::EDGetTokenT< reco::GsfElectronCoreCollection > electronCoreCollection_
MonitorElement * h1_ele_neutralHadronRelativeIso
MonitorElement * h1_ele_hcalTowerSumEtBc_dr03_depth2_barrel
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
MonitorElement * h1_ele_provenance_barrel
MonitorElement * h1_ele_PinMnPout_mode
MonitorElement * h2_ele_outerPVsEta_mode
Definition: Run.h:45
MonitorElement * h1_ele_PoPmatchingObject_barrel
float scE1x5() const
Definition: GsfElectron.h:465
MonitorElement * h1_scl_full5x5_sigmaIetaIeta_barrel_
MonitorElement * h2_ele_dPhiEleClVsEta_propOut
MonitorElement * h1_ele_ambiguousTracks
bool ecalDrivenSeed() const
Definition: GsfElectron.h:158
MonitorElement * h1_ele_ecalRecHitSumEt_dr04_endcaps
MonitorElement * h1_ele_EeleOPout_endcaps
MonitorElement * h1_ele_chargedHadronRelativeIso_endcaps