CMS 3D CMS Logo

GsfElectronMCFakeAnalyzer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: RecoEgamma/Examples
4 // Class: GsfElectronMCFakeAnalyzer
5 //
13 //
14 // Original Author: Ursula Berthon
15 // Created: Mon Mar 27 13:22:06 CEST 2006
16 //
17 //
18 
19 // user include files
21 
32 
38 
39 #include "CLHEP/Units/GlobalPhysicalConstants.h"
40 #include "TMath.h"
41 #include "TFile.h"
42 #include "TH1F.h"
43 #include "TH1I.h"
44 #include "TH2F.h"
45 #include "TProfile.h"
46 #include "TTree.h"
47 #include <iostream>
48 
49 using namespace reco;
50 
52  : beamSpot_(conf.getParameter<edm::InputTag>("beamSpot")) {
53  outputFile_ = conf.getParameter<std::string>("outputFile");
54  histfile_ = new TFile(outputFile_.c_str(), "RECREATE");
55  electronCollection_ = conf.getParameter<edm::InputTag>("electronCollection");
56  matchingObjectCollection_ = conf.getParameter<edm::InputTag>("matchingObjectCollection");
57  readAOD_ = conf.getParameter<bool>("readAOD");
58  maxPt_ = conf.getParameter<double>("MaxPt");
59  maxAbsEta_ = conf.getParameter<double>("MaxAbsEta");
60  deltaR_ = conf.getParameter<double>("DeltaR");
61 
62  edm::ParameterSet pset = conf.getParameter<edm::ParameterSet>("HistosConfigurationFake");
63 
64  etamin = pset.getParameter<double>("Etamin");
65  etamax = pset.getParameter<double>("Etamax");
66  phimin = pset.getParameter<double>("Phimin");
67  phimax = pset.getParameter<double>("Phimax");
68  ptmax = pset.getParameter<double>("Ptmax");
69  pmax = pset.getParameter<double>("Pmax");
70  eopmax = pset.getParameter<double>("Eopmax");
71  eopmaxsht = pset.getParameter<double>("Eopmaxsht");
72  detamin = pset.getParameter<double>("Detamin");
73  detamax = pset.getParameter<double>("Detamax");
74  dphimin = pset.getParameter<double>("Dphimin");
75  dphimax = pset.getParameter<double>("Dphimax");
76  detamatchmin = pset.getParameter<double>("Detamatchmin");
77  detamatchmax = pset.getParameter<double>("Detamatchmax");
78  dphimatchmin = pset.getParameter<double>("Dphimatchmin");
79  dphimatchmax = pset.getParameter<double>("Dphimatchmax");
80  fhitsmax = pset.getParameter<double>("Fhitsmax");
81  lhitsmax = pset.getParameter<double>("Lhitsmax");
82  nbineta = pset.getParameter<int>("Nbineta");
83  nbineta2D = pset.getParameter<int>("Nbineta2D");
84  nbinp = pset.getParameter<int>("Nbinp");
85  nbinpt = pset.getParameter<int>("Nbinpt");
86  nbinp2D = pset.getParameter<int>("Nbinp2D");
87  nbinpt2D = pset.getParameter<int>("Nbinpt2D");
88  nbinpteff = pset.getParameter<int>("Nbinpteff");
89  nbinphi = pset.getParameter<int>("Nbinphi");
90  nbinphi2D = pset.getParameter<int>("Nbinphi2D");
91  nbineop = pset.getParameter<int>("Nbineop");
92  nbineop2D = pset.getParameter<int>("Nbineop2D");
93  nbinfhits = pset.getParameter<int>("Nbinfhits");
94  nbinlhits = pset.getParameter<int>("Nbinlhits");
95  nbinxyz = pset.getParameter<int>("Nbinxyz");
96  nbindeta = pset.getParameter<int>("Nbindeta");
97  nbindphi = pset.getParameter<int>("Nbindphi");
98  nbindetamatch = pset.getParameter<int>("Nbindetamatch");
99  nbindphimatch = pset.getParameter<int>("Nbindphimatch");
100  nbindetamatch2D = pset.getParameter<int>("Nbindetamatch2D");
101  nbindphimatch2D = pset.getParameter<int>("Nbindphimatch2D");
102  nbinmee = pset.getParameter<int>("Nbinmee");
103  meemin = pset.getParameter<double>("Meemin");
104  meemax = pset.getParameter<double>("Meemax");
105  nbinhoe = pset.getParameter<int>("Nbinhoe");
106  hoemin = pset.getParameter<double>("Hoemin");
107  hoemax = pset.getParameter<double>("Hoemax");
108 }
109 
111  // do anything here that needs to be done at desctruction time
112  // (e.g. close files, deallocate resources etc.)
113  histfile_->Write();
114  histfile_->Close();
115 }
116 
118  histfile_->cd();
119 
120  // matching object
121  std::string::size_type locJet = matchingObjectCollection_.label().find("ak4GenJets", 0);
122  std::string type_;
123  if (locJet != std::string::npos) {
124  std::cout << "Matching objects are GenJets " << std::endl;
125  type_ = "GenJet";
126  } else {
127  std::cout << "Didn't recognize input matching objects!! " << std::endl;
128  }
129 
130  std::string htitle, hlabel;
131  hlabel = "h_" + type_ + "Num";
132  htitle = "# " + type_ + "s";
133  h_matchingObjectNum = new TH1F(hlabel.c_str(), htitle.c_str(), nbinfhits, 0., fhitsmax);
134 
135  // rec event
136  histNum_ = new TH1F("h_recEleNum", "# rec electrons", 20, 0., 20.);
137 
138  // matching object distributions
139  hlabel = "h_matchingObject_eta";
140  htitle = type_ + " #eta";
141  h_matchingObjectEta = new TH1F(hlabel.c_str(), htitle.c_str(), nbineta, etamin, etamax);
142  hlabel = "h_matchingObject_abseta";
143  htitle = type_ + " |#eta|";
144  h_matchingObjectAbsEta = new TH1F(hlabel.c_str(), htitle.c_str(), nbineta / 2, 0., etamax);
145  hlabel = "h_matchingObject_P";
146  htitle = type_ + " p";
147  h_matchingObjectP = new TH1F(hlabel.c_str(), htitle.c_str(), nbinp, 0., pmax);
148  hlabel = "h_matchingObject_Pt";
149  htitle = type_ + " pt";
150  h_matchingObjectPt = new TH1F(hlabel.c_str(), htitle.c_str(), nbinpteff, 5., ptmax);
151  hlabel = "h_matchingObject_phi";
152  htitle = type_ + " phi";
153  h_matchingObjectPhi = new TH1F(hlabel.c_str(), htitle.c_str(), nbinphi, phimin, phimax);
154  hlabel = "h_matchingObject_z";
155  htitle = type_ + " z";
156  h_matchingObjectZ = new TH1F(hlabel.c_str(), htitle.c_str(), nbinxyz, -25, 25);
157 
158  // all electrons
159  h_ele_EoverP_all = new TH1F("h_ele_EoverP_all", "ele E/P_{vertex}, all reco electrons", nbineop, 0., eopmax);
160  h_ele_EseedOP_all = new TH1F("h_ele_EseedOP_all", "ele E_{seed}/P_{vertex}, all reco electrons", nbineop, 0., eopmax);
161  h_ele_EoPout_all = new TH1F("h_ele_EoPout_all", "ele E_{seed}/P_{out}, all reco electrons", nbineop, 0., eopmax);
162  h_ele_EeleOPout_all = new TH1F("h_ele_EeleOPout_all", "ele E_{ele}/P_{out}, all reco electrons", nbineop, 0., eopmax);
163  h_ele_dEtaSc_propVtx_all = new TH1F("h_ele_dEtaSc_propVtx_all",
164  "ele #eta_{sc} - #eta_{tr}, prop from vertex, all reco electrons",
166  detamatchmin,
167  detamatchmax);
168  h_ele_dPhiSc_propVtx_all = new TH1F("h_ele_dPhiSc_propVtx_all",
169  "ele #phi_{sc} - #phi_{tr}, prop from vertex, all reco electrons",
171  dphimatchmin,
172  dphimatchmax);
173  h_ele_dEtaCl_propOut_all = new TH1F("h_ele_dEtaCl_propOut_all",
174  "ele #eta_{cl} - #eta_{tr}, prop from outermost, all reco electrons",
176  detamatchmin,
177  detamatchmax);
178  h_ele_dPhiCl_propOut_all = new TH1F("h_ele_dPhiCl_propOut_all",
179  "ele #phi_{cl} - #phi_{tr}, prop from outermost, all reco electrons",
181  dphimatchmin,
182  dphimatchmax);
183  h_ele_TIP_all = new TH1F("h_ele_TIP_all", "ele vertex transverse radius, all reco electrons", 100, 0., 0.2);
184  h_ele_HoE_all =
185  new TH1F("h_ele_HoE_all", "ele hadronic energy / em energy, all reco electrons", nbinhoe, hoemin, hoemax);
186  h_ele_vertexEta_all = new TH1F("h_ele_vertexEta_all", "ele eta, all reco electrons", nbineta, etamin, etamax);
187  h_ele_vertexEta_all->Sumw2();
188  h_ele_vertexPt_all = new TH1F("h_ele_vertexPt_all", "ele p_{T}, all reco electrons", nbinpteff, 5., ptmax);
189  h_ele_vertexPt_all->Sumw2();
190  h_ele_mee_all = new TH1F("h_ele_mee_all", "ele pairs invariant mass, all reco electrons", nbinmee, meemin, meemax);
191  h_ele_mee_os = new TH1F("h_ele_mee_os", "ele pairs invariant mass, opp. sign", nbinmee, meemin, meemax);
192 
193  // duplicates
194  h_ele_E2mnE1vsMee_all = new TH2F("h_ele_E2mnE1vsMee_all",
195  "E2 - E1 vs ele pairs invariant mass, all electrons",
196  nbinmee,
197  meemin,
198  meemax,
199  100,
200  -50.,
201  50.);
202  h_ele_E2mnE1vsMee_egeg_all = new TH2F("h_ele_E2mnE1vsMee_egeg_all",
203  "E2 - E1 vs ele pairs invariant mass, ecal driven pairs, all electrons",
204  nbinmee,
205  meemin,
206  meemax,
207  100,
208  -50.,
209  50.);
210 
211  // matched electrons
212 
214  new TH1F("h_ele_matchingObjectPt_matched", "Efficiency vs matching jet p_{T}", nbinpteff, 5., ptmax);
217  new TH1F("h_ele_matchingObjectAbsEta_matched", "Efficiency vs matching jet |#eta|", nbineta / 2, 0., 2.5);
220  new TH1F("h_ele_matchingObjectEta_matched", "Efficiency vs matching jet #eta", nbineta, etamin, etamax);
223  new TH1F("h_ele_matchingObjectPhi_matched", "Efficiency vs matching jet phi", nbinphi, phimin, phimax);
226  new TH1F("h_ele_matchingObjectZ_matched", "Efficiency vs matching jet z", nbinxyz, -25, 25);
228 
229  h_ele_charge = new TH1F("h_ele_charge", "ele charge", 5, -2., 2.);
230  h_ele_chargeVsEta = new TH2F("h_ele_chargeVsEta", "ele charge vs eta", nbineta2D, etamin, etamax, 5, -2., 2.);
231  h_ele_chargeVsPhi = new TH2F("h_ele_chargeVsPhi", "ele charge vs phi", nbinphi2D, phimin, phimax, 5, -2., 2.);
232  h_ele_chargeVsPt = new TH2F("h_ele_chargeVsPt", "ele charge vs pt", nbinpt, 0., 100., 5, -2., 2.);
233  h_ele_vertexP = new TH1F("h_ele_vertexP", "ele momentum", nbinp, 0., pmax);
234  h_ele_vertexPt = new TH1F("h_ele_vertexPt", "ele transverse momentum", nbinpt, 0., ptmax);
236  new TH2F("h_ele_vertexPtVsEta", "ele transverse momentum vs eta", nbineta2D, etamin, etamax, nbinpt2D, 0., ptmax);
238  new TH2F("h_ele_vertexPtVsPhi", "ele transverse momentum vs phi", nbinphi2D, phimin, phimax, nbinpt2D, 0., ptmax);
239  h_ele_vertexEta = new TH1F("h_ele_vertexEta", "ele momentum eta", nbineta, etamin, etamax);
241  new TH2F("h_ele_vertexEtaVsPhi", "ele momentum eta vs phi", nbineta2D, etamin, etamax, nbinphi2D, phimin, phimax);
242  h_ele_vertexPhi = new TH1F("h_ele_vertexPhi", "ele momentum #phi", nbinphi, phimin, phimax);
243  h_ele_vertexX = new TH1F("h_ele_vertexX", "ele vertex x", nbinxyz, -0.1, 0.1);
244  h_ele_vertexY = new TH1F("h_ele_vertexY", "ele vertex y", nbinxyz, -0.1, 0.1);
245  h_ele_vertexZ = new TH1F("h_ele_vertexZ", "ele vertex z", nbinxyz, -25, 25);
246  h_ele_vertexTIP = new TH1F("h_ele_vertexTIP", "ele transverse impact parameter (wrt bs)", 90, 0., 0.15);
247  h_ele_vertexTIPVsEta = new TH2F("h_ele_vertexTIPVsEta",
248  "ele transverse impact parameter (wrt bs) vs eta",
249  nbineta2D,
250  etamin,
251  etamax,
252  45,
253  0.,
254  0.15);
255  h_ele_vertexTIPVsPhi = new TH2F("h_ele_vertexTIPVsPhi",
256  "ele transverse impact parameter (wrt bs) vs phi",
257  nbinphi2D,
258  phimin,
259  phimax,
260  45,
261  0.,
262  0.15);
263  h_ele_vertexTIPVsPt = new TH2F(
264  "h_ele_vertexTIPVsPt", "ele transverse impact parameter (wrt bs) vs Pt", nbinpt2D, 0., ptmax, 45, 0., 0.15);
265 
266  h_ele_PoPmatchingObject = new TH1F("h_ele_PoPmatchingObject", "ele momentum / matching jet momentum", 75, 0., 1.5);
267  h_ele_PoPmatchingObjectVsEta = new TH2F("h_ele_PoPmatchingObjectVsEta",
268  "ele momentum / matching jet momentum vs eta",
269  nbineta2D,
270  etamin,
271  etamax,
272  50,
273  0.,
274  1.5);
275  h_ele_PoPmatchingObjectVsPhi = new TH2F("h_ele_PoPmatchingObjectVsPhi",
276  "ele momentum / matching jet momentum vs phi",
277  nbinphi2D,
278  phimin,
279  phimax,
280  50,
281  0.,
282  1.5);
283  h_ele_PoPmatchingObjectVsPt = new TH2F(
284  "h_ele_PoPmatchingObjectVsPt", "ele momentum / matching jet momentum vs eta", nbinpt2D, 0., ptmax, 50, 0., 1.5);
286  new TH1F("h_ele_PoPmatchingObject_barrel", "ele momentum / matching jet momentum, barrel", 75, 0., 1.5);
288  new TH1F("h_ele_PoPmatchingObject_endcaps", "ele momentum / matching jet momentum, endcaps", 75, 0., 1.5);
289 
291  new TH1F("h_ele_EtaMnEtamatchingObject", "ele momentum eta - matching jet eta", nbindeta, detamin, detamax);
292  h_ele_EtaMnEtamatchingObjectVsEta = new TH2F("h_ele_EtaMnEtamatchingObjectVsEta",
293  "ele momentum eta - matching jet eta vs eta",
294  nbineta2D,
295  etamin,
296  etamax,
297  nbindeta / 2,
298  detamin,
299  detamax);
300  h_ele_EtaMnEtamatchingObjectVsPhi = new TH2F("h_ele_EtaMnEtamatchingObjectVsPhi",
301  "ele momentum eta - matching jet eta vs phi",
302  nbinphi2D,
303  phimin,
304  phimax,
305  nbindeta / 2,
306  detamin,
307  detamax);
308  h_ele_EtaMnEtamatchingObjectVsPt = new TH2F("h_ele_EtaMnEtamatchingObjectVsPt",
309  "ele momentum eta - matching jet eta vs pt",
310  nbinpt,
311  0.,
312  ptmax,
313  nbindeta / 2,
314  detamin,
315  detamax);
317  new TH1F("h_ele_PhiMnPhimatchingObject", "ele momentum phi - matching jet phi", nbindphi, dphimin, dphimax);
318  h_ele_PhiMnPhimatchingObject2 = new TH1F("h_ele_PhiMnPhimatchingObject2",
319  "ele momentum phi - matching jet phi",
321  dphimatchmin,
322  dphimatchmax);
323  h_ele_PhiMnPhimatchingObjectVsEta = new TH2F("h_ele_PhiMnPhimatchingObjectVsEta",
324  "ele momentum phi - matching SC phi vs eta",
325  nbineta2D,
326  etamin,
327  etamax,
328  nbindphi / 2,
329  dphimin,
330  dphimax);
331  h_ele_PhiMnPhimatchingObjectVsPhi = new TH2F("h_ele_PhiMnPhimatchingObjectVsPhi",
332  "ele momentum phi - matching SC phi vs phi",
333  nbinphi2D,
334  phimin,
335  phimax,
336  nbindphi / 2,
337  dphimin,
338  dphimax);
339  h_ele_PhiMnPhimatchingObjectVsPt = new TH2F("h_ele_PhiMnPhimatchingObjectVsPt",
340  "ele momentum phi - matching SC phi vs pt",
341  nbinpt2D,
342  0.,
343  ptmax,
344  nbindphi / 2,
345  dphimin,
346  dphimax);
347 
348  // matched electron, superclusters
349  histSclEn_ = new TH1F("h_scl_energy", "ele supercluster energy", nbinp, 0., pmax);
351  new TH1F("h_scl_EoEmatchingObject_barrel", "ele supercluster energy / matching jet energy, barrel", 50, 0.2, 1.2);
353  "h_scl_EoEmatchingObject_endcaps", "ele supercluster energy / matching jet energy, endcaps", 50, 0.2, 1.2);
354  histSclEt_ = new TH1F("h_scl_et", "ele supercluster transverse energy", nbinpt, 0., ptmax);
355  histSclEtVsEta_ = new TH2F(
356  "h_scl_etVsEta", "ele supercluster transverse energy vs eta", nbineta2D, etamin, etamax, nbinpt, 0., ptmax);
357  histSclEtVsPhi_ = new TH2F(
358  "h_scl_etVsPhi", "ele supercluster transverse energy vs phi", nbinphi2D, phimin, phimax, nbinpt, 0., ptmax);
360  new TH2F("h_scl_etaVsPhi", "ele supercluster eta vs phi", nbinphi2D, phimin, phimax, nbineta2D, etamin, etamax);
361  histSclEta_ = new TH1F("h_scl_eta", "ele supercluster eta", nbineta, etamin, etamax);
362  histSclPhi_ = new TH1F("h_scl_phi", "ele supercluster phi", nbinphi, phimin, phimax);
363 
364  histSclSigIEtaIEta_ = new TH1F("h_scl_sigietaieta", "ele supercluster sigma ieta ieta", 100, 0., 0.05);
366  new TH1F("h_scl_sigietaieta_barrel", "ele supercluster sigma ieta ieta, barrel", 100, 0., 0.05);
368  new TH1F("h_scl_sigietaieta_endcaps", "ele supercluster sigma ieta ieta, endcaps", 100, 0., 0.05);
369  histSclE1x5_ = new TH1F("h_scl_E1x5", "ele supercluster energy in 1x5", nbinp, 0., pmax);
370  histSclE1x5_barrel_ = new TH1F("h_scl_E1x5_barrel", "ele supercluster energy in 1x5 barrel", nbinp, 0., pmax);
371  histSclE1x5_endcaps_ = new TH1F("h_scl_E1x5_endcaps", "ele supercluster energy in 1x5 endcaps", nbinp, 0., pmax);
372  histSclE2x5max_ = new TH1F("h_scl_E2x5max", "ele supercluster energy in 2x5 max", nbinp, 0., pmax);
374  new TH1F("h_scl_E2x5max_barrel", "ele supercluster energy in 2x5 max barrel", nbinp, 0., pmax);
376  new TH1F("h_scl_E2x5max_endcaps", "ele supercluster energy in 2x5 max endcaps", nbinp, 0., pmax);
377  histSclE5x5_ = new TH1F("h_scl_E5x5", "ele supercluster energy in 5x5", nbinp, 0., pmax);
378  histSclE5x5_barrel_ = new TH1F("h_scl_E5x5_barrel", "ele supercluster energy in 5x5 barrel", nbinp, 0., pmax);
379  histSclE5x5_endcaps_ = new TH1F("h_scl_E5x5_endcaps", "ele supercluster energy in 5x5 endcaps", nbinp, 0., pmax);
380 
381  // matched electron, gsf tracks
382  h_ele_ambiguousTracks = new TH1F("h_ele_ambiguousTracks", "ele # ambiguous tracks", 5, 0., 5.);
384  new TH2F("h_ele_ambiguousTracksVsEta", "ele # ambiguous tracks vs eta", nbineta2D, etamin, etamax, 5, 0., 5.);
386  new TH2F("h_ele_ambiguousTracksVsPhi", "ele # ambiguous tracks vs phi", nbinphi2D, phimin, phimax, 5, 0., 5.);
388  new TH2F("h_ele_ambiguousTracksVsPt", "ele # ambiguous tracks vs pt", nbinpt2D, 0., ptmax, 5, 0., 5.);
389  h_ele_foundHits = new TH1F("h_ele_foundHits", "ele track # found hits", nbinfhits, 0., fhitsmax);
390  h_ele_foundHitsVsEta = new TH2F(
391  "h_ele_foundHitsVsEta", "ele track # found hits vs eta", nbineta2D, etamin, etamax, nbinfhits, 0., fhitsmax);
392  h_ele_foundHitsVsPhi = new TH2F(
393  "h_ele_foundHitsVsPhi", "ele track # found hits vs phi", nbinphi2D, phimin, phimax, nbinfhits, 0., fhitsmax);
395  new TH2F("h_ele_foundHitsVsPt", "ele track # found hits vs pt", nbinpt2D, 0., ptmax, nbinfhits, 0., fhitsmax);
396  h_ele_lostHits = new TH1F("h_ele_lostHits", "ele track # lost hits", 5, 0., 5.);
397  h_ele_lostHitsVsEta = new TH2F(
398  "h_ele_lostHitsVsEta", "ele track # lost hits vs eta", nbineta2D, etamin, etamax, nbinlhits, 0., lhitsmax);
399  h_ele_lostHitsVsPhi = new TH2F(
400  "h_ele_lostHitsVsPhi", "ele track # lost hits vs eta", nbinphi2D, phimin, phimax, nbinlhits, 0., lhitsmax);
402  new TH2F("h_ele_lostHitsVsPt", "ele track # lost hits vs eta", nbinpt2D, 0., ptmax, nbinlhits, 0., lhitsmax);
403  h_ele_chi2 = new TH1F("h_ele_chi2", "ele track #chi^{2}", 100, 0., 15.);
404  h_ele_chi2VsEta = new TH2F("h_ele_chi2VsEta", "ele track #chi^{2} vs eta", nbineta2D, etamin, etamax, 50, 0., 15.);
405  h_ele_chi2VsPhi = new TH2F("h_ele_chi2VsPhi", "ele track #chi^{2} vs phi", nbinphi2D, phimin, phimax, 50, 0., 15.);
406  h_ele_chi2VsPt = new TH2F("h_ele_chi2VsPt", "ele track #chi^{2} vs pt", nbinpt2D, 0., ptmax, 50, 0., 15.);
407  h_ele_PinMnPout = new TH1F("h_ele_PinMnPout", "ele track inner p - outer p, mean", nbinp, 0., 200.);
408  h_ele_PinMnPout_mode = new TH1F("h_ele_PinMnPout_mode", "ele track inner p - outer p, mode", nbinp, 0., 100.);
409  h_ele_PinMnPoutVsEta_mode = new TH2F("h_ele_PinMnPoutVsEta_mode",
410  "ele track inner p - outer p vs eta, mode",
411  nbineta2D,
412  etamin,
413  etamax,
414  nbinp2D,
415  0.,
416  100.);
417  h_ele_PinMnPoutVsPhi_mode = new TH2F("h_ele_PinMnPoutVsPhi_mode",
418  "ele track inner p - outer p vs phi, mode",
419  nbinphi2D,
420  phimin,
421  phimax,
422  nbinp2D,
423  0.,
424  100.);
425  h_ele_PinMnPoutVsPt_mode = new TH2F(
426  "h_ele_PinMnPoutVsPt_mode", "ele track inner p - outer p vs pt, mode", nbinpt2D, 0., ptmax, nbinp2D, 0., 100.);
427  h_ele_PinMnPoutVsE_mode = new TH2F(
428  "h_ele_PinMnPoutVsE_mode", "ele track inner p - outer p vs E, mode", nbinp2D, 0., 200., nbinp2D, 0., 100.);
429  h_ele_PinMnPoutVsChi2_mode = new TH2F(
430  "h_ele_PinMnPoutVsChi2_mode", "ele track inner p - outer p vs track chi2, mode", 50, 0., 20., nbinp2D, 0., 100.);
431  h_ele_outerP = new TH1F("h_ele_outerP", "ele track outer p, mean", nbinp, 0., pmax);
432  h_ele_outerP_mode = new TH1F("h_ele_outerP_mode", "ele track outer p, mode", nbinp, 0., pmax);
434  new TH2F("h_ele_outerPVsEta_mode", "ele track outer p vs eta mode", nbineta2D, etamin, etamax, 50, 0., pmax);
435  h_ele_outerPt = new TH1F("h_ele_outerPt", "ele track outer p_{T}, mean", nbinpt, 0., ptmax);
436  h_ele_outerPt_mode = new TH1F("h_ele_outerPt_mode", "ele track outer p_{T}, mode", nbinpt, 0., ptmax);
437  h_ele_outerPtVsEta_mode = new TH2F(
438  "h_ele_outerPtVsEta_mode", "ele track outer p_{T} vs eta, mode", nbineta2D, etamin, etamax, nbinpt2D, 0., ptmax);
439  h_ele_outerPtVsPhi_mode = new TH2F(
440  "h_ele_outerPtVsPhi_mode", "ele track outer p_{T} vs phi, mode", nbinphi2D, phimin, phimax, nbinpt2D, 0., ptmax);
442  new TH2F("h_ele_outerPtVsPt_mode", "ele track outer p_{T} vs pt, mode", nbinpt2D, 0., 100., nbinpt2D, 0., ptmax);
443 
444  // matched electrons,cluster-track matching
445  h_ele_EoP = new TH1F("h_ele_EoP", "ele E/P_{vertex}", nbineop, 0., eopmax);
446  h_ele_EoP->Sumw2();
447  h_ele_EoP_eg = new TH1F("h_ele_EoP_eg", "ele E/P_{vertex}, ecal driven", nbineop, 0., eopmax);
448  h_ele_EoP_eg->Sumw2();
449  h_ele_EoP_barrel = new TH1F("h_ele_EoP_barrel", "ele E/P_{vertex} barrel", nbineop, 0., eopmax);
450  h_ele_EoP_barrel->Sumw2();
451  h_ele_EoP_eg_barrel = new TH1F("h_ele_EoP_eg_barrel", "ele E/P_{vertex}, ecal driven barrel", nbineop, 0., eopmax);
452  h_ele_EoP_eg_barrel->Sumw2();
453  h_ele_EoP_endcaps = new TH1F("h_ele_EoP_endcaps", "ele E/P_{vertex} endcaps", nbineop, 0., eopmax);
454  h_ele_EoP_endcaps->Sumw2();
455  h_ele_EoP_eg_endcaps = new TH1F("h_ele_EoP_eg_endcaps", "ele E/P_{vertex}, ecal driven endcaps", nbineop, 0., eopmax);
456  h_ele_EoP_eg_endcaps->Sumw2();
458  new TH2F("h_ele_EoPVsEta", "ele E/P_{vertex} vs eta", nbineta2D, etamin, etamax, nbineop2D, 0., eopmaxsht);
460  new TH2F("h_ele_EoPVsPhi", "ele E/P_{vertex} vs phi", nbinphi2D, phimin, phimax, nbineop2D, 0., eopmaxsht);
461  h_ele_EoPVsE = new TH2F("h_ele_EoPVsE", "ele E/P_{vertex} vs E", 50, 0., pmax, 50, 0., 5.);
462  h_ele_EseedOP = new TH1F("h_ele_EseedOP", "ele E_{seed}/P_{vertex}", nbineop, 0., eopmax);
463  h_ele_EseedOP->Sumw2();
464  h_ele_EseedOP_eg = new TH1F("h_ele_EseedOP_eg", "ele E_{seed}/P_{vertex}, ecal driven", nbineop, 0., eopmax);
465  h_ele_EseedOP_eg->Sumw2();
466  h_ele_EseedOP_barrel = new TH1F("h_ele_EseedOP_barrel", "ele E_{seed}/P_{vertex} barrel", nbineop, 0., eopmax);
467  h_ele_EseedOP_barrel->Sumw2();
469  new TH1F("h_ele_EseedOP_eg_barrel", "ele E_{seed}/P_{vertex}, ecal driven barrel", nbineop, 0., eopmax);
470  h_ele_EseedOP_eg_barrel->Sumw2();
471  h_ele_EseedOP_endcaps = new TH1F("h_ele_EseedOP_endcaps", "ele E_{seed}/P_{vertex} endcaps", nbineop, 0., eopmax);
472  h_ele_EseedOP_endcaps->Sumw2();
474  new TH1F("h_ele_EseedOP_eg_endcaps", "ele E_{seed}/P_{vertex}, ecal driven, endcaps", nbineop, 0., eopmax);
475  h_ele_EseedOP_eg_endcaps->Sumw2();
476  h_ele_EseedOPVsEta = new TH2F(
477  "h_ele_EseedOPVsEta", "ele E_{seed}/P_{vertex} vs eta", nbineta2D, etamin, etamax, nbineop2D, 0., eopmaxsht);
478  h_ele_EseedOPVsPhi = new TH2F(
479  "h_ele_EseedOPVsPhi", "ele E_{seed}/P_{vertex} vs phi", nbinphi2D, phimin, phimax, nbineop2D, 0., eopmaxsht);
480  h_ele_EseedOPVsE = new TH2F("h_ele_EseedOPVsE", "ele E_{seed}/P_{vertex} vs E", 50, 0., pmax, 50, 0., 5.);
481  h_ele_EoPout = new TH1F("h_ele_EoPout", "ele E_{seed}/P_{out}", nbineop, 0., eopmax);
482  h_ele_EoPout->Sumw2();
483  h_ele_EoPout_eg = new TH1F("h_ele_EoPout_eg", "ele E_{seed}/P_{out}, ecal driven", nbineop, 0., eopmax);
484  h_ele_EoPout_eg->Sumw2();
485  h_ele_EoPout_barrel = new TH1F("h_ele_EoPout_barrel", "ele E_{seed}/P_{out} barrel", nbineop, 0., eopmax);
486  h_ele_EoPout_barrel->Sumw2();
488  new TH1F("h_ele_EoPout_eg_barrel", "ele E_{seed}/P_{out}, ecal driven, barrel", nbineop, 0., eopmax);
489  h_ele_EoPout_eg_barrel->Sumw2();
490  h_ele_EoPout_endcaps = new TH1F("h_ele_EoPout_endcaps", "ele E_{seed}/P_{out} endcaps", nbineop, 0., eopmax);
491  h_ele_EoPout_endcaps->Sumw2();
493  new TH1F("h_ele_EoPout_eg_endcaps", "ele E_{seed}/P_{out}, ecal driven, endcaps", nbineop, 0., eopmax);
494  h_ele_EoPout_eg_endcaps->Sumw2();
496  new TH2F("h_ele_EoPoutVsEta", "ele E/P_{out} vs eta", nbineta2D, etamin, etamax, nbineop2D, 0., eopmaxsht);
498  new TH2F("h_ele_EoPoutVsPhi", "ele E/P_{out} vs phi", nbinphi2D, phimin, phimax, nbineop2D, 0., eopmaxsht);
499  h_ele_EoPoutVsE = new TH2F("h_ele_EoPoutVsE", "ele E/P_{out} vs E", nbinp2D, 0., pmax, nbineop2D, 0., eopmaxsht);
500  h_ele_EeleOPout = new TH1F("h_ele_EeleOPout", "ele E_{ele}/P_{out}", nbineop, 0., eopmax);
501  h_ele_EeleOPout->Sumw2();
502  h_ele_EeleOPout_eg = new TH1F("h_ele_EeleOPout_eg", "ele E_{ele}/P_{out}, ecal driven", nbineop, 0., eopmax);
503  h_ele_EeleOPout_eg->Sumw2();
504  h_ele_EeleOPout_barrel = new TH1F("h_ele_EeleOPout_barrel", "ele E_{ele}/P_{out} barrel", nbineop, 0., eopmax);
505  h_ele_EeleOPout_barrel->Sumw2();
507  new TH1F("h_ele_EeleOPout_eg_barrel", "ele E_{ele}/P_{out}, ecal driven, barrel", nbineop, 0., eopmax);
508  h_ele_EeleOPout_eg_barrel->Sumw2();
509  h_ele_EeleOPout_endcaps = new TH1F("h_ele_EeleOPout_endcaps", "ele E_{ele}/P_{out} endcaps", nbineop, 0., eopmax);
510  h_ele_EeleOPout_endcaps->Sumw2();
512  new TH1F("h_ele_EeleOPout_eg_endcaps", "ele E_{ele}/P_{out}, ecal driven, endcaps", nbineop, 0., eopmax);
514  h_ele_EeleOPoutVsEta = new TH2F(
515  "h_ele_EeleOPoutVsEta", "ele E_{ele}/P_{out} vs eta", nbineta2D, etamin, etamax, nbineop2D, 0., eopmaxsht);
516  h_ele_EeleOPoutVsPhi = new TH2F(
517  "h_ele_EeleOPoutVsPhi", "ele E_{ele}/P_{out} vs phi", nbinphi2D, phimin, phimax, nbineop2D, 0., eopmaxsht);
519  new TH2F("h_ele_EeleOPoutVsE", "ele E_{ele}/P_{out} vs E", nbinp2D, 0., pmax, nbineop2D, 0., eopmaxsht);
520  h_ele_dEtaSc_propVtx = new TH1F(
521  "h_ele_dEtaSc_propVtx", "ele #eta_{sc} - #eta_{tr}, prop from vertex", nbindetamatch, detamatchmin, detamatchmax);
522  h_ele_dEtaSc_propVtx->Sumw2();
523  h_ele_dEtaSc_propVtx_eg = new TH1F("h_ele_dEtaSc_propVtx_eg",
524  "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven",
526  detamatchmin,
527  detamatchmax);
528  h_ele_dEtaSc_propVtx_eg->Sumw2();
529  h_ele_dEtaSc_propVtx_barrel = new TH1F("h_ele_dEtaSc_propVtx_barrel",
530  "ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel",
532  detamatchmin,
533  detamatchmax);
535  h_ele_dEtaSc_propVtx_eg_barrel = new TH1F("h_ele_dEtaSc_propVtx_eg_barrel",
536  "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven, barrel",
538  detamatchmin,
539  detamatchmax);
541  h_ele_dEtaSc_propVtx_endcaps = new TH1F("h_ele_dEtaSc_propVtx_endcaps",
542  "ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps",
544  detamatchmin,
545  detamatchmax);
547  h_ele_dEtaSc_propVtx_eg_endcaps = new TH1F("h_ele_dEtaSc_propVtx_eg_endcaps",
548  "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven, endcaps",
550  detamatchmin,
551  detamatchmax);
553  h_ele_dEtaScVsEta_propVtx = new TH2F("h_ele_dEtaScVsEta_propVtx",
554  "ele #eta_{sc} - #eta_{tr} vs eta, prop from vertex",
555  nbineta2D,
556  etamin,
557  etamax,
559  detamatchmin,
560  detamatchmax);
561  h_ele_dEtaScVsPhi_propVtx = new TH2F("h_ele_dEtaScVsPhi_propVtx",
562  "ele #eta_{sc} - #eta_{tr} vs phi, prop from vertex",
563  nbinphi2D,
564  phimin,
565  phimax,
567  detamatchmin,
568  detamatchmax);
569  h_ele_dEtaScVsPt_propVtx = new TH2F("h_ele_dEtaScVsPt_propVtx",
570  "ele #eta_{sc} - #eta_{tr} vs pt, prop from vertex",
571  nbinpt2D,
572  0.,
573  ptmax,
575  detamatchmin,
576  detamatchmax);
577  h_ele_dPhiSc_propVtx = new TH1F(
578  "h_ele_dPhiSc_propVtx", "ele #phi_{sc} - #phi_{tr}, prop from vertex", nbindphimatch, dphimatchmin, dphimatchmax);
579  h_ele_dPhiSc_propVtx->Sumw2();
580  h_ele_dPhiSc_propVtx_eg = new TH1F("h_ele_dPhiSc_propVtx_eg",
581  "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven",
583  dphimatchmin,
584  dphimatchmax);
585  h_ele_dPhiSc_propVtx_eg->Sumw2();
586  h_ele_dPhiSc_propVtx_barrel = new TH1F("h_ele_dPhiSc_propVtx_barrel",
587  "ele #phi_{sc} - #phi_{tr}, prop from vertex, barrel",
589  dphimatchmin,
590  dphimatchmax);
592  h_ele_dPhiSc_propVtx_eg_barrel = new TH1F("h_ele_dPhiSc_propVtx_eg_barrel",
593  "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven, barrel",
595  dphimatchmin,
596  dphimatchmax);
598  h_ele_dPhiSc_propVtx_endcaps = new TH1F("h_ele_dPhiSc_propVtx_endcaps",
599  "ele #phi_{sc} - #phi_{tr}, prop from vertex, endcaps",
601  dphimatchmin,
602  dphimatchmax);
604  h_ele_dPhiSc_propVtx_eg_endcaps = new TH1F("h_ele_dPhiSc_propVtx_eg_endcaps",
605  "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven, endcaps",
607  dphimatchmin,
608  dphimatchmax);
610  h_ele_dPhiScVsEta_propVtx = new TH2F("h_ele_dPhiScVsEta_propVtx",
611  "ele #phi_{sc} - #phi_{tr} vs eta, prop from vertex",
612  nbineta2D,
613  etamin,
614  etamax,
616  dphimatchmin,
617  dphimatchmax);
618  h_ele_dPhiScVsPhi_propVtx = new TH2F("h_ele_dPhiScVsPhi_propVtx",
619  "ele #phi_{sc} - #phi_{tr} vs phi, prop from vertex",
620  nbinphi2D,
621  phimin,
622  phimax,
624  dphimatchmin,
625  dphimatchmax);
626  h_ele_dPhiScVsPt_propVtx = new TH2F("h_ele_dPhiScVsPt_propVtx",
627  "ele #phi_{sc} - #phi_{tr} vs pt, prop from vertex",
628  nbinpt2D,
629  0.,
630  ptmax,
632  dphimatchmin,
633  dphimatchmax);
634  h_ele_dEtaCl_propOut = new TH1F("h_ele_dEtaCl_propOut",
635  "ele #eta_{cl} - #eta_{tr}, prop from outermost",
637  detamatchmin,
638  detamatchmax);
639  h_ele_dEtaCl_propOut->Sumw2();
640  h_ele_dEtaCl_propOut_eg = new TH1F("h_ele_dEtaCl_propOut_eg",
641  "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven",
643  detamatchmin,
644  detamatchmax);
645  h_ele_dEtaCl_propOut_eg->Sumw2();
646  h_ele_dEtaCl_propOut_barrel = new TH1F("h_ele_dEtaCl_propOut_barrel",
647  "ele #eta_{cl} - #eta_{tr}, prop from outermost, barrel",
649  detamatchmin,
650  detamatchmax);
652  h_ele_dEtaCl_propOut_eg_barrel = new TH1F("h_ele_dEtaCl_propOut_eg_barrel",
653  "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven, barrel",
655  detamatchmin,
656  detamatchmax);
658  h_ele_dEtaCl_propOut_endcaps = new TH1F("h_ele_dEtaCl_propOut_endcaps",
659  "ele #eta_{cl} - #eta_{tr}, prop from outermost, endcaps",
661  detamatchmin,
662  detamatchmax);
664  h_ele_dEtaCl_propOut_eg_endcaps = new TH1F("h_ele_dEtaCl_propOut_eg_endcaps",
665  "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven, endcaps",
667  detamatchmin,
668  detamatchmax);
670  h_ele_dEtaClVsEta_propOut = new TH2F("h_ele_dEtaClVsEta_propOut",
671  "ele #eta_{cl} - #eta_{tr} vs eta, prop from out",
672  nbineta2D,
673  etamin,
674  etamax,
676  detamatchmin,
677  detamatchmax);
678  h_ele_dEtaClVsPhi_propOut = new TH2F("h_ele_dEtaClVsPhi_propOut",
679  "ele #eta_{cl} - #eta_{tr} vs phi, prop from out",
680  nbinphi2D,
681  phimin,
682  phimax,
684  detamatchmin,
685  detamatchmax);
686  h_ele_dEtaClVsPt_propOut = new TH2F("h_ele_dEtaScVsPt_propOut",
687  "ele #eta_{cl} - #eta_{tr} vs pt, prop from out",
688  nbinpt2D,
689  0.,
690  ptmax,
692  detamatchmin,
693  detamatchmax);
694  h_ele_dPhiCl_propOut = new TH1F("h_ele_dPhiCl_propOut",
695  "ele #phi_{cl} - #phi_{tr}, prop from outermost",
697  dphimatchmin,
698  dphimatchmax);
699  h_ele_dPhiCl_propOut->Sumw2();
700  h_ele_dPhiCl_propOut_eg = new TH1F("h_ele_dPhiCl_propOut_eg",
701  "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven",
703  dphimatchmin,
704  dphimatchmax);
705  h_ele_dPhiCl_propOut_eg->Sumw2();
706  h_ele_dPhiCl_propOut_barrel = new TH1F("h_ele_dPhiCl_propOut_barrel",
707  "ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel",
709  dphimatchmin,
710  dphimatchmax);
712  h_ele_dPhiCl_propOut_eg_barrel = new TH1F("h_ele_dPhiCl_propOut_eg_barrel",
713  "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven, barrel",
715  dphimatchmin,
716  dphimatchmax);
718  h_ele_dPhiCl_propOut_endcaps = new TH1F("h_ele_dPhiCl_propOut_endcaps",
719  "ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps",
721  dphimatchmin,
722  dphimatchmax);
724  h_ele_dPhiCl_propOut_eg_endcaps = new TH1F("h_ele_dPhiCl_propOut_eg_endcaps",
725  "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven, endcaps",
727  dphimatchmin,
728  dphimatchmax);
730  h_ele_dPhiClVsEta_propOut = new TH2F("h_ele_dPhiClVsEta_propOut",
731  "ele #phi_{cl} - #phi_{tr} vs eta, prop from out",
732  nbineta2D,
733  etamin,
734  etamax,
736  dphimatchmin,
737  dphimatchmax);
738  h_ele_dPhiClVsPhi_propOut = new TH2F("h_ele_dPhiClVsPhi_propOut",
739  "ele #phi_{cl} - #phi_{tr} vs phi, prop from out",
740  nbinphi2D,
741  phimin,
742  phimax,
744  dphimatchmin,
745  dphimatchmax);
746  h_ele_dPhiClVsPt_propOut = new TH2F("h_ele_dPhiSClsPt_propOut",
747  "ele #phi_{cl} - #phi_{tr} vs pt, prop from out",
748  nbinpt2D,
749  0.,
750  ptmax,
752  dphimatchmin,
753  dphimatchmax);
754  h_ele_dEtaEleCl_propOut = new TH1F("h_ele_dEtaEleCl_propOut",
755  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost",
757  detamatchmin,
758  detamatchmax);
759  h_ele_dEtaEleCl_propOut->Sumw2();
760  h_ele_dEtaEleCl_propOut_eg = new TH1F("h_ele_dEtaEleCl_propOut_eg",
761  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven",
763  detamatchmin,
764  detamatchmax);
766  h_ele_dEtaEleCl_propOut_barrel = new TH1F("h_ele_dEtaEleCl_propOut_barrel",
767  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, barrel",
769  detamatchmin,
770  detamatchmax);
772  h_ele_dEtaEleCl_propOut_eg_barrel = new TH1F("h_ele_dEtaEleCl_propOut_eg_barrel",
773  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven, barrel",
775  detamatchmin,
776  detamatchmax);
778  h_ele_dEtaEleCl_propOut_endcaps = new TH1F("h_ele_dEtaEleCl_propOut_endcaps",
779  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, endcaps",
781  detamatchmin,
782  detamatchmax);
785  new TH1F("h_ele_dEtaEleCl_propOut_eg_endcaps",
786  "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven, endcaps",
788  detamatchmin,
789  detamatchmax);
791  h_ele_dEtaEleClVsEta_propOut = new TH2F("h_ele_dEtaEleClVsEta_propOut",
792  "ele #eta_{EleCl} - #eta_{tr} vs eta, prop from out",
793  nbineta2D,
794  etamin,
795  etamax,
797  detamatchmin,
798  detamatchmax);
799  h_ele_dEtaEleClVsPhi_propOut = new TH2F("h_ele_dEtaEleClVsPhi_propOut",
800  "ele #eta_{EleCl} - #eta_{tr} vs phi, prop from out",
801  nbinphi2D,
802  phimin,
803  phimax,
805  detamatchmin,
806  detamatchmax);
807  h_ele_dEtaEleClVsPt_propOut = new TH2F("h_ele_dEtaScVsPt_propOut",
808  "ele #eta_{EleCl} - #eta_{tr} vs pt, prop from out",
809  nbinpt2D,
810  0.,
811  ptmax,
813  detamatchmin,
814  detamatchmax);
815  h_ele_dPhiEleCl_propOut = new TH1F("h_ele_dPhiEleCl_propOut",
816  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost",
818  dphimatchmin,
819  dphimatchmax);
820  h_ele_dPhiEleCl_propOut->Sumw2();
821  h_ele_dPhiEleCl_propOut_eg = new TH1F("h_ele_dPhiEleCl_propOut_eg",
822  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven",
824  dphimatchmin,
825  dphimatchmax);
827  h_ele_dPhiEleCl_propOut_barrel = new TH1F("h_ele_dPhiEleCl_propOut_barrel",
828  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, barrel",
830  dphimatchmin,
831  dphimatchmax);
833  h_ele_dPhiEleCl_propOut_eg_barrel = new TH1F("h_ele_dPhiEleCl_propOut_eg_barrel",
834  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven, barrel",
836  dphimatchmin,
837  dphimatchmax);
839  h_ele_dPhiEleCl_propOut_endcaps = new TH1F("h_ele_dPhiEleCl_propOut_endcaps",
840  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, endcaps",
842  dphimatchmin,
843  dphimatchmax);
846  new TH1F("h_ele_dPhiEleCl_propOut_eg_endcaps",
847  "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven, endcaps",
849  dphimatchmin,
850  dphimatchmax);
852  h_ele_dPhiEleClVsEta_propOut = new TH2F("h_ele_dPhiEleClVsEta_propOut",
853  "ele #phi_{EleCl} - #phi_{tr} vs eta, prop from out",
854  nbineta2D,
855  etamin,
856  etamax,
858  dphimatchmin,
859  dphimatchmax);
860  h_ele_dPhiEleClVsPhi_propOut = new TH2F("h_ele_dPhiEleClVsPhi_propOut",
861  "ele #phi_{EleCl} - #phi_{tr} vs phi, prop from out",
862  nbinphi2D,
863  phimin,
864  phimax,
866  dphimatchmin,
867  dphimatchmax);
868  h_ele_dPhiEleClVsPt_propOut = new TH2F("h_ele_dPhiSEleClsPt_propOut",
869  "ele #phi_{EleCl} - #phi_{tr} vs pt, prop from out",
870  nbinpt2D,
871  0.,
872  ptmax,
874  dphimatchmin,
875  dphimatchmax);
876 
877  h_ele_HoE = new TH1F("h_ele_HoE", "ele hadronic energy / em energy", nbinhoe, hoemin, hoemax);
878  h_ele_HoE->Sumw2();
879  h_ele_HoE_eg = new TH1F("h_ele_HoE_eg", "ele hadronic energy / em energy, ecal driven", nbinhoe, hoemin, hoemax);
880  h_ele_HoE_eg->Sumw2();
881  h_ele_HoE_barrel = new TH1F("h_ele_HoE_barrel", "ele hadronic energy / em energy, barrel", nbinhoe, hoemin, hoemax);
882  h_ele_HoE_barrel->Sumw2();
884  new TH1F("h_ele_HoE_eg_barrel", "ele hadronic energy / em energy, ecal driven, barrel", nbinhoe, hoemin, hoemax);
885  h_ele_HoE_eg_barrel->Sumw2();
887  new TH1F("h_ele_HoE_endcaps", "ele hadronic energy / em energy, endcaps", nbinhoe, hoemin, hoemax);
888  h_ele_HoE_endcaps->Sumw2();
889  h_ele_HoE_eg_endcaps = new TH1F(
890  "h_ele_HoE_eg_endcaps", "ele hadronic energy / em energy, ecal driven, endcaps", nbinhoe, hoemin, hoemax);
891  h_ele_HoE_eg_endcaps->Sumw2();
892  h_ele_HoE_fiducial = new TH1F("h_ele_HoE_fiducial", "ele hadronic energy / em energy", nbinhoe, hoemin, hoemax);
893  h_ele_HoEVsEta = new TH2F(
894  "h_ele_HoEVsEta", "ele hadronic energy / em energy vs eta", nbineta, etamin, etamax, nbinhoe, hoemin, hoemax);
895  h_ele_HoEVsPhi = new TH2F(
896  "h_ele_HoEVsPhi", "ele hadronic energy / em energy vs phi", nbinphi2D, phimin, phimax, nbinhoe, hoemin, hoemax);
897  h_ele_HoEVsE =
898  new TH2F("h_ele_HoEVsE", "ele hadronic energy / em energy vs E", nbinp, 0., 300., nbinhoe, hoemin, hoemax);
899 
900  h_ele_seed_dphi2_ = new TH1F("h_ele_seedDphi2", "ele seed dphi 2nd layer", 50, -0.003, +0.003);
902  new TH2F("h_ele_seedDphi2VsEta", "ele seed dphi 2nd layer vs eta", nbineta2D, etamin, etamax, 50, -0.003, +0.003);
904  new TH2F("h_ele_seedDphi2VsPt", "ele seed dphi 2nd layer vs pt", nbinpt2D, 0., ptmax, 50, -0.003, +0.003);
905  h_ele_seed_drz2_ = new TH1F("h_ele_seedDrz2", "ele seed dr/dz 2nd layer", 50, -0.03, +0.03);
907  new TH2F("h_ele_seedDrz2VsEta", "ele seed dr/dz 2nd layer vs eta", nbineta2D, etamin, etamax, 50, -0.03, +0.03);
909  new TH2F("h_ele_seedDrz2VsPt", "ele seed dr/dz 2nd layer vs pt", nbinpt2D, 0., ptmax, 50, -0.03, +0.03);
910  h_ele_seed_subdet2_ = new TH1F("h_ele_seedSubdet2", "ele seed subdet 2nd layer", 10, 0., 10.);
911 
912  // classes
913  h_ele_classes = new TH1F("h_ele_classes", "electron classes", 20, 0.0, 20.);
914  h_ele_eta = new TH1F("h_ele_eta", "ele electron eta", nbineta / 2, 0.0, etamax);
915  h_ele_eta_golden = new TH1F("h_ele_eta_golden", "ele electron eta golden", nbineta / 2, 0.0, etamax);
916  h_ele_eta_bbrem = new TH1F("h_ele_eta_bbrem", "ele electron eta bbrem", nbineta / 2, 0.0, etamax);
917  h_ele_eta_narrow = new TH1F("h_ele_eta_narrow", "ele electron eta narrow", nbineta / 2, 0.0, etamax);
918  h_ele_eta_shower = new TH1F("h_ele_eta_show", "el, electron eta showering", nbineta / 2, 0.0, etamax);
919  h_ele_PinVsPoutGolden_mode = new TH2F(
920  "h_ele_PinVsPoutGolden_mode", "ele track inner p vs outer p, golden, mode", nbinp2D, 0., pmax, 50, 0., pmax);
921  h_ele_PinVsPoutShowering_mode = new TH2F("h_ele_PinVsPoutShowering_mode",
922  "ele track inner p vs outer p vs eta, showering, mode",
923  nbinp2D,
924  0.,
925  pmax,
926  50,
927  0.,
928  pmax);
929  h_ele_PinVsPoutGolden_mean = new TH2F(
930  "h_ele_PinVsPoutGolden_mean", "ele track inner p vs outer p, golden, mean", nbinp2D, 0., pmax, 50, 0., pmax);
932  "h_ele_PinVsPoutShowering_mean", "ele track inner p vs outer p, showering, mean", nbinp2D, 0., pmax, 50, 0., pmax);
933  h_ele_PtinVsPtoutGolden_mode = new TH2F("h_ele_PtinVsPtoutGolden_mode",
934  "ele track inner pt vs outer pt, golden, mode",
935  nbinpt2D,
936  0.,
937  ptmax,
938  50,
939  0.,
940  ptmax);
941  h_ele_PtinVsPtoutShowering_mode = new TH2F("h_ele_PtinVsPtoutShowering_mode",
942  "ele track inner pt vs outer pt, showering, mode",
943  nbinpt2D,
944  0.,
945  ptmax,
946  50,
947  0.,
948  ptmax);
949  h_ele_PtinVsPtoutGolden_mean = new TH2F("h_ele_PtinVsPtoutGolden_mean",
950  "ele track inner pt vs outer pt, golden, mean",
951  nbinpt2D,
952  0.,
953  ptmax,
954  50,
955  0.,
956  ptmax);
957  h_ele_PtinVsPtoutShowering_mean = new TH2F("h_ele_PtinVsPtoutShowering_mean",
958  "ele track inner pt vs outer pt, showering, mean",
959  nbinpt2D,
960  0.,
961  ptmax,
962  50,
963  0.,
964  ptmax);
966  "h_scl_EoEmatchingObject golden, barrel", "ele SC energy over matching jet energy, golden, barrel", 100, 0.2, 1.2);
967  histSclEoEmatchingObjectGolden_endcaps = new TH1F("h_scl_EoEmatchingObject golden, endcaps",
968  "ele SC energy over matching jet energy, golden, endcaps",
969  100,
970  0.2,
971  1.2);
972  histSclEoEmatchingObjectShowering_barrel = new TH1F("h_scl_EoEmatchingObject showering, barrel",
973  "ele SC energy over matching jet energy, showering, barrel",
974  100,
975  0.2,
976  1.2);
977  histSclEoEmatchingObjectShowering_endcaps = new TH1F("h_scl_EoEmatchingObject showering, endcaps",
978  "ele SC energy over matching jet energy, showering, endcaps",
979  100,
980  0.2,
981  1.2);
982 
983  // isolation
984  h_ele_tkSumPt_dr03 = new TH1F("h_ele_tkSumPt_dr03", "tk isolation sum, dR=0.3", 100, 0.0, 20.);
985  h_ele_ecalRecHitSumEt_dr03 = new TH1F("h_ele_ecalRecHitSumEt_dr03", "ecal isolation sum, dR=0.3", 100, 0.0, 20.);
987  new TH1F("h_ele_hcalDepth1TowerSumEt_dr03", "hcal depth1 isolation sum, dR=0.3", 100, 0.0, 20.);
989  new TH1F("h_ele_hcalDepth2TowerSumEt_dr03", "hcal depth2 isolation sum, dR=0.3", 100, 0.0, 20.);
990  h_ele_tkSumPt_dr04 = new TH1F("h_ele_tkSumPt_dr04", "hcal isolation sum", 100, 0.0, 20.);
991  h_ele_ecalRecHitSumEt_dr04 = new TH1F("h_ele_ecalRecHitSumEt_dr04", "ecal isolation sum, dR=0.4", 100, 0.0, 20.);
993  new TH1F("h_ele_hcalDepth1TowerSumEt_dr04", "hcal depth1 isolation sum, dR=0.4", 100, 0.0, 20.);
995  new TH1F("h_ele_hcalDepth2TowerSumEt_dr04", "hcal depth2 isolation sum, dR=0.4", 100, 0.0, 20.);
996 
997  // fbrem
998  h_ele_fbrem = new TH1F("h_ele_fbrem", "ele brem fraction, mode", 100, 0., 1.);
1000  new TProfile("h_ele_fbremvsEtamode", "mean ele brem fraction vs eta, mode", nbineta2D, etamin, etamax, 0., 1.);
1002  new TProfile("h_ele_fbremvsEtamean", "mean ele brem fraction vs eta, mean", nbineta2D, etamin, etamax, 0., 1.);
1003 
1004  // e/g et pflow electrons
1005  h_ele_mva = new TH1F("h_ele_mva", "ele mva", 100, -1., 1.);
1006  h_ele_provenance = new TH1F("h_ele_provenance", "ele provenance", 5, -2., 3.);
1007 
1008  // histos titles
1009  h_matchingObjectNum->GetXaxis()->SetTitle("N_{GenJet}");
1010  h_matchingObjectNum->GetYaxis()->SetTitle("Events");
1011  h_matchingObjectEta->GetXaxis()->SetTitle("#eta_{GenJet}");
1012  h_matchingObjectEta->GetYaxis()->SetTitle("Events");
1013  h_matchingObjectP->GetXaxis()->SetTitle("E_{GenJet} (GeV)");
1014  h_matchingObjectP->GetYaxis()->SetTitle("Events");
1015  h_ele_foundHits->GetXaxis()->SetTitle("N_{hits}");
1016  h_ele_foundHits->GetYaxis()->SetTitle("Events");
1017  h_ele_ambiguousTracks->GetXaxis()->SetTitle("N_{ambiguous tracks}");
1018  h_ele_ambiguousTracks->GetYaxis()->SetTitle("Events");
1019  h_ele_lostHits->GetXaxis()->SetTitle("N_{lost hits}");
1020  h_ele_lostHits->GetYaxis()->SetTitle("Events");
1021  h_ele_chi2->GetXaxis()->SetTitle("#Chi^{2}");
1022  h_ele_chi2->GetYaxis()->SetTitle("Events");
1023  h_ele_charge->GetXaxis()->SetTitle("charge");
1024  h_ele_charge->GetYaxis()->SetTitle("Events");
1025  h_ele_vertexP->GetXaxis()->SetTitle("p_{vertex} (GeV/c)");
1026  h_ele_vertexP->GetYaxis()->SetTitle("Events");
1027  h_ele_vertexPt->GetXaxis()->SetTitle("p_{T vertex} (GeV/c)");
1028  h_ele_vertexPt->GetYaxis()->SetTitle("Events");
1029  h_ele_vertexEta->GetXaxis()->SetTitle("#eta");
1030  h_ele_vertexEta->GetYaxis()->SetTitle("Events");
1031  h_ele_vertexPhi->GetXaxis()->SetTitle("#phi (rad)");
1032  h_ele_vertexPhi->GetYaxis()->SetTitle("Events");
1033  h_ele_PoPmatchingObject->GetXaxis()->SetTitle("P/P_{gen jet}");
1034  h_ele_PoPmatchingObject->GetYaxis()->SetTitle("Events");
1035  h_ele_PoPmatchingObject_barrel->GetXaxis()->SetTitle("P/P_{gen jet}");
1036  h_ele_PoPmatchingObject_barrel->GetYaxis()->SetTitle("Events");
1037  h_ele_PoPmatchingObject_endcaps->GetXaxis()->SetTitle("P/P_{gen jet}");
1038  h_ele_PoPmatchingObject_endcaps->GetYaxis()->SetTitle("Events");
1039  histSclSigIEtaIEta_->GetXaxis()->SetTitle("#sigma_{i#eta i#eta}");
1040  histSclSigIEtaIEta_->GetYaxis()->SetTitle("Events");
1041  histSclSigIEtaIEta_barrel_->GetXaxis()->SetTitle("#sigma_{i#eta i#eta}");
1042  histSclSigIEtaIEta_barrel_->GetYaxis()->SetTitle("Events");
1043  histSclSigIEtaIEta_endcaps_->GetXaxis()->SetTitle("#sigma_{i#eta i#eta}");
1044  histSclSigIEtaIEta_endcaps_->GetYaxis()->SetTitle("Events");
1045  histSclE1x5_->GetXaxis()->SetTitle("E1x5 (GeV)");
1046  histSclE1x5_->GetYaxis()->SetTitle("Events");
1047  histSclE1x5_barrel_->GetXaxis()->SetTitle("E1x5 (GeV)");
1048  histSclE1x5_barrel_->GetYaxis()->SetTitle("Events");
1049  histSclE1x5_endcaps_->GetXaxis()->SetTitle("E1x5 (GeV)");
1050  histSclE1x5_endcaps_->GetYaxis()->SetTitle("Events");
1051  histSclE2x5max_->GetXaxis()->SetTitle("E2x5 (GeV)");
1052  histSclE2x5max_->GetYaxis()->SetTitle("Events");
1053  histSclE2x5max_barrel_->GetXaxis()->SetTitle("E2x5 (GeV)");
1054  histSclE2x5max_barrel_->GetYaxis()->SetTitle("Events");
1055  histSclE2x5max_endcaps_->GetXaxis()->SetTitle("E2x5 (GeV)");
1056  histSclE2x5max_endcaps_->GetYaxis()->SetTitle("Events");
1057  histSclE5x5_->GetXaxis()->SetTitle("E5x5 (GeV)");
1058  histSclE5x5_->GetYaxis()->SetTitle("Events");
1059  histSclE5x5_barrel_->GetXaxis()->SetTitle("E5x5 (GeV)");
1060  histSclE5x5_barrel_->GetYaxis()->SetTitle("Events");
1061  histSclE5x5_endcaps_->GetXaxis()->SetTitle("E5x5 (GeV)");
1062  histSclE5x5_endcaps_->GetYaxis()->SetTitle("Events");
1063  h_ele_EtaMnEtamatchingObject->GetXaxis()->SetTitle("#eta_{rec} - #eta_{jet}");
1064  h_ele_EtaMnEtamatchingObject->GetYaxis()->SetTitle("Events");
1065  h_ele_PhiMnPhimatchingObject->GetXaxis()->SetTitle("#phi_{rec} - #phi_{jet} (rad)");
1066  h_ele_PhiMnPhimatchingObject->GetYaxis()->SetTitle("Events");
1067  h_ele_PinMnPout->GetXaxis()->SetTitle("P_{vertex} - P_{out} (GeV/c)");
1068  h_ele_PinMnPout->GetYaxis()->SetTitle("Events");
1069  h_ele_PinMnPout_mode->GetXaxis()->SetTitle("P_{vertex} - P_{out}, mode (GeV/c)");
1070  h_ele_PinMnPout_mode->GetYaxis()->SetTitle("Events");
1071  h_ele_outerP->GetXaxis()->SetTitle("P_{out} (GeV/c)");
1072  h_ele_outerP->GetYaxis()->SetTitle("Events");
1073  h_ele_outerP_mode->GetXaxis()->SetTitle("P_{out} (GeV/c)");
1074  h_ele_outerP_mode->GetYaxis()->SetTitle("Events");
1075  h_ele_outerPt->GetXaxis()->SetTitle("P_{T out} (GeV/c)");
1076  h_ele_outerPt->GetYaxis()->SetTitle("Events");
1077  h_ele_outerPt_mode->GetXaxis()->SetTitle("P_{T out} (GeV/c)");
1078  h_ele_outerPt_mode->GetYaxis()->SetTitle("Events");
1079  h_ele_EoP->GetXaxis()->SetTitle("E/P_{vertex}");
1080  h_ele_EoP->GetYaxis()->SetTitle("Events");
1081  h_ele_EseedOP->GetXaxis()->SetTitle("E_{seed}/P_{vertex}");
1082  h_ele_EseedOP->GetYaxis()->SetTitle("Events");
1083  h_ele_EoPout->GetXaxis()->SetTitle("E_{seed}/P_{out}");
1084  h_ele_EoPout->GetYaxis()->SetTitle("Events");
1085  h_ele_EeleOPout->GetXaxis()->SetTitle("E_{ele}/P_{out}");
1086  h_ele_EeleOPout->GetYaxis()->SetTitle("Events");
1087  h_ele_EoP_barrel->GetXaxis()->SetTitle("E/P_{vertex}");
1088  h_ele_EoP_barrel->GetYaxis()->SetTitle("Events");
1089  h_ele_EseedOP_barrel->GetXaxis()->SetTitle("E_{seed}/P_{vertex}");
1090  h_ele_EseedOP_barrel->GetYaxis()->SetTitle("Events");
1091  h_ele_EoPout_barrel->GetXaxis()->SetTitle("E_{seed}/P_{out}");
1092  h_ele_EoPout_barrel->GetYaxis()->SetTitle("Events");
1093  h_ele_EeleOPout_barrel->GetXaxis()->SetTitle("E_{ele}/P_{out}");
1094  h_ele_EeleOPout_barrel->GetYaxis()->SetTitle("Events");
1095  h_ele_EoP_endcaps->GetXaxis()->SetTitle("E/P_{vertex}");
1096  h_ele_EoP_endcaps->GetYaxis()->SetTitle("Events");
1097  h_ele_EseedOP_endcaps->GetXaxis()->SetTitle("E_{seed}/P_{vertex}");
1098  h_ele_EseedOP_endcaps->GetYaxis()->SetTitle("Events");
1099  h_ele_EoPout_endcaps->GetXaxis()->SetTitle("E_{seed}/P_{out}");
1100  h_ele_EoPout_endcaps->GetYaxis()->SetTitle("Events");
1101  h_ele_EeleOPout_endcaps->GetXaxis()->SetTitle("E_{ele}/P_{out}");
1102  h_ele_EeleOPout_endcaps->GetYaxis()->SetTitle("Events");
1103  h_ele_vertexX->GetXaxis()->SetTitle("x (cm)");
1104  h_ele_vertexX->GetYaxis()->SetTitle("Events");
1105  h_ele_vertexY->GetXaxis()->SetTitle("y (cm)");
1106  h_ele_vertexY->GetYaxis()->SetTitle("Events");
1107  h_ele_vertexZ->GetXaxis()->SetTitle("z (cm)");
1108  h_ele_vertexZ->GetYaxis()->SetTitle("Events");
1109  h_ele_vertexTIP->GetXaxis()->SetTitle("TIP (cm)");
1110  h_ele_vertexTIP->GetYaxis()->SetTitle("Events");
1111  h_ele_TIP_all->GetXaxis()->SetTitle("r_{T} (cm)");
1112  h_ele_TIP_all->GetYaxis()->SetTitle("Events");
1113  h_ele_vertexTIPVsEta->GetYaxis()->SetTitle("TIP (cm)");
1114  h_ele_vertexTIPVsEta->GetXaxis()->SetTitle("#eta");
1115  h_ele_vertexTIPVsPhi->GetYaxis()->SetTitle("TIP (cm)");
1116  h_ele_vertexTIPVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1117  h_ele_vertexTIPVsPt->GetYaxis()->SetTitle("TIP (cm)");
1118  h_ele_vertexTIPVsPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1119  h_ele_dEtaSc_propVtx->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1120  h_ele_dEtaSc_propVtx->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1121  h_ele_dEtaSc_propVtx->GetYaxis()->SetTitle("Events");
1122  h_ele_dEtaCl_propOut->GetXaxis()->SetTitle("#eta_{seedcl} - #eta_{tr}");
1123  h_ele_dEtaCl_propOut->GetYaxis()->SetTitle("Events");
1124  h_ele_dEtaEleCl_propOut->GetXaxis()->SetTitle("#eta_{elecl} - #eta_{tr}");
1125  h_ele_dEtaEleCl_propOut->GetYaxis()->SetTitle("Events");
1126  h_ele_dPhiSc_propVtx->GetXaxis()->SetTitle("#phi_{sc} - #phi_{tr} (rad)");
1127  h_ele_dPhiSc_propVtx->GetYaxis()->SetTitle("Events");
1128  h_ele_dPhiCl_propOut->GetXaxis()->SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
1129  h_ele_dPhiCl_propOut->GetYaxis()->SetTitle("Events");
1130  h_ele_dPhiEleCl_propOut->GetXaxis()->SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
1131  h_ele_dPhiEleCl_propOut->GetYaxis()->SetTitle("Events");
1132  h_ele_dEtaSc_propVtx_barrel->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1133  h_ele_dEtaSc_propVtx_barrel->GetYaxis()->SetTitle("Events");
1134  h_ele_dEtaCl_propOut_barrel->GetXaxis()->SetTitle("#eta_{seedcl} - #eta_{tr}");
1135  h_ele_dEtaCl_propOut_barrel->GetYaxis()->SetTitle("Events");
1136  h_ele_dEtaEleCl_propOut_barrel->GetXaxis()->SetTitle("#eta_{elecl} - #eta_{tr}");
1137  h_ele_dEtaEleCl_propOut_barrel->GetYaxis()->SetTitle("Events");
1138  h_ele_dPhiSc_propVtx_barrel->GetXaxis()->SetTitle("#phi_{sc} - #phi_{tr} (rad)");
1139  h_ele_dPhiSc_propVtx_barrel->GetYaxis()->SetTitle("Events");
1140  h_ele_dPhiCl_propOut_barrel->GetXaxis()->SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
1141  h_ele_dPhiCl_propOut_barrel->GetYaxis()->SetTitle("Events");
1142  h_ele_dPhiEleCl_propOut_barrel->GetXaxis()->SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
1143  h_ele_dPhiEleCl_propOut_barrel->GetYaxis()->SetTitle("Events");
1144  h_ele_dEtaSc_propVtx_endcaps->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1145  h_ele_dEtaSc_propVtx_endcaps->GetYaxis()->SetTitle("Events");
1146  h_ele_dEtaCl_propOut_endcaps->GetXaxis()->SetTitle("#eta_{seedcl} - #eta_{tr}");
1147  h_ele_dEtaCl_propOut_endcaps->GetYaxis()->SetTitle("Events");
1148  h_ele_dEtaEleCl_propOut_endcaps->GetXaxis()->SetTitle("#eta_{elecl} - #eta_{tr}");
1149  h_ele_dEtaEleCl_propOut_endcaps->GetYaxis()->SetTitle("Events");
1150  h_ele_dPhiSc_propVtx_endcaps->GetXaxis()->SetTitle("#phi_{sc} - #phi_{tr} (rad)");
1151  h_ele_dPhiSc_propVtx_endcaps->GetYaxis()->SetTitle("Events");
1152  h_ele_dPhiCl_propOut_endcaps->GetXaxis()->SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
1153  h_ele_dPhiCl_propOut_endcaps->GetYaxis()->SetTitle("Events");
1154  h_ele_dPhiEleCl_propOut_endcaps->GetXaxis()->SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
1155  h_ele_dPhiEleCl_propOut_endcaps->GetYaxis()->SetTitle("Events");
1156  h_ele_HoE->GetXaxis()->SetTitle("H/E");
1157  h_ele_HoE->GetYaxis()->SetTitle("Events");
1158  h_ele_HoE_barrel->GetXaxis()->SetTitle("H/E");
1159  h_ele_HoE_barrel->GetYaxis()->SetTitle("Events");
1160  h_ele_HoE_endcaps->GetXaxis()->SetTitle("H/E");
1161  h_ele_HoE_endcaps->GetYaxis()->SetTitle("Events");
1162  h_ele_HoE_fiducial->GetXaxis()->SetTitle("H/E");
1163  h_ele_HoE_fiducial->GetYaxis()->SetTitle("Events");
1164  h_ele_fbrem->GetXaxis()->SetTitle("P_{in} - P_{out} / P_{in}");
1165  h_ele_fbrem->GetYaxis()->SetTitle("Events");
1166  h_ele_seed_dphi2_->GetXaxis()->SetTitle("#phi_{hit}-#phi_{pred} (rad)");
1167  h_ele_seed_dphi2_->GetYaxis()->SetTitle("Events");
1168  h_ele_seed_drz2_->GetXaxis()->SetTitle("r(z)_{hit}-r(z)_{pred} (cm)");
1169  h_ele_seed_drz2_->GetYaxis()->SetTitle("Events");
1170  h_ele_seed_subdet2_->GetXaxis()->SetTitle("2nd hit subdet Id");
1171  h_ele_seed_subdet2_->GetYaxis()->SetTitle("Events");
1172  h_ele_classes->GetXaxis()->SetTitle("class Id");
1173  h_ele_classes->GetYaxis()->SetTitle("Events");
1174  h_ele_EoverP_all->GetXaxis()->SetTitle("E/P_{vertex}");
1175  h_ele_EoverP_all->GetYaxis()->SetTitle("Events");
1176  h_ele_EseedOP_all->GetXaxis()->SetTitle("E_{seed}/P_{vertex}");
1177  h_ele_EseedOP_all->GetYaxis()->SetTitle("Events");
1178  h_ele_EoPout_all->GetXaxis()->SetTitle("E_{seed}/P_{out}");
1179  h_ele_EoPout_all->GetYaxis()->SetTitle("Events");
1180  h_ele_EeleOPout_all->GetXaxis()->SetTitle("E_{ele}/P_{out}");
1181  h_ele_EeleOPout_all->GetYaxis()->SetTitle("Events");
1182  h_ele_dEtaSc_propVtx_all->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1183  h_ele_dEtaSc_propVtx_all->GetYaxis()->SetTitle("Events");
1184  h_ele_dPhiSc_propVtx_all->GetXaxis()->SetTitle("#phi_{sc} - #phi_{tr} (rad)");
1185  h_ele_dPhiSc_propVtx_all->GetYaxis()->SetTitle("Events");
1186  h_ele_dEtaCl_propOut_all->GetXaxis()->SetTitle("#eta_{sc} - #eta_{tr}");
1187  h_ele_dEtaCl_propOut_all->GetYaxis()->SetTitle("Events");
1188  h_ele_dPhiCl_propOut_all->GetXaxis()->SetTitle("#phi_{sc} - #phi_{tr} (rad)");
1189  h_ele_dPhiCl_propOut_all->GetYaxis()->SetTitle("Events");
1190  h_ele_HoE_all->GetXaxis()->SetTitle("H/E");
1191  h_ele_HoE_all->GetYaxis()->SetTitle("Events");
1192  h_ele_mee_all->GetXaxis()->SetTitle("m_{ee} (GeV/c^{2})");
1193  h_ele_mee_all->GetYaxis()->SetTitle("Events");
1194  h_ele_mee_os->GetXaxis()->SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
1195  h_ele_mee_os->GetYaxis()->SetTitle("Events");
1196  h_ele_E2mnE1vsMee_all->GetXaxis()->SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
1197  h_ele_E2mnE1vsMee_all->GetYaxis()->SetTitle("E2 - E1 (GeV)");
1198  h_ele_E2mnE1vsMee_egeg_all->GetXaxis()->SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
1199  h_ele_E2mnE1vsMee_egeg_all->GetYaxis()->SetTitle("E2 - E1 (GeV)");
1200  histNum_->GetXaxis()->SetTitle("N_{ele}");
1201  histNum_->GetYaxis()->SetTitle("Events");
1202  h_ele_fbremVsEta_mode->GetXaxis()->SetTitle("#eta");
1203  h_ele_fbremVsEta_mean->GetXaxis()->SetTitle("#eta");
1204 }
1205 
1207  histfile_->cd();
1208  std::cout << "efficiency calculation " << std::endl;
1209  // efficiency vs eta
1210  TH1F *h_ele_etaEff = (TH1F *)h_ele_matchingObjectEta_matched->Clone("h_ele_etaEff");
1211  h_ele_etaEff->Reset();
1212  h_ele_etaEff->Divide(h_ele_matchingObjectEta_matched, h_matchingObjectEta, 1, 1, "b");
1213  h_ele_etaEff->Print();
1214  h_ele_etaEff->GetXaxis()->SetTitle("#eta");
1215  h_ele_etaEff->GetYaxis()->SetTitle("Efficiency");
1216 
1217  // efficiency vs z
1218  TH1F *h_ele_zEff = (TH1F *)h_ele_matchingObjectZ_matched->Clone("h_ele_zEff");
1219  h_ele_zEff->Reset();
1220  h_ele_zEff->Divide(h_ele_matchingObjectZ_matched, h_matchingObjectZ, 1, 1, "b");
1221  h_ele_zEff->Print();
1222  h_ele_zEff->GetXaxis()->SetTitle("z (cm)");
1223  h_ele_zEff->GetYaxis()->SetTitle("Efficiency");
1224 
1225  // efficiency vs |eta|
1226  TH1F *h_ele_absetaEff = (TH1F *)h_ele_matchingObjectAbsEta_matched->Clone("h_ele_absetaEff");
1227  h_ele_absetaEff->Reset();
1228  h_ele_absetaEff->Divide(h_ele_matchingObjectAbsEta_matched, h_matchingObjectAbsEta, 1, 1, "b");
1229  h_ele_absetaEff->GetXaxis()->SetTitle("|#eta|");
1230  h_ele_absetaEff->GetYaxis()->SetTitle("Efficiency");
1231 
1232  // efficiency vs pt
1233  TH1F *h_ele_ptEff = (TH1F *)h_ele_matchingObjectPt_matched->Clone("h_ele_ptEff");
1234  h_ele_ptEff->Reset();
1235  h_ele_ptEff->Divide(h_ele_matchingObjectPt_matched, h_matchingObjectPt, 1, 1, "b");
1236  h_ele_ptEff->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1237  h_ele_ptEff->GetYaxis()->SetTitle("Efficiency");
1238 
1239  // efficiency vs phi
1240  TH1F *h_ele_phiEff = (TH1F *)h_ele_matchingObjectPhi_matched->Clone("h_ele_phiEff");
1241  h_ele_phiEff->Reset();
1242  h_ele_phiEff->Divide(h_ele_matchingObjectPhi_matched, h_matchingObjectPhi, 1, 1, "b");
1243  h_ele_phiEff->GetXaxis()->SetTitle("#phi (rad)");
1244  h_ele_phiEff->GetYaxis()->SetTitle("Efficiency");
1245 
1246  // rec/matching objects all electrons
1247  TH1F *h_ele_etaEff_all = (TH1F *)h_ele_vertexEta_all->Clone("h_ele_etaEff_all");
1248  h_ele_etaEff_all->Reset();
1249  h_ele_etaEff_all->Divide(h_ele_vertexEta_all, h_matchingObjectEta, 1, 1, "b");
1250  h_ele_etaEff_all->Print();
1251  h_ele_etaEff_all->GetXaxis()->SetTitle("#eta");
1252  h_ele_etaEff_all->GetYaxis()->SetTitle("N_{rec}/N_{matching jet}");
1253 
1254  TH1F *h_ele_ptEff_all = (TH1F *)h_ele_vertexPt_all->Clone("h_ele_ptEff_all");
1255  h_ele_ptEff_all->Reset();
1256  h_ele_ptEff_all->Divide(h_ele_vertexPt_all, h_matchingObjectPt, 1, 1, "b");
1257  h_ele_ptEff_all->Print();
1258  h_ele_ptEff_all->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1259  h_ele_ptEff_all->GetYaxis()->SetTitle("N_{rec}/N_{matching gen jet}");
1260 
1261  // classes
1262  TH1F *h_ele_eta_goldenFrac = (TH1F *)h_ele_eta_golden->Clone("h_ele_eta_goldenFrac");
1263  h_ele_eta_goldenFrac->Reset();
1264  h_ele_eta_goldenFrac->GetXaxis()->SetTitle("|#eta|");
1265  h_ele_eta_goldenFrac->GetYaxis()->SetTitle("Fraction of electrons");
1266  h_ele_eta_goldenFrac->Divide(h_ele_eta_golden, h_ele_eta, 1, 1);
1267  h_ele_eta_goldenFrac->SetTitle("fraction of golden electrons vs eta");
1268  TH1F *h_ele_eta_bbremFrac = (TH1F *)h_ele_eta_bbrem->Clone("h_ele_eta_bbremFrac");
1269  h_ele_eta_bbremFrac->Reset();
1270  h_ele_eta_bbremFrac->Divide(h_ele_eta_bbrem, h_ele_eta, 1, 1);
1271  h_ele_eta_bbremFrac->GetXaxis()->SetTitle("|#eta|");
1272  h_ele_eta_bbremFrac->GetYaxis()->SetTitle("Fraction of electrons");
1273  h_ele_eta_bbremFrac->SetTitle("fraction of big brem electrons vs eta");
1274  TH1F *h_ele_eta_narrowFrac = (TH1F *)h_ele_eta_narrow->Clone("h_ele_eta_narrowFrac");
1275  h_ele_eta_narrowFrac->Reset();
1276  h_ele_eta_narrowFrac->Divide(h_ele_eta_narrow, h_ele_eta, 1, 1);
1277  h_ele_eta_narrowFrac->GetXaxis()->SetTitle("|#eta|");
1278  h_ele_eta_narrowFrac->GetYaxis()->SetTitle("Fraction of electrons");
1279  h_ele_eta_narrowFrac->SetTitle("fraction of narrow electrons vs eta");
1280  TH1F *h_ele_eta_showerFrac = (TH1F *)h_ele_eta_shower->Clone("h_ele_eta_showerFrac");
1281  h_ele_eta_showerFrac->Reset();
1282  h_ele_eta_showerFrac->Divide(h_ele_eta_shower, h_ele_eta, 1, 1);
1283  h_ele_eta_showerFrac->GetXaxis()->SetTitle("|#eta|");
1284  h_ele_eta_showerFrac->GetYaxis()->SetTitle("Fraction of electrons");
1285  h_ele_eta_showerFrac->SetTitle("fraction of showering electrons vs eta");
1286 
1287  // fbrem
1288  TH1F *h_ele_xOverX0VsEta = new TH1F("h_ele_xOverx0VsEta", "mean X/X_0 vs eta", nbineta / 2, 0.0, 2.5);
1289  for (int ibin = 1; ibin < h_ele_fbremVsEta_mean->GetNbinsX() + 1; ibin++) {
1290  double xOverX0 = 0.;
1291  if (h_ele_fbremVsEta_mean->GetBinContent(ibin) > 0.)
1292  xOverX0 = -log(h_ele_fbremVsEta_mean->GetBinContent(ibin));
1293  h_ele_xOverX0VsEta->SetBinContent(ibin, xOverX0);
1294  }
1295 
1296  //profiles from 2D histos
1297  TProfile *p_ele_PoPmatchingObjectVsEta = h_ele_PoPmatchingObjectVsEta->ProfileX();
1298  p_ele_PoPmatchingObjectVsEta->SetTitle("mean ele momentum / matching SC energy vs eta");
1299  p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle("#eta");
1300  p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle("<P/E_{matching gen jet}>");
1301  p_ele_PoPmatchingObjectVsEta->Write();
1302  TProfile *p_ele_PoPmatchingObjectVsPhi = h_ele_PoPmatchingObjectVsPhi->ProfileX();
1303  p_ele_PoPmatchingObjectVsPhi->SetTitle("mean ele momentum / gen momentum vs phi");
1304  p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1305  p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle("<P/E_{matching gen jet}>");
1306  p_ele_PoPmatchingObjectVsPhi->Write();
1307  TProfile *p_ele_EtaMnEtamatchingObjectVsEta = h_ele_EtaMnEtamatchingObjectVsEta->ProfileX();
1308  p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle("#eta");
1309  p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle("<#eta_{rec} - #eta_{matching gen jet}>");
1310  p_ele_EtaMnEtamatchingObjectVsEta->Write();
1311  TProfile *p_ele_EtaMnEtamatchingObjectVsPhi = h_ele_EtaMnEtamatchingObjectVsPhi->ProfileX();
1312  p_ele_EtaMnEtamatchingObjectVsPhi->GetXaxis()->SetTitle("#phi");
1313  p_ele_EtaMnEtamatchingObjectVsPhi->GetYaxis()->SetTitle("<#eta_{rec} - #eta_{matching gen jet}>");
1314  p_ele_EtaMnEtamatchingObjectVsPhi->Write();
1315  TProfile *p_ele_PhiMnPhimatchingObjectVsEta = h_ele_PhiMnPhimatchingObjectVsEta->ProfileX();
1316  p_ele_PhiMnPhimatchingObjectVsEta->GetXaxis()->SetTitle("#eta");
1317  p_ele_PhiMnPhimatchingObjectVsEta->GetYaxis()->SetTitle("<#phi_{rec} - #phi_{matching gen jet}> (rad)");
1318  p_ele_PhiMnPhimatchingObjectVsEta->Write();
1319  TProfile *p_ele_PhiMnPhimatchingObjectVsPhi = h_ele_PhiMnPhimatchingObjectVsPhi->ProfileX();
1320  p_ele_PhiMnPhimatchingObjectVsPhi->GetXaxis()->SetTitle("#phi");
1321  p_ele_PhiMnPhimatchingObjectVsPhi->GetYaxis()->SetTitle("<#phi_{rec} - #phi_{matching gen jet}> (rad)");
1322  p_ele_PhiMnPhimatchingObjectVsPhi->Write();
1323  TProfile *p_ele_vertexPtVsEta = h_ele_vertexPtVsEta->ProfileX();
1324  p_ele_vertexPtVsEta->GetXaxis()->SetTitle("#eta");
1325  p_ele_vertexPtVsEta->GetYaxis()->SetTitle("<p_{T}> (GeV/c)");
1326  p_ele_vertexPtVsEta->Write();
1327  TProfile *p_ele_vertexPtVsPhi = h_ele_vertexPtVsPhi->ProfileX();
1328  p_ele_vertexPtVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1329  p_ele_vertexPtVsPhi->GetYaxis()->SetTitle("<p_{T}> (GeV/c)");
1330  p_ele_vertexPtVsPhi->Write();
1331  TProfile *p_ele_EoPVsEta = h_ele_EoPVsEta->ProfileX();
1332  p_ele_EoPVsEta->GetXaxis()->SetTitle("#eta");
1333  p_ele_EoPVsEta->GetYaxis()->SetTitle("<E/P_{vertex}>");
1334  p_ele_EoPVsEta->Write();
1335  TProfile *p_ele_EoPVsPhi = h_ele_EoPVsPhi->ProfileX();
1336  p_ele_EoPVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1337  p_ele_EoPVsPhi->GetYaxis()->SetTitle("<E/P_{vertex}>");
1338  p_ele_EoPVsPhi->Write();
1339  TProfile *p_ele_EoPoutVsEta = h_ele_EoPoutVsEta->ProfileX();
1340  p_ele_EoPoutVsEta->GetXaxis()->SetTitle("#eta");
1341  p_ele_EoPoutVsEta->GetYaxis()->SetTitle("<E_{seed}/P_{out}>");
1342  p_ele_EoPoutVsEta->Write();
1343  TProfile *p_ele_EoPoutVsPhi = h_ele_EoPoutVsPhi->ProfileX();
1344  p_ele_EoPoutVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1345  p_ele_EoPoutVsPhi->GetYaxis()->SetTitle("<E_{seed}/P_{out}>");
1346  p_ele_EoPoutVsPhi->Write();
1347  TProfile *p_ele_EeleOPoutVsEta = h_ele_EeleOPoutVsEta->ProfileX();
1348  p_ele_EeleOPoutVsEta->SetTitle("mean ele Eele/pout vs eta");
1349  p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle("#eta");
1350  p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle("<E_{ele}/P_{out}>");
1351  p_ele_EeleOPoutVsEta->Write();
1352  TProfile *p_ele_EeleOPoutVsPhi = h_ele_EeleOPoutVsPhi->ProfileX();
1353  p_ele_EeleOPoutVsPhi->SetTitle("mean ele Eele/pout vs phi");
1354  p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1355  p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle("<E_{ele}/P_{out}>");
1356  p_ele_EeleOPoutVsPhi->Write();
1357  TProfile *p_ele_HoEVsEta = h_ele_HoEVsEta->ProfileX();
1358  p_ele_HoEVsEta->GetXaxis()->SetTitle("#eta");
1359  p_ele_HoEVsEta->GetYaxis()->SetTitle("<H/E>");
1360  p_ele_HoEVsEta->Write();
1361  TProfile *p_ele_HoEVsPhi = h_ele_HoEVsPhi->ProfileX();
1362  p_ele_HoEVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1363  p_ele_HoEVsPhi->GetYaxis()->SetTitle("<H/E>");
1364  p_ele_HoEVsPhi->Write();
1365  TProfile *p_ele_chi2VsEta = h_ele_chi2VsEta->ProfileX();
1366  p_ele_chi2VsEta->GetXaxis()->SetTitle("#eta");
1367  p_ele_chi2VsEta->GetYaxis()->SetTitle("<#Chi^{2}>");
1368  p_ele_chi2VsEta->Write();
1369  TProfile *p_ele_chi2VsPhi = h_ele_chi2VsPhi->ProfileX();
1370  p_ele_chi2VsPhi->GetXaxis()->SetTitle("#phi (rad)");
1371  p_ele_chi2VsPhi->GetYaxis()->SetTitle("<#Chi^{2}>");
1372  p_ele_chi2VsPhi->Write();
1373  TProfile *p_ele_foundHitsVsEta = h_ele_foundHitsVsEta->ProfileX();
1374  p_ele_foundHitsVsEta->GetXaxis()->SetTitle("#eta");
1375  p_ele_foundHitsVsEta->GetYaxis()->SetTitle("<N_{hits}>");
1376  p_ele_foundHitsVsEta->Write();
1377  TProfile *p_ele_foundHitsVsPhi = h_ele_foundHitsVsPhi->ProfileX();
1378  p_ele_foundHitsVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1379  p_ele_foundHitsVsPhi->GetYaxis()->SetTitle("<N_{hits}>");
1380  p_ele_foundHitsVsPhi->Write();
1381  TProfile *p_ele_lostHitsVsEta = h_ele_lostHitsVsEta->ProfileX();
1382  p_ele_lostHitsVsEta->GetXaxis()->SetTitle("#eta");
1383  p_ele_lostHitsVsEta->GetYaxis()->SetTitle("<N_{hits}>");
1384  p_ele_lostHitsVsEta->Write();
1385  TProfile *p_ele_lostHitsVsPhi = h_ele_lostHitsVsPhi->ProfileX();
1386  p_ele_lostHitsVsPhi->GetXaxis()->SetTitle("#phi (rad)");
1387  p_ele_lostHitsVsPhi->GetYaxis()->SetTitle("<N_{hits}>");
1388  p_ele_lostHitsVsPhi->Write();
1389  TProfile *p_ele_vertexTIPVsEta = h_ele_vertexTIPVsEta->ProfileX();
1390  p_ele_vertexTIPVsEta->SetTitle("mean tip (wrt gen vtx) vs eta");
1391  p_ele_vertexTIPVsEta->GetXaxis()->SetTitle("#eta");
1392  p_ele_vertexTIPVsEta->GetYaxis()->SetTitle("<TIP> (cm)");
1393  p_ele_vertexTIPVsEta->Write();
1394  TProfile *p_ele_vertexTIPVsPhi = h_ele_vertexTIPVsPhi->ProfileX();
1395  p_ele_vertexTIPVsPhi->SetTitle("mean tip (wrt gen vtx) vs phi");
1396  p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle("#phi");
1397  p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle("<TIP> (cm)");
1398  p_ele_vertexTIPVsPhi->Write();
1399  TProfile *p_ele_vertexTIPVsPt = h_ele_vertexTIPVsPt->ProfileX();
1400  p_ele_vertexTIPVsPt->SetTitle("mean tip (wrt gen vtx) vs phi");
1401  p_ele_vertexTIPVsPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1402  p_ele_vertexTIPVsPt->GetYaxis()->SetTitle("<TIP> (cm)");
1403  p_ele_vertexTIPVsPt->Write();
1404 
1405  // mc truth
1406 
1407  h_matchingObjectNum->Write();
1408 
1409  // rec event
1410 
1411  histNum_->Write();
1412 
1413  // mc
1414  h_matchingObjectEta->Write();
1415  h_matchingObjectAbsEta->Write();
1416  h_matchingObjectP->Write();
1417  h_matchingObjectPt->Write();
1418  h_matchingObjectPhi->Write();
1419  h_matchingObjectZ->Write();
1420 
1421  // all electrons
1422  h_ele_EoverP_all->Write();
1423  h_ele_EseedOP_all->Write();
1424  h_ele_EoPout_all->Write();
1425  h_ele_EeleOPout_all->Write();
1426  h_ele_dEtaSc_propVtx_all->Write();
1427  h_ele_dPhiSc_propVtx_all->Write();
1428  h_ele_dEtaCl_propOut_all->Write();
1429  h_ele_dPhiCl_propOut_all->Write();
1430  h_ele_HoE_all->Write();
1431  h_ele_TIP_all->Write();
1432  h_ele_vertexPt_all->Write();
1433  h_ele_vertexEta_all->Write();
1434  h_ele_mee_all->Write();
1435  h_ele_mee_os->Write();
1436  h_ele_E2mnE1vsMee_all->Write();
1437  h_ele_E2mnE1vsMee_egeg_all->Write();
1438 
1439  // matched electrons
1440  h_ele_charge->Write();
1441  h_ele_chargeVsEta->Write();
1442  h_ele_chargeVsPhi->Write();
1443  h_ele_chargeVsPt->Write();
1444  h_ele_vertexP->Write();
1445  h_ele_vertexPt->Write();
1446  h_ele_vertexPtVsEta->Write();
1447  h_ele_vertexPtVsPhi->Write();
1449  h_ele_vertexEta->Write();
1450  h_ele_vertexEtaVsPhi->Write();
1453  h_ele_vertexPhi->Write();
1455  h_ele_vertexX->Write();
1456  h_ele_vertexY->Write();
1457  h_ele_vertexZ->Write();
1458  h_ele_vertexTIP->Write();
1460  h_ele_vertexTIPVsEta->Write();
1461  h_ele_vertexTIPVsPhi->Write();
1462  h_ele_vertexTIPVsPt->Write();
1463  h_ele_PoPmatchingObject->Write();
1466  h_ele_PoPmatchingObjectVsPt->Write();
1478 
1479  // matched electron, superclusters
1480  histSclEn_->Write();
1483  histSclEt_->Write();
1484  histSclEtVsEta_->Write();
1485  histSclEtVsPhi_->Write();
1486  histSclEtaVsPhi_->Write();
1487  histSclEta_->Write();
1488  histSclPhi_->Write();
1489  histSclSigIEtaIEta_->Write();
1490  histSclSigIEtaIEta_barrel_->Write();
1491  histSclSigIEtaIEta_endcaps_->Write();
1492  histSclE1x5_->Write();
1493  histSclE1x5_barrel_->Write();
1494  histSclE1x5_endcaps_->Write();
1495  histSclE2x5max_->Write();
1496  histSclE2x5max_barrel_->Write();
1497  histSclE2x5max_endcaps_->Write();
1498  histSclE5x5_->Write();
1499  histSclE5x5_barrel_->Write();
1500  histSclE5x5_endcaps_->Write();
1501 
1502  // matched electron, gsf tracks
1503  h_ele_ambiguousTracks->Write();
1504  h_ele_ambiguousTracksVsEta->Write();
1505  h_ele_ambiguousTracksVsPhi->Write();
1506  h_ele_ambiguousTracksVsPt->Write();
1507  h_ele_foundHits->Write();
1508  h_ele_foundHitsVsEta->Write();
1509  h_ele_foundHitsVsPhi->Write();
1510  h_ele_foundHitsVsPt->Write();
1511  h_ele_lostHits->Write();
1512  h_ele_lostHitsVsEta->Write();
1513  h_ele_lostHitsVsPhi->Write();
1514  h_ele_lostHitsVsPt->Write();
1515  h_ele_chi2->Write();
1516  h_ele_chi2VsEta->Write();
1517  h_ele_chi2VsPhi->Write();
1518  h_ele_chi2VsPt->Write();
1519  h_ele_PinMnPout->Write();
1520  h_ele_PinMnPout_mode->Write();
1521  h_ele_PinMnPoutVsEta_mode->Write();
1522  h_ele_PinMnPoutVsPhi_mode->Write();
1523  h_ele_PinMnPoutVsPt_mode->Write();
1524  h_ele_PinMnPoutVsE_mode->Write();
1525  h_ele_PinMnPoutVsChi2_mode->Write();
1526  h_ele_outerP->Write();
1527  h_ele_outerP_mode->Write();
1528  h_ele_outerPVsEta_mode->Write();
1529  h_ele_outerPt->Write();
1530  h_ele_outerPt_mode->Write();
1531  h_ele_outerPtVsEta_mode->Write();
1532  h_ele_outerPtVsPhi_mode->Write();
1533  h_ele_outerPtVsPt_mode->Write();
1534 
1535  // matched electrons, matching
1536  h_ele_EoP->Write();
1537  h_ele_EoP_eg->Write();
1538  h_ele_EoP_barrel->Write();
1539  h_ele_EoP_eg_barrel->Write();
1540  h_ele_EoP_endcaps->Write();
1541  h_ele_EoP_eg_endcaps->Write();
1542  h_ele_EoPVsEta->Write();
1543  h_ele_EoPVsPhi->Write();
1544  h_ele_EoPVsE->Write();
1545  h_ele_EseedOP->Write();
1546  h_ele_EseedOP_eg->Write();
1547  h_ele_EseedOP_barrel->Write();
1548  h_ele_EseedOP_eg_barrel->Write();
1549  h_ele_EseedOP_endcaps->Write();
1550  h_ele_EseedOP_eg_endcaps->Write();
1551  h_ele_EseedOPVsEta->Write();
1552  h_ele_EseedOPVsPhi->Write();
1553  h_ele_EseedOPVsE->Write();
1554  h_ele_EoPout->Write();
1555  h_ele_EoPout_eg->Write();
1556  h_ele_EoPout_barrel->Write();
1557  h_ele_EoPout_eg_barrel->Write();
1558  h_ele_EoPout_endcaps->Write();
1559  h_ele_EoPout_eg_endcaps->Write();
1560  h_ele_EoPoutVsEta->Write();
1561  h_ele_EoPoutVsPhi->Write();
1562  h_ele_EoPoutVsE->Write();
1563  h_ele_EeleOPout->Write();
1564  h_ele_EeleOPout_eg->Write();
1565  h_ele_EeleOPout_barrel->Write();
1566  h_ele_EeleOPout_eg_barrel->Write();
1567  h_ele_EeleOPout_endcaps->Write();
1568  h_ele_EeleOPout_eg_endcaps->Write();
1569  h_ele_EeleOPoutVsEta->Write();
1570  h_ele_EeleOPoutVsPhi->Write();
1571  h_ele_EeleOPoutVsE->Write();
1572  h_ele_dEtaSc_propVtx->Write();
1573  h_ele_dEtaSc_propVtx_eg->Write();
1574  h_ele_dEtaSc_propVtx_barrel->Write();
1578  h_ele_dEtaScVsEta_propVtx->Write();
1579  h_ele_dEtaScVsPhi_propVtx->Write();
1580  h_ele_dEtaScVsPt_propVtx->Write();
1581  h_ele_dPhiSc_propVtx->Write();
1582  h_ele_dPhiSc_propVtx_eg->Write();
1583  h_ele_dPhiSc_propVtx_barrel->Write();
1587  h_ele_dPhiScVsEta_propVtx->Write();
1588  h_ele_dPhiScVsPhi_propVtx->Write();
1589  h_ele_dPhiScVsPt_propVtx->Write();
1590  h_ele_dEtaCl_propOut->Write();
1591  h_ele_dEtaCl_propOut_eg->Write();
1592  h_ele_dEtaCl_propOut_barrel->Write();
1596  h_ele_dEtaClVsEta_propOut->Write();
1597  h_ele_dEtaClVsPhi_propOut->Write();
1598  h_ele_dEtaClVsPt_propOut->Write();
1599  h_ele_dPhiCl_propOut->Write();
1600  h_ele_dPhiCl_propOut_eg->Write();
1601  h_ele_dPhiCl_propOut_barrel->Write();
1605  h_ele_dPhiClVsEta_propOut->Write();
1606  h_ele_dPhiClVsPhi_propOut->Write();
1607  h_ele_dPhiClVsPt_propOut->Write();
1608  h_ele_dEtaEleCl_propOut->Write();
1609  h_ele_dEtaEleCl_propOut_eg->Write();
1616  h_ele_dEtaEleClVsPt_propOut->Write();
1617  h_ele_dPhiEleCl_propOut->Write();
1618  h_ele_dPhiEleCl_propOut_eg->Write();
1625  h_ele_dPhiEleClVsPt_propOut->Write();
1626  h_ele_HoE->Write();
1627  h_ele_HoE_eg->Write();
1628  h_ele_HoE_barrel->Write();
1629  h_ele_HoE_eg_barrel->Write();
1630  h_ele_HoE_endcaps->Write();
1631  h_ele_HoE_eg_endcaps->Write();
1632  h_ele_HoE_fiducial->Write();
1633  h_ele_HoEVsEta->Write();
1634  h_ele_HoEVsPhi->Write();
1635  h_ele_HoEVsE->Write();
1636 
1637  h_ele_seed_dphi2_->Write();
1638  h_ele_seed_subdet2_->Write();
1639  TProfile *p_ele_seed_dphi2VsEta_ = h_ele_seed_dphi2VsEta_->ProfileX();
1640  p_ele_seed_dphi2VsEta_->SetTitle("mean ele seed dphi 2nd layer vs eta");
1641  p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle("#eta");
1642  p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle("<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1643  p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1644  p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1645  p_ele_seed_dphi2VsEta_->Write();
1646  TProfile *p_ele_seed_dphi2VsPt_ = h_ele_seed_dphi2VsPt_->ProfileX();
1647  p_ele_seed_dphi2VsPt_->SetTitle("mean ele seed dphi 2nd layer vs pt");
1648  p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1649  p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle("<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1650  p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1651  p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1652  p_ele_seed_dphi2VsPt_->Write();
1653  h_ele_seed_drz2_->Write();
1654  TProfile *p_ele_seed_drz2VsEta_ = h_ele_seed_drz2VsEta_->ProfileX();
1655  p_ele_seed_drz2VsEta_->SetTitle("mean ele seed dr(dz) 2nd layer vs eta");
1656  p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle("#eta");
1657  p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle("<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1658  p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1659  p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1660  p_ele_seed_drz2VsEta_->Write();
1661  TProfile *p_ele_seed_drz2VsPt_ = h_ele_seed_drz2VsPt_->ProfileX();
1662  p_ele_seed_drz2VsPt_->SetTitle("mean ele seed dr(dz) 2nd layer vs pt");
1663  p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle("p_{T} (GeV/c)");
1664  p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle("<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1665  p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1666  p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1667  p_ele_seed_drz2VsPt_->Write();
1668 
1669  // classes
1670  h_ele_classes->Write();
1671  h_ele_eta->Write();
1672  h_ele_eta_golden->Write();
1673  h_ele_eta_bbrem->Write();
1674  h_ele_eta_narrow->Write();
1675  h_ele_eta_shower->Write();
1676  h_ele_PinVsPoutGolden_mode->Write();
1678  h_ele_PinVsPoutGolden_mean->Write();
1688 
1689  // fbrem
1690  h_ele_fbrem->Write();
1691  h_ele_fbremVsEta_mode->Write();
1692  h_ele_fbremVsEta_mean->Write();
1693  h_ele_etaEff->Write();
1694  h_ele_zEff->Write();
1695  h_ele_phiEff->Write();
1696  h_ele_absetaEff->Write();
1697  h_ele_ptEff->Write();
1698  h_ele_etaEff_all->Write();
1699  h_ele_ptEff_all->Write();
1700  h_ele_eta_goldenFrac->Write();
1701  h_ele_eta_bbremFrac->Write();
1702  h_ele_eta_narrowFrac->Write();
1703  h_ele_eta_showerFrac->Write();
1704  h_ele_xOverX0VsEta->Write();
1705 
1706  // e/g et pflow electrons
1707  h_ele_mva->Write();
1708  h_ele_provenance->Write();
1709 
1710  // isolation
1711  h_ele_tkSumPt_dr03->GetXaxis()->SetTitle("TkIsoSum, cone 0.3 (GeV/c)");
1712  h_ele_tkSumPt_dr03->GetYaxis()->SetTitle("Events");
1713  h_ele_tkSumPt_dr03->Write();
1714  h_ele_ecalRecHitSumEt_dr03->GetXaxis()->SetTitle("EcalIsoSum, cone 0.3 (GeV)");
1715  h_ele_ecalRecHitSumEt_dr03->GetYaxis()->SetTitle("Events");
1716  h_ele_ecalRecHitSumEt_dr03->Write();
1717  h_ele_hcalDepth1TowerSumEt_dr03->GetXaxis()->SetTitle("Hcal1IsoSum, cone 0.3 (GeV)");
1718  h_ele_hcalDepth1TowerSumEt_dr03->GetYaxis()->SetTitle("Events");
1720  h_ele_hcalDepth2TowerSumEt_dr03->GetXaxis()->SetTitle("Hcal2IsoSum, cone 0.3 (GeV)");
1721  h_ele_hcalDepth2TowerSumEt_dr03->GetYaxis()->SetTitle("Events");
1723  h_ele_tkSumPt_dr04->GetXaxis()->SetTitle("TkIsoSum, cone 0.4 (GeV/c)");
1724  h_ele_tkSumPt_dr04->GetYaxis()->SetTitle("Events");
1725  h_ele_tkSumPt_dr04->Write();
1726  h_ele_ecalRecHitSumEt_dr04->GetXaxis()->SetTitle("EcalIsoSum, cone 0.4 (GeV)");
1727  h_ele_ecalRecHitSumEt_dr04->GetYaxis()->SetTitle("Events");
1728  h_ele_ecalRecHitSumEt_dr04->Write();
1729  h_ele_hcalDepth1TowerSumEt_dr04->GetXaxis()->SetTitle("Hcal1IsoSum, cone 0.4 (GeV)");
1730  h_ele_hcalDepth1TowerSumEt_dr04->GetYaxis()->SetTitle("Events");
1732  h_ele_hcalDepth2TowerSumEt_dr04->GetXaxis()->SetTitle("Hcal2IsoSum, cone 0.4 (GeV)");
1733  h_ele_hcalDepth2TowerSumEt_dr04->GetYaxis()->SetTitle("Events");
1735 }
1736 
1738  std::cout << "analyzing new event " << std::endl;
1739 
1740  // get reco electrons
1743  edm::LogInfo("") << "\n\n =================> Treating event " << iEvent.id() << " Number of electrons "
1744  << gsfElectrons.product()->size();
1745 
1746  // get gen jets
1749 
1750  // get the beamspot from the Event:
1751  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
1752  iEvent.getByLabel(beamSpot_, recoBeamSpotHandle);
1753  const BeamSpot bs = *recoBeamSpotHandle;
1754 
1755  histNum_->Fill((*gsfElectrons).size());
1756 
1757  // all rec electrons
1758  for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
1759  gsfIter++) {
1760  // preselect electrons
1761  if (gsfIter->pt() > maxPt_ || std::abs(gsfIter->eta()) > maxAbsEta_)
1762  continue;
1763  h_ele_EoverP_all->Fill(gsfIter->eSuperClusterOverP());
1764  h_ele_EseedOP_all->Fill(gsfIter->eSeedClusterOverP());
1765  h_ele_EoPout_all->Fill(gsfIter->eSeedClusterOverPout());
1766  h_ele_EeleOPout_all->Fill(gsfIter->eEleClusterOverPout());
1767  h_ele_dEtaSc_propVtx_all->Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
1768  h_ele_dPhiSc_propVtx_all->Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
1769  h_ele_dEtaCl_propOut_all->Fill(gsfIter->deltaEtaSeedClusterTrackAtCalo());
1770  h_ele_dPhiCl_propOut_all->Fill(gsfIter->deltaPhiSeedClusterTrackAtCalo());
1771  h_ele_HoE_all->Fill(gsfIter->hadronicOverEm());
1772  double d = gsfIter->vertex().x() * gsfIter->vertex().x() + gsfIter->vertex().y() * gsfIter->vertex().y();
1773  h_ele_TIP_all->Fill(sqrt(d));
1774  h_ele_vertexEta_all->Fill(gsfIter->eta());
1775  h_ele_vertexPt_all->Fill(gsfIter->pt());
1776  float enrj1 = gsfIter->superCluster()->energy();
1777  // mee
1778  for (reco::GsfElectronCollection::const_iterator gsfIter2 = gsfIter + 1; gsfIter2 != gsfElectrons->end();
1779  gsfIter2++) {
1780  math::XYZTLorentzVector p12 = (*gsfIter).p4() + (*gsfIter2).p4();
1781  float mee2 = p12.Dot(p12);
1782  h_ele_mee_all->Fill(sqrt(mee2));
1783  float enrj2 = gsfIter2->superCluster()->energy();
1784  h_ele_E2mnE1vsMee_all->Fill(sqrt(mee2), enrj2 - enrj1);
1785  if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed())
1786  h_ele_E2mnE1vsMee_egeg_all->Fill(sqrt(mee2), enrj2 - enrj1);
1787  if (gsfIter->charge() * gsfIter2->charge() < 0.)
1788  h_ele_mee_os->Fill(sqrt(mee2));
1789  }
1790  }
1791 
1792  // association matching object-reco electrons
1793  int matchingObjectNum = 0;
1794 
1795  for (reco::GenJetCollection::const_iterator moIter = genJets->begin(); moIter != genJets->end(); ++moIter) {
1796  // number of matching objects
1797  matchingObjectNum++;
1798 
1799  if (moIter->energy() / cosh(moIter->eta()) > maxPt_ || std::abs(moIter->eta()) > maxAbsEta_)
1800  continue;
1801 
1802  // suppress the endcaps
1803  //if (std::abs(moIter->eta()) > 1.5) continue;
1804  // select central z
1805  //if ( std::abs((*mcIter)->production_vertex()->position().z())>50.) continue;
1806 
1807  h_matchingObjectEta->Fill(moIter->eta());
1808  h_matchingObjectAbsEta->Fill(std::abs(moIter->eta()));
1809  h_matchingObjectP->Fill(moIter->energy());
1810  h_matchingObjectPt->Fill(moIter->energy() / cosh(moIter->eta()));
1811  h_matchingObjectPhi->Fill(moIter->phi());
1812  h_matchingObjectZ->Fill(moIter->vz());
1813 
1814  // looking for the best matching gsf electron
1815  bool okGsfFound = false;
1816  double gsfOkRatio = 999999.;
1817 
1818  // find best matched electron
1819  reco::GsfElectron bestGsfElectron;
1820  for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
1821  gsfIter++) {
1822  double dphi = gsfIter->phi() - moIter->phi();
1823  if (std::abs(dphi) > CLHEP::pi)
1824  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
1825  double deltaR = sqrt(std::pow((gsfIter->eta() - moIter->eta()), 2) + std::pow(dphi, 2));
1826  if (deltaR < deltaR_) {
1827  //if ( (genPc->pdg_id() == 11) && (gsfIter->charge() < 0.) || (genPc->pdg_id() == -11) &&
1828  //(gsfIter->charge() > 0.) ){
1829  double tmpGsfRatio = gsfIter->p() / moIter->energy();
1830  if (std::abs(tmpGsfRatio - 1) < std::abs(gsfOkRatio - 1)) {
1831  gsfOkRatio = tmpGsfRatio;
1832  bestGsfElectron = *gsfIter;
1833  okGsfFound = true;
1834  }
1835  //}
1836  }
1837  } // loop over rec ele to look for the best one
1838 
1839  // analysis when the matching object is matched by a rec electron
1840  if (okGsfFound) {
1841  // electron related distributions
1842  h_ele_charge->Fill(bestGsfElectron.charge());
1843  h_ele_chargeVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.charge());
1844  h_ele_chargeVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.charge());
1845  h_ele_chargeVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.charge());
1846  h_ele_vertexP->Fill(bestGsfElectron.p());
1847  h_ele_vertexPt->Fill(bestGsfElectron.pt());
1848  h_ele_vertexPtVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.pt());
1849  h_ele_vertexPtVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.pt());
1850  h_ele_vertexEta->Fill(bestGsfElectron.eta());
1851  // generated distributions for matched electrons
1852  h_ele_matchingObjectPt_matched->Fill(moIter->energy() / cosh(moIter->eta()));
1853  h_ele_matchingObjectPhi_matched->Fill(moIter->phi());
1854  h_ele_matchingObjectAbsEta_matched->Fill(std::abs(moIter->eta()));
1855  h_ele_matchingObjectEta_matched->Fill(moIter->eta());
1856  h_ele_vertexEtaVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eta());
1857  h_ele_vertexPhi->Fill(bestGsfElectron.phi());
1858  h_ele_vertexX->Fill(bestGsfElectron.vertex().x());
1859  h_ele_vertexY->Fill(bestGsfElectron.vertex().y());
1860  h_ele_vertexZ->Fill(bestGsfElectron.vertex().z());
1861  h_ele_matchingObjectZ_matched->Fill(moIter->vz());
1862  double d =
1863  (bestGsfElectron.vertex().x() - bs.position().x()) * (bestGsfElectron.vertex().x() - bs.position().x()) +
1864  (bestGsfElectron.vertex().y() - bs.position().y()) * (bestGsfElectron.vertex().y() - bs.position().y());
1865  d = sqrt(d);
1866  h_ele_vertexTIP->Fill(d);
1867  h_ele_vertexTIPVsEta->Fill(bestGsfElectron.eta(), d);
1868  h_ele_vertexTIPVsPhi->Fill(bestGsfElectron.phi(), d);
1869  h_ele_vertexTIPVsPt->Fill(bestGsfElectron.pt(), d);
1870  h_ele_EtaMnEtamatchingObject->Fill(bestGsfElectron.eta() - moIter->eta());
1871  h_ele_EtaMnEtamatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eta() - moIter->eta());
1872  h_ele_EtaMnEtamatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eta() - moIter->eta());
1873  h_ele_EtaMnEtamatchingObjectVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.eta() - moIter->eta());
1874  h_ele_PhiMnPhimatchingObject->Fill(bestGsfElectron.phi() - moIter->phi());
1875  h_ele_PhiMnPhimatchingObject2->Fill(bestGsfElectron.phi() - moIter->phi());
1876  h_ele_PhiMnPhimatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.phi() - moIter->phi());
1877  h_ele_PhiMnPhimatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.phi() - moIter->phi());
1878  h_ele_PhiMnPhimatchingObjectVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.phi() - moIter->phi());
1879  h_ele_PoPmatchingObject->Fill(bestGsfElectron.p() / moIter->energy());
1880  h_ele_PoPmatchingObjectVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.p() / moIter->energy());
1881  h_ele_PoPmatchingObjectVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.p() / moIter->energy());
1882  h_ele_PoPmatchingObjectVsPt->Fill(bestGsfElectron.py(), bestGsfElectron.p() / moIter->energy());
1883  if (bestGsfElectron.isEB())
1884  h_ele_PoPmatchingObject_barrel->Fill(bestGsfElectron.p() / moIter->energy());
1885  if (bestGsfElectron.isEE())
1886  h_ele_PoPmatchingObject_endcaps->Fill(bestGsfElectron.p() / moIter->energy());
1887 
1888  // supercluster related distributions
1889  reco::SuperClusterRef sclRef = bestGsfElectron.superCluster();
1890  if (!bestGsfElectron.ecalDrivenSeed() && bestGsfElectron.trackerDrivenSeed())
1891  sclRef = bestGsfElectron.parentSuperCluster();
1892  histSclEn_->Fill(sclRef->energy());
1893  double R = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y() + sclRef->z() * sclRef->z());
1894  double Rt = TMath::Sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y());
1895  histSclEt_->Fill(sclRef->energy() * (Rt / R));
1896  histSclEtVsEta_->Fill(sclRef->eta(), sclRef->energy() * (Rt / R));
1897  histSclEtVsPhi_->Fill(sclRef->phi(), sclRef->energy() * (Rt / R));
1898  if (bestGsfElectron.isEB())
1899  histSclEoEmatchingObject_barrel->Fill(sclRef->energy() / moIter->energy());
1900  if (bestGsfElectron.isEE())
1901  histSclEoEmatchingObject_endcaps->Fill(sclRef->energy() / moIter->energy());
1902  histSclEta_->Fill(sclRef->eta());
1903  histSclEtaVsPhi_->Fill(sclRef->phi(), sclRef->eta());
1904  histSclPhi_->Fill(sclRef->phi());
1905  histSclSigIEtaIEta_->Fill(bestGsfElectron.scSigmaIEtaIEta());
1906  if (bestGsfElectron.isEB())
1907  histSclSigIEtaIEta_barrel_->Fill(bestGsfElectron.scSigmaIEtaIEta());
1908  if (bestGsfElectron.isEE())
1909  histSclSigIEtaIEta_endcaps_->Fill(bestGsfElectron.scSigmaIEtaIEta());
1910  histSclE1x5_->Fill(bestGsfElectron.scE1x5());
1911  if (bestGsfElectron.isEB())
1912  histSclE1x5_barrel_->Fill(bestGsfElectron.scE1x5());
1913  if (bestGsfElectron.isEE())
1914  histSclE1x5_endcaps_->Fill(bestGsfElectron.scE1x5());
1915  histSclE2x5max_->Fill(bestGsfElectron.scE2x5Max());
1916  if (bestGsfElectron.isEB())
1917  histSclE2x5max_barrel_->Fill(bestGsfElectron.scE2x5Max());
1918  if (bestGsfElectron.isEE())
1919  histSclE2x5max_endcaps_->Fill(bestGsfElectron.scE2x5Max());
1920  histSclE5x5_->Fill(bestGsfElectron.scE5x5());
1921  if (bestGsfElectron.isEB())
1922  histSclE5x5_barrel_->Fill(bestGsfElectron.scE5x5());
1923  if (bestGsfElectron.isEE())
1924  histSclE5x5_endcaps_->Fill(bestGsfElectron.scE5x5());
1925 
1926  // track related distributions
1927  h_ele_ambiguousTracks->Fill(bestGsfElectron.ambiguousGsfTracksSize());
1928  h_ele_ambiguousTracksVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.ambiguousGsfTracksSize());
1929  h_ele_ambiguousTracksVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.ambiguousGsfTracksSize());
1930  h_ele_ambiguousTracksVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.ambiguousGsfTracksSize());
1931  if (!readAOD_) { // track extra does not exist in AOD
1932  h_ele_foundHits->Fill(bestGsfElectron.gsfTrack()->numberOfValidHits());
1933  h_ele_foundHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits());
1934  h_ele_foundHitsVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfValidHits());
1935  h_ele_foundHitsVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfValidHits());
1936  h_ele_lostHits->Fill(bestGsfElectron.gsfTrack()->numberOfLostHits());
1937  h_ele_lostHitsVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfLostHits());
1938  h_ele_lostHitsVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfLostHits());
1939  h_ele_lostHitsVsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfLostHits());
1940  h_ele_chi2->Fill(bestGsfElectron.gsfTrack()->normalizedChi2());
1941  h_ele_chi2VsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->normalizedChi2());
1942  h_ele_chi2VsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->normalizedChi2());
1943  h_ele_chi2VsPt->Fill(bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->normalizedChi2());
1944  }
1945  // from gsf track interface, hence using mean
1946  if (!readAOD_) { // track extra does not exist in AOD
1947  h_ele_PinMnPout->Fill(bestGsfElectron.gsfTrack()->innerMomentum().R() -
1948  bestGsfElectron.gsfTrack()->outerMomentum().R());
1949  h_ele_outerP->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R());
1950  h_ele_outerPt->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho());
1951  }
1952  // from electron interface, hence using mode
1953  h_ele_PinMnPout_mode->Fill(bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1955  bestGsfElectron.eta(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1957  bestGsfElectron.phi(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1958  h_ele_PinMnPoutVsPt_mode->Fill(bestGsfElectron.pt(),
1959  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1960  h_ele_PinMnPoutVsE_mode->Fill(bestGsfElectron.caloEnergy(),
1961  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1962  if (!readAOD_) // track extra does not exist in AOD
1964  bestGsfElectron.gsfTrack()->normalizedChi2(),
1965  bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R());
1966  h_ele_outerP_mode->Fill(bestGsfElectron.trackMomentumOut().R());
1967  h_ele_outerPVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().R());
1968  h_ele_outerPt_mode->Fill(bestGsfElectron.trackMomentumOut().Rho());
1969  h_ele_outerPtVsEta_mode->Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().Rho());
1970  h_ele_outerPtVsPhi_mode->Fill(bestGsfElectron.phi(), bestGsfElectron.trackMomentumOut().Rho());
1971  h_ele_outerPtVsPt_mode->Fill(bestGsfElectron.pt(), bestGsfElectron.trackMomentumOut().Rho());
1972 
1973  if (!readAOD_) { // track extra does not exist in AOD
1974  edm::RefToBase<TrajectorySeed> seed = bestGsfElectron.gsfTrack()->extra()->seedRef();
1975  ElectronSeedRef elseed = seed.castTo<ElectronSeedRef>();
1976  h_ele_seed_dphi2_->Fill(elseed->dPhiNeg(1));
1977  h_ele_seed_dphi2VsEta_->Fill(bestGsfElectron.eta(), elseed->dPhiNeg(1));
1978  h_ele_seed_dphi2VsPt_->Fill(bestGsfElectron.pt(), elseed->dPhiNeg(1));
1979  h_ele_seed_drz2_->Fill(elseed->dRZNeg(1));
1980  h_ele_seed_drz2VsEta_->Fill(bestGsfElectron.eta(), elseed->dRZNeg(1));
1981  h_ele_seed_drz2VsPt_->Fill(bestGsfElectron.pt(), elseed->dRZNeg(1));
1982  h_ele_seed_subdet2_->Fill(elseed->subDet(1));
1983  }
1984  // match distributions
1985  h_ele_EoP->Fill(bestGsfElectron.eSuperClusterOverP());
1986  if (bestGsfElectron.ecalDrivenSeed())
1987  h_ele_EoP_eg->Fill(bestGsfElectron.eSuperClusterOverP());
1988  if (bestGsfElectron.isEB())
1989  h_ele_EoP_barrel->Fill(bestGsfElectron.eSuperClusterOverP());
1990  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
1991  h_ele_EoP_eg_barrel->Fill(bestGsfElectron.eSuperClusterOverP());
1992  if (bestGsfElectron.isEE())
1993  h_ele_EoP_endcaps->Fill(bestGsfElectron.eSuperClusterOverP());
1994  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
1995  h_ele_EoP_eg_endcaps->Fill(bestGsfElectron.eSuperClusterOverP());
1996  h_ele_EoPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSuperClusterOverP());
1997  h_ele_EoPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSuperClusterOverP());
1998  h_ele_EoPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSuperClusterOverP());
1999  h_ele_EseedOP->Fill(bestGsfElectron.eSeedClusterOverP());
2000  if (bestGsfElectron.ecalDrivenSeed())
2001  h_ele_EseedOP_eg->Fill(bestGsfElectron.eSeedClusterOverP());
2002  if (bestGsfElectron.isEB())
2003  h_ele_EseedOP_barrel->Fill(bestGsfElectron.eSeedClusterOverP());
2004  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2005  h_ele_EseedOP_eg_barrel->Fill(bestGsfElectron.eSeedClusterOverP());
2006  if (bestGsfElectron.isEE())
2007  h_ele_EseedOP_endcaps->Fill(bestGsfElectron.eSeedClusterOverP());
2008  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2009  h_ele_EseedOP_eg_endcaps->Fill(bestGsfElectron.eSeedClusterOverP());
2010  h_ele_EseedOPVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverP());
2011  h_ele_EseedOPVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverP());
2012  h_ele_EseedOPVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverP());
2013  h_ele_EoPout->Fill(bestGsfElectron.eSeedClusterOverPout());
2014  if (bestGsfElectron.ecalDrivenSeed())
2015  h_ele_EoPout_eg->Fill(bestGsfElectron.eSeedClusterOverPout());
2016  if (bestGsfElectron.isEB())
2017  h_ele_EoPout_barrel->Fill(bestGsfElectron.eSeedClusterOverPout());
2018  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2019  h_ele_EoPout_eg_barrel->Fill(bestGsfElectron.eSeedClusterOverPout());
2020  if (bestGsfElectron.isEE())
2021  h_ele_EoPout_endcaps->Fill(bestGsfElectron.eSeedClusterOverPout());
2022  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2023  h_ele_EoPout_eg_endcaps->Fill(bestGsfElectron.eSeedClusterOverPout());
2024  h_ele_EoPoutVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverPout());
2025  h_ele_EoPoutVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverPout());
2026  h_ele_EoPoutVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverPout());
2027  h_ele_EeleOPout->Fill(bestGsfElectron.eEleClusterOverPout());
2028  if (bestGsfElectron.ecalDrivenSeed())
2029  h_ele_EeleOPout_eg->Fill(bestGsfElectron.eEleClusterOverPout());
2030  if (bestGsfElectron.isEB())
2031  h_ele_EeleOPout_barrel->Fill(bestGsfElectron.eEleClusterOverPout());
2032  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2033  h_ele_EeleOPout_eg_barrel->Fill(bestGsfElectron.eEleClusterOverPout());
2034  if (bestGsfElectron.isEE())
2035  h_ele_EeleOPout_endcaps->Fill(bestGsfElectron.eEleClusterOverPout());
2036  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2037  h_ele_EeleOPout_eg_endcaps->Fill(bestGsfElectron.eEleClusterOverPout());
2038  h_ele_EeleOPoutVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.eEleClusterOverPout());
2039  h_ele_EeleOPoutVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.eEleClusterOverPout());
2040  h_ele_EeleOPoutVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eEleClusterOverPout());
2041  h_ele_dEtaSc_propVtx->Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2042  if (bestGsfElectron.ecalDrivenSeed())
2044  if (bestGsfElectron.isEB())
2046  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2048  if (bestGsfElectron.isEE())
2050  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2052  h_ele_dEtaScVsEta_propVtx->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2053  h_ele_dEtaScVsPhi_propVtx->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2054  h_ele_dEtaScVsPt_propVtx->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
2055  h_ele_dPhiSc_propVtx->Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2056  if (bestGsfElectron.ecalDrivenSeed())
2058  if (bestGsfElectron.isEB())
2060  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2062  if (bestGsfElectron.isEE())
2064  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2066  h_ele_dPhiScVsEta_propVtx->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2067  h_ele_dPhiScVsPhi_propVtx->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2068  h_ele_dPhiScVsPt_propVtx->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
2069  h_ele_dEtaCl_propOut->Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2070  if (bestGsfElectron.ecalDrivenSeed())
2072  if (bestGsfElectron.isEB())
2074  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2076  if (bestGsfElectron.isEE())
2078  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2080  h_ele_dEtaClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2081  h_ele_dEtaClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2082  h_ele_dEtaClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
2083  h_ele_dPhiCl_propOut->Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2084  if (bestGsfElectron.ecalDrivenSeed())
2086  if (bestGsfElectron.isEB())
2088  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2090  if (bestGsfElectron.isEE())
2092  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2094  h_ele_dPhiClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2095  h_ele_dPhiClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2096  h_ele_dPhiClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
2097  h_ele_dEtaEleCl_propOut->Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2098  if (bestGsfElectron.ecalDrivenSeed())
2100  if (bestGsfElectron.isEB())
2102  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2104  if (bestGsfElectron.isEE())
2106  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2108  h_ele_dEtaEleClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2109  h_ele_dEtaEleClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2110  h_ele_dEtaEleClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
2111  h_ele_dPhiEleCl_propOut->Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2112  if (bestGsfElectron.ecalDrivenSeed())
2114  if (bestGsfElectron.isEB())
2116  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2118  if (bestGsfElectron.isEE())
2120  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2122  h_ele_dPhiEleClVsEta_propOut->Fill(bestGsfElectron.eta(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2123  h_ele_dPhiEleClVsPhi_propOut->Fill(bestGsfElectron.phi(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2124  h_ele_dPhiEleClVsPt_propOut->Fill(bestGsfElectron.pt(), bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
2125  h_ele_HoE->Fill(bestGsfElectron.hadronicOverEm());
2126  if (bestGsfElectron.ecalDrivenSeed())
2127  h_ele_HoE_eg->Fill(bestGsfElectron.hadronicOverEm());
2128  if (bestGsfElectron.isEB())
2129  h_ele_HoE_barrel->Fill(bestGsfElectron.hadronicOverEm());
2130  if (bestGsfElectron.isEB() && bestGsfElectron.ecalDrivenSeed())
2131  h_ele_HoE_eg_barrel->Fill(bestGsfElectron.hadronicOverEm());
2132  if (bestGsfElectron.isEE())
2133  h_ele_HoE_endcaps->Fill(bestGsfElectron.hadronicOverEm());
2134  if (bestGsfElectron.isEE() && bestGsfElectron.ecalDrivenSeed())
2135  h_ele_HoE_eg_endcaps->Fill(bestGsfElectron.hadronicOverEm());
2136  if (!bestGsfElectron.isEBEtaGap() && !bestGsfElectron.isEBPhiGap() && !bestGsfElectron.isEBEEGap() &&
2137  !bestGsfElectron.isEERingGap() && !bestGsfElectron.isEEDeeGap())
2138  h_ele_HoE_fiducial->Fill(bestGsfElectron.hadronicOverEm());
2139  h_ele_HoEVsEta->Fill(bestGsfElectron.eta(), bestGsfElectron.hadronicOverEm());
2140  h_ele_HoEVsPhi->Fill(bestGsfElectron.phi(), bestGsfElectron.hadronicOverEm());
2141  h_ele_HoEVsE->Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.hadronicOverEm());
2142 
2143  //classes
2144  int eleClass = bestGsfElectron.classification();
2145  if (bestGsfElectron.isEE())
2146  eleClass += 10;
2147  h_ele_classes->Fill(eleClass);
2148 
2149  h_ele_eta->Fill(std::abs(bestGsfElectron.eta()));
2150  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2151  h_ele_eta_golden->Fill(std::abs(bestGsfElectron.eta()));
2152  if (bestGsfElectron.classification() == GsfElectron::BIGBREM)
2153  h_ele_eta_bbrem->Fill(std::abs(bestGsfElectron.eta()));
2154  //if (bestGsfElectron.classification() == GsfElectron::OLDNARROW) h_ele_eta_narrow ->Fill(std::abs(bestGsfElectron.eta()));
2155  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2156  h_ele_eta_shower->Fill(std::abs(bestGsfElectron.eta()));
2157 
2158  //fbrem
2159  double fbrem_mean = 0.;
2160  if (!readAOD_) // track extra does not exist in AOD
2161  fbrem_mean =
2162  1. - bestGsfElectron.gsfTrack()->outerMomentum().R() / bestGsfElectron.gsfTrack()->innerMomentum().R();
2163  double fbrem_mode = bestGsfElectron.fbrem();
2164  h_ele_fbrem->Fill(fbrem_mode);
2165  h_ele_fbremVsEta_mode->Fill(bestGsfElectron.eta(), fbrem_mode);
2166  if (!readAOD_) // track extra does not exist in AOD
2167  h_ele_fbremVsEta_mean->Fill(bestGsfElectron.eta(), fbrem_mean);
2168 
2169  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2170  h_ele_PinVsPoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().R(),
2171  bestGsfElectron.trackMomentumAtVtx().R());
2172  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2173  h_ele_PinVsPoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().R(),
2174  bestGsfElectron.trackMomentumAtVtx().R());
2175  if (!readAOD_) // track extra does not exist in AOD
2176  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2177  h_ele_PinVsPoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(),
2178  bestGsfElectron.gsfTrack()->innerMomentum().R());
2179  if (!readAOD_) // track extra does not exist in AOD
2180  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2181  h_ele_PinVsPoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(),
2182  bestGsfElectron.gsfTrack()->innerMomentum().R());
2183  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2184  h_ele_PtinVsPtoutGolden_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(),
2185  bestGsfElectron.trackMomentumAtVtx().Rho());
2186  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2187  h_ele_PtinVsPtoutShowering_mode->Fill(bestGsfElectron.trackMomentumOut().Rho(),
2188  bestGsfElectron.trackMomentumAtVtx().Rho());
2189  if (!readAOD_) // track extra does not exist in AOD
2190  if (bestGsfElectron.classification() == GsfElectron::GOLDEN)
2191  h_ele_PtinVsPtoutGolden_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(),
2192  bestGsfElectron.gsfTrack()->innerMomentum().Rho());
2193  if (!readAOD_) // track extra does not exist in AOD
2194  if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
2195  h_ele_PtinVsPtoutShowering_mean->Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(),
2196  bestGsfElectron.gsfTrack()->innerMomentum().Rho());
2197 
2198  h_ele_mva->Fill(bestGsfElectron.mva_e_pi());
2199  if (bestGsfElectron.ecalDrivenSeed())
2200  h_ele_provenance->Fill(1.);
2201  if (bestGsfElectron.trackerDrivenSeed())
2202  h_ele_provenance->Fill(-1.);
2203  if (bestGsfElectron.trackerDrivenSeed() || bestGsfElectron.ecalDrivenSeed())
2204  h_ele_provenance->Fill(0.);
2205  if (bestGsfElectron.trackerDrivenSeed() && !bestGsfElectron.ecalDrivenSeed())
2206  h_ele_provenance->Fill(-2.);
2207  if (!bestGsfElectron.trackerDrivenSeed() && bestGsfElectron.ecalDrivenSeed())
2208  h_ele_provenance->Fill(2.);
2209 
2210  h_ele_tkSumPt_dr03->Fill(bestGsfElectron.dr03TkSumPt());
2211  h_ele_ecalRecHitSumEt_dr03->Fill(bestGsfElectron.dr03EcalRecHitSumEt());
2214  h_ele_tkSumPt_dr04->Fill(bestGsfElectron.dr04TkSumPt());
2215  h_ele_ecalRecHitSumEt_dr04->Fill(bestGsfElectron.dr04EcalRecHitSumEt());
2218 
2219  } // gsf electron found
2220 
2221  // } // matching object found
2222 
2223  // }
2224 
2225  } // loop overmatching object
2226 
2227  h_matchingObjectNum->Fill(matchingObjectNum);
2228 }
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_barrel
TH1F * h_ele_EseedOP_barrel
Definition: GsfElectronMCFakeAnalyzer.h:261
reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:234
GsfElectronMCFakeAnalyzer::h_matchingObjectPhi
TH1F * h_matchingObjectPhi
Definition: GsfElectronMCFakeAnalyzer.h:122
GsfElectronMCFakeAnalyzer::nbindetamatch
int nbindetamatch
Definition: GsfElectronMCFakeAnalyzer.h:88
GsfElectronMCFakeAnalyzer::h_ele_foundHits
TH1F * h_ele_foundHits
Definition: GsfElectronMCFakeAnalyzer.h:200
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObject_endcaps
TH1F * histSclEoEmatchingObject_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:173
GsfElectronMCFakeAnalyzer::nbineta2D
int nbineta2D
Definition: GsfElectronMCFakeAnalyzer.h:82
GsfElectronMCFakeAnalyzer::h_ele_dEtaClVsEta_propOut
TH2F * h_ele_dEtaClVsEta_propOut
Definition: GsfElectronMCFakeAnalyzer.h:312
reco::GsfElectron::isEE
bool isEE() const
Definition: GsfElectron.h:337
GsfElectronMCFakeAnalyzer::nbinpteff
int nbinpteff
Definition: GsfElectronMCFakeAnalyzer.h:75
reco::GsfElectron::dr04EcalRecHitSumEt
float dr04EcalRecHitSumEt() const
Definition: GsfElectron.h:543
GenJetCollection.h
GsfElectronMCFakeAnalyzer::h_ele_HoE_barrel
TH1F * h_ele_HoE_barrel
Definition: GsfElectronMCFakeAnalyzer.h:359
GsfElectronMCFakeAnalyzer::h_ele_PinVsPoutGolden_mode
TH2F * h_ele_PinVsPoutGolden_mode
Definition: GsfElectronMCFakeAnalyzer.h:373
GsfElectronMCFakeAnalyzer::h_ele_EoPoutVsEta
TH2F * h_ele_EoPoutVsEta
Definition: GsfElectronMCFakeAnalyzer.h:275
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleClVsEta_propOut
TH2F * h_ele_dPhiEleClVsEta_propOut
Definition: GsfElectronMCFakeAnalyzer.h:339
GsfElectronMCFakeAnalyzer::h_ele_matchingObjectPhi_matched
TH1F * h_ele_matchingObjectPhi_matched
Definition: GsfElectronMCFakeAnalyzer.h:146
GsfElectronMCFakeAnalyzer::h_ele_EoPoutVsE
TH2F * h_ele_EoPoutVsE
Definition: GsfElectronMCFakeAnalyzer.h:277
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObject_endcaps
TH1F * h_ele_PoPmatchingObject_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:224
GsfElectronMCFakeAnalyzer::phimax
double phimax
Definition: GsfElectronMCFakeAnalyzer.h:95
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObjectGolden_barrel
TH1F * histSclEoEmatchingObjectGolden_barrel
Definition: GsfElectronMCFakeAnalyzer.h:381
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_eg_endcaps
TH1F * h_ele_dPhiCl_propOut_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:320
reco::GsfElectron::dr03TkSumPt
float dr03TkSumPt() const
Definition: GsfElectron.h:529
reco::GsfElectron::isEB
bool isEB() const
Definition: GsfElectron.h:336
GsfElectronMCFakeAnalyzer::h_ele_seed_dphi2VsEta_
TH2F * h_ele_seed_dphi2VsEta_
Definition: GsfElectronMCFakeAnalyzer.h:344
reco::GsfElectron::scE1x5
float scE1x5() const
Definition: GsfElectron.h:473
GsfElectronMCFakeAnalyzer::h_ele_PinVsPoutGolden_mean
TH2F * h_ele_PinVsPoutGolden_mean
Definition: GsfElectronMCFakeAnalyzer.h:375
reco::GsfElectron::gsfTrack
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:164
MessageLogger.h
reco::GsfElectron::trackMomentumOut
math::XYZVectorF trackMomentumOut() const
Definition: GsfElectron.h:278
GsfElectronMCFakeAnalyzer::h_ele_tkSumPt_dr04
TH1F * h_ele_tkSumPt_dr04
Definition: GsfElectronMCFakeAnalyzer.h:393
GsfElectronMCFakeAnalyzer::histSclE5x5_barrel_
TH1F * histSclE5x5_barrel_
Definition: GsfElectronMCFakeAnalyzer.h:193
GsfElectronMCFakeAnalyzer::h_ele_E2mnE1vsMee_all
TH2F * h_ele_E2mnE1vsMee_all
Definition: GsfElectronMCFakeAnalyzer.h:140
GsfElectronMCFakeAnalyzer::hoemin
double hoemin
Definition: GsfElectronMCFakeAnalyzer.h:111
GsfElectronMCFakeAnalyzer::~GsfElectronMCFakeAnalyzer
~GsfElectronMCFakeAnalyzer() override
Definition: GsfElectronMCFakeAnalyzer.cc:110
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_eg_endcaps
TH1F * h_ele_dPhiSc_propVtx_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:302
GsfElectronMCFakeAnalyzer::h_ele_EeleOPoutVsPhi
TH2F * h_ele_EeleOPoutVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:285
GsfElectronMCFakeAnalyzer::h_ele_lostHitsVsPt
TH2F * h_ele_lostHitsVsPt
Definition: GsfElectronMCFakeAnalyzer.h:211
GsfElectronMCFakeAnalyzer::h_ele_foundHitsVsPt
TH2F * h_ele_foundHitsVsPt
Definition: GsfElectronMCFakeAnalyzer.h:205
GsfElectronMCFakeAnalyzer::h_ele_vertexTIPVsPhi
TH2F * h_ele_vertexTIPVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:166
GsfElectronMCFakeAnalyzer::h_ele_classes
TH1F * h_ele_classes
Definition: GsfElectronMCFakeAnalyzer.h:351
GsfElectronMCFakeAnalyzer::h_ele_ambiguousTracksVsEta
TH2F * h_ele_ambiguousTracksVsEta
Definition: GsfElectronMCFakeAnalyzer.h:197
GsfElectronMCFakeAnalyzer::h_ele_EtaMnEtamatchingObjectVsPhi
TH2F * h_ele_EtaMnEtamatchingObjectVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:227
GsfElectronMCFakeAnalyzer::h_ele_dEtaScVsPt_propVtx
TH2F * h_ele_dEtaScVsPt_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:296
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_eg
TH1F * h_ele_dPhiCl_propOut_eg
Definition: GsfElectronMCFakeAnalyzer.h:318
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_eg_endcaps
TH1F * h_ele_EeleOPout_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:283
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut
TH1F * h_ele_dEtaEleCl_propOut
Definition: GsfElectronMCFakeAnalyzer.h:324
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut_barrel
TH1F * h_ele_dPhiEleCl_propOut_barrel
Definition: GsfElectronMCFakeAnalyzer.h:334
GsfElectronMCFakeAnalyzer::nbineop2D
int nbineop2D
Definition: GsfElectronMCFakeAnalyzer.h:104
reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:236
GsfElectronMCFakeAnalyzer::h_ele_EoPoutVsPhi
TH2F * h_ele_EoPoutVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:276
reco::GsfElectron::parentSuperCluster
virtual SuperClusterRef parentSuperCluster() const
Definition: GsfElectron.h:168
GsfElectronMCFakeAnalyzer::beginJob
void beginJob() override
Definition: GsfElectronMCFakeAnalyzer.cc:117
GsfElectronMCFakeAnalyzer::h_ele_vertexPt_all
TH1F * h_ele_vertexPt_all
Definition: GsfElectronMCFakeAnalyzer.h:136
GsfElectronMCFakeAnalyzer::h_ele_eta_bbrem
TH1F * h_ele_eta_bbrem
Definition: GsfElectronMCFakeAnalyzer.h:354
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleClVsPt_propOut
TH2F * h_ele_dPhiEleClVsPt_propOut
Definition: GsfElectronMCFakeAnalyzer.h:341
GsfElectronMCFakeAnalyzer::pmax
double pmax
Definition: GsfElectronMCFakeAnalyzer.h:72
GsfElectronMCFakeAnalyzer::h_ele_ecalRecHitSumEt_dr03
TH1F * h_ele_ecalRecHitSumEt_dr03
Definition: GsfElectronMCFakeAnalyzer.h:390
GsfElectronMCFakeAnalyzer::histSclE1x5_endcaps_
TH1F * histSclE1x5_endcaps_
Definition: GsfElectronMCFakeAnalyzer.h:188
GsfElectronMCFakeAnalyzer::h_ele_fbrem
TH1F * h_ele_fbrem
Definition: GsfElectronMCFakeAnalyzer.h:369
GsfElectronMCFakeAnalyzer::h_ele_seed_drz2VsPt_
TH2F * h_ele_seed_drz2VsPt_
Definition: GsfElectronMCFakeAnalyzer.h:348
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_eg_barrel
TH1F * h_ele_EseedOP_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:264
GsfElectronMCFakeAnalyzer::h_ele_dPhiClVsEta_propOut
TH2F * h_ele_dPhiClVsEta_propOut
Definition: GsfElectronMCFakeAnalyzer.h:321
GsfElectronMCFakeAnalyzer::detamax
double detamax
Definition: GsfElectronMCFakeAnalyzer.h:87
reco::GsfElectron::isEERingGap
bool isEERingGap() const
Definition: GsfElectron.h:345
GsfElectronMCFakeAnalyzer::h_ele_foundHitsVsEta
TH2F * h_ele_foundHitsVsEta
Definition: GsfElectronMCFakeAnalyzer.h:203
GsfElectronMCFakeAnalyzer::h_ele_hcalDepth1TowerSumEt_dr04
TH1F * h_ele_hcalDepth1TowerSumEt_dr04
Definition: GsfElectronMCFakeAnalyzer.h:395
GsfElectronMCFakeAnalyzer::h_ele_lostHitsVsPhi
TH2F * h_ele_lostHitsVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:210
GsfElectronMCFakeAnalyzer::h_ele_outerPtVsPhi_mode
TH2F * h_ele_outerPtVsPhi_mode
Definition: GsfElectronMCFakeAnalyzer.h:249
edm
HLT enums.
Definition: AlignableModifier.h:19
reco::GsfElectron::dr04HcalDepth1TowerSumEt
float dr04HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:544
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut_eg
TH1F * h_ele_dEtaEleCl_propOut_eg
Definition: GsfElectronMCFakeAnalyzer.h:327
GsfElectronMCFakeAnalyzer::h_ele_HoE_endcaps
TH1F * h_ele_HoE_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:360
GsfElectronMCFakeAnalyzer::h_ele_tkSumPt_dr03
TH1F * h_ele_tkSumPt_dr03
Definition: GsfElectronMCFakeAnalyzer.h:389
GsfElectronMCFakeAnalyzer::h_ele_PtinVsPtoutGolden_mean
TH2F * h_ele_PtinVsPtoutGolden_mean
Definition: GsfElectronMCFakeAnalyzer.h:379
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_barrel
TH1F * h_ele_dEtaCl_propOut_barrel
Definition: GsfElectronMCFakeAnalyzer.h:307
GsfElectronMCFakeAnalyzer::h_ele_foundHitsVsPhi
TH2F * h_ele_foundHitsVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:204
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleClVsEta_propOut
TH2F * h_ele_dEtaEleClVsEta_propOut
Definition: GsfElectronMCFakeAnalyzer.h:330
GsfElectronMCFakeAnalyzer::dphimax
double dphimax
Definition: GsfElectronMCFakeAnalyzer.h:98
gather_cfg.cout
cout
Definition: gather_cfg.py:144
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_eg_barrel
TH1F * h_ele_dPhiSc_propVtx_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:301
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_all
TH1F * h_ele_EseedOP_all
Definition: GsfElectronMCFakeAnalyzer.h:126
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_eg_endcaps
TH1F * h_ele_dEtaSc_propVtx_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:293
GsfElectronMCFakeAnalyzer::eopmaxsht
double eopmaxsht
Definition: GsfElectronMCFakeAnalyzer.h:106
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
reco::GsfElectron::scE2x5Max
float scE2x5Max() const
Definition: GsfElectron.h:474
GsfElectronMCFakeAnalyzer::h_ele_lostHits
TH1F * h_ele_lostHits
Definition: GsfElectronMCFakeAnalyzer.h:206
GsfElectronMCFakeAnalyzer::h_ele_EtaMnEtamatchingObjectVsEta
TH2F * h_ele_EtaMnEtamatchingObjectVsEta
Definition: GsfElectronMCFakeAnalyzer.h:226
GsfElectronMCFakeAnalyzer::detamatchmin
double detamatchmin
Definition: GsfElectronMCFakeAnalyzer.h:90
GsfElectronMCFakeAnalyzer::h_ele_chi2
TH1F * h_ele_chi2
Definition: GsfElectronMCFakeAnalyzer.h:212
GsfElectronMCFakeAnalyzer::meemax
double meemax
Definition: GsfElectronMCFakeAnalyzer.h:109
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut_endcaps
TH1F * h_ele_dEtaEleCl_propOut_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:326
GsfElectronMCFakeAnalyzer::nbinp
int nbinp
Definition: GsfElectronMCFakeAnalyzer.h:70
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_all
TH1F * h_ele_dPhiSc_propVtx_all
Definition: GsfElectronMCFakeAnalyzer.h:130
GsfElectronMCFakeAnalyzer::h_ele_vertexZ
TH1F * h_ele_vertexZ
Definition: GsfElectronMCFakeAnalyzer.h:163
GsfElectronMCFakeAnalyzer::maxPt_
double maxPt_
Definition: GsfElectronMCFakeAnalyzer.h:60
GsfElectronMCFakeAnalyzer::nbindphi
int nbindphi
Definition: GsfElectronMCFakeAnalyzer.h:96
GsfElectronMCFakeAnalyzer::h_ele_EseedOP
TH1F * h_ele_EseedOP
Definition: GsfElectronMCFakeAnalyzer.h:260
GsfElectronMCFakeAnalyzer::h_ele_EtaMnEtamatchingObject
TH1F * h_ele_EtaMnEtamatchingObject
Definition: GsfElectronMCFakeAnalyzer.h:225
GsfElectronMCFakeAnalyzer::h_ele_outerPtVsPt_mode
TH2F * h_ele_outerPtVsPt_mode
Definition: GsfElectronMCFakeAnalyzer.h:250
GsfElectronMCFakeAnalyzer::nbindeta
int nbindeta
Definition: GsfElectronMCFakeAnalyzer.h:85
GsfElectronMCFakeAnalyzer::etamax
double etamax
Definition: GsfElectronMCFakeAnalyzer.h:84
GsfElectronMCFakeAnalyzer::h_ele_hcalDepth1TowerSumEt_dr03
TH1F * h_ele_hcalDepth1TowerSumEt_dr03
Definition: GsfElectronMCFakeAnalyzer.h:391
GsfElectronMCFakeAnalyzer::histSclEtVsEta_
TH2F * histSclEtVsEta_
Definition: GsfElectronMCFakeAnalyzer.h:175
GsfElectronMCFakeAnalyzer::nbinphi2D
int nbinphi2D
Definition: GsfElectronMCFakeAnalyzer.h:93
reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:237
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx
TH1F * h_ele_dEtaSc_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:288
GsfElectronMCFakeAnalyzer::h_ele_EseedOPVsEta
TH2F * h_ele_EseedOPVsEta
Definition: GsfElectronMCFakeAnalyzer.h:266
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut_eg_endcaps
TH1F * h_ele_dEtaEleCl_propOut_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:329
GsfElectronMCFakeAnalyzer::h_ele_EoPout_eg_endcaps
TH1F * h_ele_EoPout_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:274
EDAnalyzer.h
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut
TH1F * h_ele_dPhiCl_propOut
Definition: GsfElectronMCFakeAnalyzer.h:315
GsfElectronMCFakeAnalyzer::h_ele_PinMnPoutVsChi2_mode
TH2F * h_ele_PinMnPoutVsChi2_mode
Definition: GsfElectronMCFakeAnalyzer.h:241
GsfElectronMCFakeAnalyzer::nbindetamatch2D
int nbindetamatch2D
Definition: GsfElectronMCFakeAnalyzer.h:89
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
GsfElectronMCFakeAnalyzer::eopmax
double eopmax
Definition: GsfElectronMCFakeAnalyzer.h:105
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
GsfElectronMCFakeAnalyzer::h_ele_vertexTIPVsEta
TH2F * h_ele_vertexTIPVsEta
Definition: GsfElectronMCFakeAnalyzer.h:165
GsfElectronMCFakeAnalyzer::nbineop
int nbineop
Definition: GsfElectronMCFakeAnalyzer.h:103
GsfElectronMCFakeAnalyzer::h_ele_seed_drz2_
TH1F * h_ele_seed_drz2_
Definition: GsfElectronMCFakeAnalyzer.h:346
GsfElectronMCFakeAnalyzer::dphimatchmax
double dphimatchmax
Definition: GsfElectronMCFakeAnalyzer.h:102
GsfElectronMCFakeAnalyzer::h_matchingObjectNum
TH1F * h_matchingObjectNum
Definition: GsfElectronMCFakeAnalyzer.h:116
GsfElectronMCFakeAnalyzer::GsfElectronMCFakeAnalyzer
GsfElectronMCFakeAnalyzer(const edm::ParameterSet &conf)
Definition: GsfElectronMCFakeAnalyzer.cc:51
GsfElectronMCFakeAnalyzer::h_ele_PinMnPoutVsEta_mode
TH2F * h_ele_PinMnPoutVsEta_mode
Definition: GsfElectronMCFakeAnalyzer.h:237
GsfElectronMCFakeAnalyzer::readAOD_
bool readAOD_
Definition: GsfElectronMCFakeAnalyzer.h:49
reco::GsfElectron::hadronicOverEm
float hadronicOverEm() const
Definition: GsfElectron.h:476
electronIsolatorFromEffectiveArea_cfi.gsfElectrons
gsfElectrons
Definition: electronIsolatorFromEffectiveArea_cfi.py:4
edm::Handle< reco::GsfElectronCollection >
GsfElectronMCFakeAnalyzer::h_ele_EoPout_eg_barrel
TH1F * h_ele_EoPout_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:273
GsfElectronMCFakeAnalyzer::etamin
double etamin
Definition: GsfElectronMCFakeAnalyzer.h:83
reco::GsfElectron::fbrem
float fbrem() const
Definition: GsfElectron.h:734
GsfElectronMCFakeAnalyzer::h_matchingObjectZ
TH1F * h_matchingObjectZ
Definition: GsfElectronMCFakeAnalyzer.h:123
GsfElectronMCFakeAnalyzer::h_ele_PtinVsPtoutShowering_mean
TH2F * h_ele_PtinVsPtoutShowering_mean
Definition: GsfElectronMCFakeAnalyzer.h:380
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_endcaps
TH1F * h_ele_dEtaCl_propOut_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:308
GsfElectronMCFakeAnalyzer::h_ele_HoEVsEta
TH2F * h_ele_HoEVsEta
Definition: GsfElectronMCFakeAnalyzer.h:365
BasicClusterFwd.h
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleClVsPt_propOut
TH2F * h_ele_dEtaEleClVsPt_propOut
Definition: GsfElectronMCFakeAnalyzer.h:332
ElectronSeedFwd.h
edm::Ref< SuperClusterCollection >
reco::GsfElectron::mva_e_pi
float mva_e_pi() const
Definition: GsfElectron.h:673
GsfElectronMCFakeAnalyzer::h_ele_PtinVsPtoutShowering_mode
TH2F * h_ele_PtinVsPtoutShowering_mode
Definition: GsfElectronMCFakeAnalyzer.h:378
GsfElectronMCFakeAnalyzer::h_ele_vertexTIPVsPt
TH2F * h_ele_vertexTIPVsPt
Definition: GsfElectronMCFakeAnalyzer.h:167
GsfElectronMCFakeAnalyzer::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: GsfElectronMCFakeAnalyzer.cc:1737
GsfElectronMCFakeAnalyzer::h_ele_PhiMnPhimatchingObjectVsEta
TH2F * h_ele_PhiMnPhimatchingObjectVsEta
Definition: GsfElectronMCFakeAnalyzer.h:231
GsfElectronMCFakeAnalyzer::h_ele_EoPout
TH1F * h_ele_EoPout
Definition: GsfElectronMCFakeAnalyzer.h:269
GsfElectronMCFakeAnalyzer::nbinlhits
int nbinlhits
Definition: GsfElectronMCFakeAnalyzer.h:79
GsfElectronMCFakeAnalyzer::nbinpt
int nbinpt
Definition: GsfElectronMCFakeAnalyzer.h:73
GsfElectronMCFakeAnalyzer::h_ele_outerPVsEta_mode
TH2F * h_ele_outerPVsEta_mode
Definition: GsfElectronMCFakeAnalyzer.h:245
fileCollector.seed
seed
Definition: fileCollector.py:127
GsfElectronMCFakeAnalyzer::histSclE5x5_endcaps_
TH1F * histSclE5x5_endcaps_
Definition: GsfElectronMCFakeAnalyzer.h:194
GsfElectronMCFakeAnalyzer::h_ele_dEtaScVsEta_propVtx
TH2F * h_ele_dEtaScVsEta_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:294
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_endcaps
TH1F * h_ele_dPhiCl_propOut_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:317
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
GsfElectronMCFakeAnalyzer::h_ele_eta_shower
TH1F * h_ele_eta_shower
Definition: GsfElectronMCFakeAnalyzer.h:356
GsfElectronMCFakeAnalyzer::histSclE2x5max_
TH1F * histSclE2x5max_
Definition: GsfElectronMCFakeAnalyzer.h:189
MakerMacros.h
cms::cuda::bs
bs
Definition: HistoContainer.h:127
reco::GsfElectron::ambiguousGsfTracksSize
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
Definition: GsfElectron.h:690
GsfElectronMCFakeAnalyzer::nbinfhits
int nbinfhits
Definition: GsfElectronMCFakeAnalyzer.h:77
GsfElectronMCFakeAnalyzer::h_ele_ambiguousTracks
TH1F * h_ele_ambiguousTracks
Definition: GsfElectronMCFakeAnalyzer.h:196
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_eg
TH1F * h_ele_dPhiSc_propVtx_eg
Definition: GsfElectronMCFakeAnalyzer.h:300
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_endcaps
TH1F * h_ele_dEtaSc_propVtx_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:290
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
GsfElectronMCFakeAnalyzer::h_ele_dPhiClVsPt_propOut
TH2F * h_ele_dPhiClVsPt_propOut
Definition: GsfElectronMCFakeAnalyzer.h:323
GsfElectronMCFakeAnalyzer::nbinmee
int nbinmee
Definition: GsfElectronMCFakeAnalyzer.h:107
BeamSpot.h
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObjectVsPhi
TH2F * h_ele_PoPmatchingObjectVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:221
GsfElectronMCFakeAnalyzer::detamatchmax
double detamatchmax
Definition: GsfElectronMCFakeAnalyzer.h:91
GsfElectronMCFakeAnalyzer::h_ele_dEtaClVsPt_propOut
TH2F * h_ele_dEtaClVsPt_propOut
Definition: GsfElectronMCFakeAnalyzer.h:314
GsfElectronMCFakeAnalyzer::histSclEta_
TH1F * histSclEta_
Definition: GsfElectronMCFakeAnalyzer.h:178
GsfElectronMCFakeAnalyzer::h_ele_EoPVsPhi
TH2F * h_ele_EoPVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:258
GsfElectronMCFakeAnalyzer::nbinp2D
int nbinp2D
Definition: GsfElectronMCFakeAnalyzer.h:71
GsfElectronMCFakeAnalyzer::h_ele_eta
TH1F * h_ele_eta
Definition: GsfElectronMCFakeAnalyzer.h:352
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_eg_endcaps
TH1F * h_ele_EseedOP_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:265
reco::LeafCandidate::py
double py() const final
y coordinate of momentum vector
Definition: LeafCandidate.h:142
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut_endcaps
TH1F * h_ele_dPhiEleCl_propOut_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:335
GsfElectronMCFakeAnalyzer::h_ele_outerP_mode
TH1F * h_ele_outerP_mode
Definition: GsfElectronMCFakeAnalyzer.h:244
GsfElectronMCFakeAnalyzer::h_ele_outerPt_mode
TH1F * h_ele_outerPt_mode
Definition: GsfElectronMCFakeAnalyzer.h:247
GsfElectronMCFakeAnalyzer::h_ele_PhiMnPhimatchingObjectVsPt
TH2F * h_ele_PhiMnPhimatchingObjectVsPt
Definition: GsfElectronMCFakeAnalyzer.h:233
GsfElectronMCFakeAnalyzer::histNum_
TH1F * histNum_
Definition: GsfElectronMCFakeAnalyzer.h:169
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
GsfElectronMCFakeAnalyzer::lhitsmax
double lhitsmax
Definition: GsfElectronMCFakeAnalyzer.h:80
reco::GsfElectron::trackMomentumAtVtx
math::XYZVectorF trackMomentumAtVtx() const
Definition: GsfElectron.h:276
reco::BeamSpot
Definition: BeamSpot.h:21
reco::GsfElectron::ecalDrivenSeed
bool ecalDrivenSeed() const
Definition: GsfElectron.h:166
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObjectVsPt
TH2F * h_ele_PoPmatchingObjectVsPt
Definition: GsfElectronMCFakeAnalyzer.h:222
GsfElectronMCFakeAnalyzer::h_ele_EoverP_all
TH1F * h_ele_EoverP_all
Definition: GsfElectronMCFakeAnalyzer.h:125
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut_eg_barrel
TH1F * h_ele_dPhiEleCl_propOut_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:337
reco::GsfElectron::isEEDeeGap
bool isEEDeeGap() const
Definition: GsfElectron.h:344
GsfElectronMCFakeAnalyzer::h_ele_mva
TH1F * h_ele_mva
Definition: GsfElectronMCFakeAnalyzer.h:386
GsfElectronMCFakeAnalyzer::h_ele_EseedOPVsPhi
TH2F * h_ele_EseedOPVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:267
GsfElectronMCFakeAnalyzer::h_ele_EoP
TH1F * h_ele_EoP
Definition: GsfElectronMCFakeAnalyzer.h:251
GsfElectronMCFakeAnalyzer::h_ele_HoE_eg
TH1F * h_ele_HoE_eg
Definition: GsfElectronMCFakeAnalyzer.h:361
GsfElectronMCFakeAnalyzer::meemin
double meemin
Definition: GsfElectronMCFakeAnalyzer.h:108
reco::GsfElectron
Definition: GsfElectron.h:35
GsfElectronMCFakeAnalyzer::histSclE2x5max_barrel_
TH1F * histSclE2x5max_barrel_
Definition: GsfElectronMCFakeAnalyzer.h:190
GsfElectron.h
GsfElectronMCFakeAnalyzer::h_ele_dPhiScVsPt_propVtx
TH2F * h_ele_dPhiScVsPt_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:305
GsfElectronMCFakeAnalyzer::h_ele_EoPout_eg
TH1F * h_ele_EoPout_eg
Definition: GsfElectronMCFakeAnalyzer.h:272
GsfElectronMCFakeAnalyzer::nbinxyz
int nbinxyz
Definition: GsfElectronMCFakeAnalyzer.h:69
GsfElectronMCFakeAnalyzer::h_ele_dPhiScVsPhi_propVtx
TH2F * h_ele_dPhiScVsPhi_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:304
GsfElectronMCFakeAnalyzer::nbindphimatch2D
int nbindphimatch2D
Definition: GsfElectronMCFakeAnalyzer.h:100
GsfElectronMCFakeAnalyzer::h_ele_lostHitsVsEta
TH2F * h_ele_lostHitsVsEta
Definition: GsfElectronMCFakeAnalyzer.h:209
GsfElectronMCFakeAnalyzer::h_ele_vertexPhi
TH1F * h_ele_vertexPhi
Definition: GsfElectronMCFakeAnalyzer.h:160
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObject_barrel
TH1F * histSclEoEmatchingObject_barrel
Definition: GsfElectronMCFakeAnalyzer.h:172
GsfElectronMCFakeAnalyzer::h_ele_E2mnE1vsMee_egeg_all
TH2F * h_ele_E2mnE1vsMee_egeg_all
Definition: GsfElectronMCFakeAnalyzer.h:141
GsfElectronMCFakeAnalyzer::h_ele_PinMnPoutVsPhi_mode
TH2F * h_ele_PinMnPoutVsPhi_mode
Definition: GsfElectronMCFakeAnalyzer.h:238
GsfElectronMCFakeAnalyzer::h_ele_PinMnPoutVsPt_mode
TH2F * h_ele_PinMnPoutVsPt_mode
Definition: GsfElectronMCFakeAnalyzer.h:239
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GsfElectronMCFakeAnalyzer::h_ele_hcalDepth2TowerSumEt_dr04
TH1F * h_ele_hcalDepth2TowerSumEt_dr04
Definition: GsfElectronMCFakeAnalyzer.h:396
GsfElectronMCFakeAnalyzer::fhitsmax
double fhitsmax
Definition: GsfElectronMCFakeAnalyzer.h:78
GsfElectronMCFakeAnalyzer::ptmax
double ptmax
Definition: GsfElectronMCFakeAnalyzer.h:76
EcalSubdetector.h
GsfElectronMCFakeAnalyzer::electronCollection_
edm::InputTag electronCollection_
Definition: GsfElectronMCFakeAnalyzer.h:46
GsfElectronMCFakeAnalyzer::histSclSigIEtaIEta_
TH1F * histSclSigIEtaIEta_
Definition: GsfElectronMCFakeAnalyzer.h:183
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_eg
TH1F * h_ele_EeleOPout_eg
Definition: GsfElectronMCFakeAnalyzer.h:281
GsfElectronMCFakeAnalyzer::h_ele_HoEVsPhi
TH2F * h_ele_HoEVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:366
GsfElectronMCFakeAnalyzer::h_ele_vertexPt
TH1F * h_ele_vertexPt
Definition: GsfElectronMCFakeAnalyzer.h:154
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_barrel
TH1F * h_ele_dEtaSc_propVtx_barrel
Definition: GsfElectronMCFakeAnalyzer.h:289
GsfElectronMCFakeAnalyzer::h_ele_matchingObjectAbsEta_matched
TH1F * h_ele_matchingObjectAbsEta_matched
Definition: GsfElectronMCFakeAnalyzer.h:144
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_barrel
TH1F * h_ele_dPhiSc_propVtx_barrel
Definition: GsfElectronMCFakeAnalyzer.h:298
GsfElectronMCFakeAnalyzer::h_ele_ambiguousTracksVsPhi
TH2F * h_ele_ambiguousTracksVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:198
GsfElectronMCFakeAnalyzer::h_ele_dEtaScVsPhi_propVtx
TH2F * h_ele_dEtaScVsPhi_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:295
GsfElectronMCFakeAnalyzer::h_ele_vertexEtaVsPhi
TH2F * h_ele_vertexEtaVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:158
GsfElectronFwd.h
edm::ParameterSet
Definition: ParameterSet.h:47
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_barrel
TH1F * h_ele_EeleOPout_barrel
Definition: GsfElectronMCFakeAnalyzer.h:279
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_eg
TH1F * h_ele_dEtaSc_propVtx_eg
Definition: GsfElectronMCFakeAnalyzer.h:291
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_eg
TH1F * h_ele_dEtaCl_propOut_eg
Definition: GsfElectronMCFakeAnalyzer.h:309
reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:233
GsfElectronMCFakeAnalyzer::histSclSigIEtaIEta_endcaps_
TH1F * histSclSigIEtaIEta_endcaps_
Definition: GsfElectronMCFakeAnalyzer.h:185
Event.h
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
GsfElectronMCFakeAnalyzer::detamin
double detamin
Definition: GsfElectronMCFakeAnalyzer.h:86
GsfElectronMCFakeAnalyzer::deltaR_
double deltaR_
Definition: GsfElectronMCFakeAnalyzer.h:62
GsfElectronMCFakeAnalyzer::hoemax
double hoemax
Definition: GsfElectronMCFakeAnalyzer.h:112
GsfElectronMCFakeAnalyzer::h_ele_seed_subdet2_
TH1F * h_ele_seed_subdet2_
Definition: GsfElectronMCFakeAnalyzer.h:349
GsfElectronMCFakeAnalyzer::h_ele_vertexTIP
TH1F * h_ele_vertexTIP
Definition: GsfElectronMCFakeAnalyzer.h:164
GsfElectronMCFakeAnalyzer::h_ele_PinVsPoutShowering_mean
TH2F * h_ele_PinVsPoutShowering_mean
Definition: GsfElectronMCFakeAnalyzer.h:376
GsfElectronMCFakeAnalyzer::h_ele_outerP
TH1F * h_ele_outerP
Definition: GsfElectronMCFakeAnalyzer.h:243
GsfElectronMCFakeAnalyzer::h_ele_dEtaClVsPhi_propOut
TH2F * h_ele_dEtaClVsPhi_propOut
Definition: GsfElectronMCFakeAnalyzer.h:313
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_eg_endcaps
TH1F * h_ele_dEtaCl_propOut_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:311
GsfElectronMCFakeAnalyzer::matchingObjectCollection_
edm::InputTag matchingObjectCollection_
Definition: GsfElectronMCFakeAnalyzer.h:47
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut
TH1F * h_ele_dEtaCl_propOut
Definition: GsfElectronMCFakeAnalyzer.h:306
reco::GsfElectron::scE5x5
float scE5x5() const
Definition: GsfElectron.h:475
GsfElectronMCFakeAnalyzer::h_matchingObjectPt
TH1F * h_matchingObjectPt
Definition: GsfElectronMCFakeAnalyzer.h:121
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx_endcaps
TH1F * h_ele_dPhiSc_propVtx_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:299
reco::GsfElectron::dr03HcalDepth1TowerSumEt
float dr03HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:532
GsfElectronMCFakeAnalyzer::h_ele_HoEVsE
TH2F * h_ele_HoEVsE
Definition: GsfElectronMCFakeAnalyzer.h:367
GsfElectronMCFakeAnalyzer::h_ele_hcalDepth2TowerSumEt_dr03
TH1F * h_ele_hcalDepth2TowerSumEt_dr03
Definition: GsfElectronMCFakeAnalyzer.h:392
GsfElectronMCFakeAnalyzer::h_ele_fbremVsEta_mean
TProfile * h_ele_fbremVsEta_mean
Definition: GsfElectronMCFakeAnalyzer.h:371
GsfElectronMCFakeAnalyzer::h_ele_charge
TH1F * h_ele_charge
Definition: GsfElectronMCFakeAnalyzer.h:149
iEvent
int iEvent
Definition: GenABIO.cc:224
GsfElectronMCFakeAnalyzer::h_ele_chargeVsPhi
TH2F * h_ele_chargeVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:151
reco::GsfElectron::eSeedClusterOverP
float eSeedClusterOverP() const
Definition: GsfElectron.h:230
reco::GsfElectron::dr04TkSumPt
float dr04TkSumPt() const
Definition: GsfElectron.h:541
GsfElectronMCFakeAnalyzer::h_ele_TIP_all
TH1F * h_ele_TIP_all
Definition: GsfElectronMCFakeAnalyzer.h:133
GsfTrack.h
GsfElectronMCFakeAnalyzer::h_ele_mee_all
TH1F * h_ele_mee_all
Definition: GsfElectronMCFakeAnalyzer.h:137
GsfElectronMCFakeAnalyzer::h_ele_HoE_eg_barrel
TH1F * h_ele_HoE_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:362
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut_barrel
TH1F * h_ele_dEtaEleCl_propOut_barrel
Definition: GsfElectronMCFakeAnalyzer.h:325
GsfElectronMCFakeAnalyzer::h_ele_HoE
TH1F * h_ele_HoE
Definition: GsfElectronMCFakeAnalyzer.h:358
GsfElectronMCFakeAnalyzer::histSclEtaVsPhi_
TH2F * histSclEtaVsPhi_
Definition: GsfElectronMCFakeAnalyzer.h:177
ttbarCategorization_cff.genJets
genJets
Definition: ttbarCategorization_cff.py:29
reco::LeafCandidate::charge
int charge() const final
electric charge
Definition: LeafCandidate.h:106
GsfElectronMCFakeAnalyzer::h_ele_vertexY
TH1F * h_ele_vertexY
Definition: GsfElectronMCFakeAnalyzer.h:162
reco::GsfElectron::isEBEtaGap
bool isEBEtaGap() const
Definition: GsfElectron.h:341
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_all
TH1F * h_ele_EeleOPout_all
Definition: GsfElectronMCFakeAnalyzer.h:128
edm::EventSetup
Definition: EventSetup.h:57
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_all
TH1F * h_ele_dEtaCl_propOut_all
Definition: GsfElectronMCFakeAnalyzer.h:131
GsfElectronMCFakeAnalyzer::h_ele_dPhiClVsPhi_propOut
TH2F * h_ele_dPhiClVsPhi_propOut
Definition: GsfElectronMCFakeAnalyzer.h:322
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObjectShowering_endcaps
TH1F * histSclEoEmatchingObjectShowering_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:384
GsfElectronMCFakeAnalyzer::h_matchingObjectAbsEta
TH1F * h_matchingObjectAbsEta
Definition: GsfElectronMCFakeAnalyzer.h:119
GsfElectronMCFakeAnalyzer::h_ele_ecalRecHitSumEt_dr04
TH1F * h_ele_ecalRecHitSumEt_dr04
Definition: GsfElectronMCFakeAnalyzer.h:394
GsfElectronMCFakeAnalyzer::h_ele_vertexPtVsEta
TH2F * h_ele_vertexPtVsEta
Definition: GsfElectronMCFakeAnalyzer.h:155
GsfElectronMCFakeAnalyzer::h_ele_vertexEta
TH1F * h_ele_vertexEta
Definition: GsfElectronMCFakeAnalyzer.h:157
GsfElectronMCFakeAnalyzer::h_ele_PinMnPout
TH1F * h_ele_PinMnPout
Definition: GsfElectronMCFakeAnalyzer.h:235
GsfElectronMCFakeAnalyzer::h_ele_EeleOPoutVsE
TH2F * h_ele_EeleOPoutVsE
Definition: GsfElectronMCFakeAnalyzer.h:286
GsfElectronMCFakeAnalyzer::h_ele_outerPtVsEta_mode
TH2F * h_ele_outerPtVsEta_mode
Definition: GsfElectronMCFakeAnalyzer.h:248
GsfElectronMCFakeAnalyzer::nbinpt2D
int nbinpt2D
Definition: GsfElectronMCFakeAnalyzer.h:74
reco::LeafCandidate::vertex
const Point & vertex() const override
vertex position (overwritten by PF...)
Definition: LeafCandidate.h:165
GsfElectronMCFakeAnalyzer::h_ele_matchingObjectPt_matched
TH1F * h_ele_matchingObjectPt_matched
Definition: GsfElectronMCFakeAnalyzer.h:145
GsfElectronMCFakeAnalyzer::histSclE1x5_
TH1F * histSclE1x5_
Definition: GsfElectronMCFakeAnalyzer.h:186
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_all
TH1F * h_ele_dEtaSc_propVtx_all
Definition: GsfElectronMCFakeAnalyzer.h:129
GsfElectronMCFakeAnalyzer::outputFile_
std::string outputFile_
Definition: GsfElectronMCFakeAnalyzer.h:50
GsfElectronMCFakeAnalyzer::h_ele_dPhiSc_propVtx
TH1F * h_ele_dPhiSc_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:297
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_endcaps
TH1F * h_ele_EseedOP_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:262
GsfElectronMCFakeAnalyzer::h_ele_HoE_fiducial
TH1F * h_ele_HoE_fiducial
Definition: GsfElectronMCFakeAnalyzer.h:364
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout
TH1F * h_ele_EeleOPout
Definition: GsfElectronMCFakeAnalyzer.h:278
GsfElectronMCFakeAnalyzer::histfile_
TFile * histfile_
Definition: GsfElectronMCFakeAnalyzer.h:64
GsfElectronMCFakeAnalyzer::h_ele_mee_os
TH1F * h_ele_mee_os
Definition: GsfElectronMCFakeAnalyzer.h:138
GsfElectronMCFakeAnalyzer::h_ele_vertexPtVsPhi
TH2F * h_ele_vertexPtVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:156
GsfElectronMCFakeAnalyzer::h_ele_outerPt
TH1F * h_ele_outerPt
Definition: GsfElectronMCFakeAnalyzer.h:246
GsfElectronMCFakeAnalyzer::h_ele_EoP_eg
TH1F * h_ele_EoP_eg
Definition: GsfElectronMCFakeAnalyzer.h:254
GsfElectronMCFakeAnalyzer::h_ele_chargeVsPt
TH2F * h_ele_chargeVsPt
Definition: GsfElectronMCFakeAnalyzer.h:152
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_endcaps
TH1F * h_ele_EeleOPout_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:280
GsfElectronMCFakeAnalyzer::h_ele_PinVsPoutShowering_mode
TH2F * h_ele_PinVsPoutShowering_mode
Definition: GsfElectronMCFakeAnalyzer.h:374
GsfElectronMCFakeAnalyzer::h_ele_EseedOPVsE
TH2F * h_ele_EseedOPVsE
Definition: GsfElectronMCFakeAnalyzer.h:268
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
SuperClusterFwd.h
GsfElectronMCFakeAnalyzer::h_ele_EseedOP_eg
TH1F * h_ele_EseedOP_eg
Definition: GsfElectronMCFakeAnalyzer.h:263
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObject_barrel
TH1F * h_ele_PoPmatchingObject_barrel
Definition: GsfElectronMCFakeAnalyzer.h:223
GsfElectronMCFakeAnalyzer::h_ele_EoP_eg_barrel
TH1F * h_ele_EoP_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:255
GsfElectronMCFakeAnalyzer::h_ele_EoPVsE
TH2F * h_ele_EoPVsE
Definition: GsfElectronMCFakeAnalyzer.h:259
reco::GsfElectron::isEBEEGap
bool isEBEEGap() const
Definition: GsfElectron.h:339
GsfElectronMCFakeAnalyzer::h_ele_PtinVsPtoutGolden_mode
TH2F * h_ele_PtinVsPtoutGolden_mode
Definition: GsfElectronMCFakeAnalyzer.h:377
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
GsfElectronMCFakeAnalyzer::h_ele_PinMnPout_mode
TH1F * h_ele_PinMnPout_mode
Definition: GsfElectronMCFakeAnalyzer.h:236
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObjectShowering_barrel
TH1F * histSclEoEmatchingObjectShowering_barrel
Definition: GsfElectronMCFakeAnalyzer.h:383
GsfElectronMCFakeAnalyzer::nbindphimatch
int nbindphimatch
Definition: GsfElectronMCFakeAnalyzer.h:99
GsfElectronMCFakeAnalyzer::h_ele_EoPout_endcaps
TH1F * h_ele_EoPout_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:271
GsfElectronMCFakeAnalyzer::endJob
void endJob() override
Definition: GsfElectronMCFakeAnalyzer.cc:1206
GsfElectronMCFakeAnalyzer::h_ele_dEtaCl_propOut_eg_barrel
TH1F * h_ele_dEtaCl_propOut_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:310
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleCl_propOut_eg_barrel
TH1F * h_ele_dEtaEleCl_propOut_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:328
reco::LeafCandidate::p
double p() const final
magnitude of momentum vector
Definition: LeafCandidate.h:123
GsfElectronMCFakeAnalyzer::h_ele_HoE_all
TH1F * h_ele_HoE_all
Definition: GsfElectronMCFakeAnalyzer.h:134
GsfElectronMCFakeAnalyzer::h_ele_ambiguousTracksVsPt
TH2F * h_ele_ambiguousTracksVsPt
Definition: GsfElectronMCFakeAnalyzer.h:199
GsfElectronMCFakeAnalyzer::h_ele_EeleOPoutVsEta
TH2F * h_ele_EeleOPoutVsEta
Definition: GsfElectronMCFakeAnalyzer.h:284
reco::GsfElectron::deltaEtaEleClusterTrackAtCalo
float deltaEtaEleClusterTrackAtCalo() const
Definition: GsfElectron.h:235
GsfElectronMCFakeAnalyzer::histSclSigIEtaIEta_barrel_
TH1F * histSclSigIEtaIEta_barrel_
Definition: GsfElectronMCFakeAnalyzer.h:184
reco::GsfElectron::eSuperClusterOverP
float eSuperClusterOverP() const
Definition: GsfElectron.h:229
reco::GsfElectron::classification
Classification classification() const
Definition: GsfElectron.h:730
GsfElectronMCFakeAnalyzer::h_ele_matchingObjectEta_matched
TH1F * h_ele_matchingObjectEta_matched
Definition: GsfElectronMCFakeAnalyzer.h:143
GsfElectronMCFakeAnalyzer::h_ele_seed_dphi2VsPt_
TH2F * h_ele_seed_dphi2VsPt_
Definition: GsfElectronMCFakeAnalyzer.h:345
reco::GsfElectron::eEleClusterOverPout
float eEleClusterOverPout() const
Definition: GsfElectron.h:232
GsfElectronMCFakeAnalyzer::h_matchingObjectEta
TH1F * h_matchingObjectEta
Definition: GsfElectronMCFakeAnalyzer.h:118
reco::GsfElectron::trackerDrivenSeed
bool trackerDrivenSeed() const
Definition: GsfElectron.h:167
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::RefToBase< TrajectorySeed >
reco::GsfElectron::isEBPhiGap
bool isEBPhiGap() const
Definition: GsfElectron.h:342
GsfElectronMCFakeAnalyzer::h_ele_seed_dphi2_
TH1F * h_ele_seed_dphi2_
Definition: GsfElectronMCFakeAnalyzer.h:343
reco::GsfElectron::eSeedClusterOverPout
float eSeedClusterOverPout() const
Definition: GsfElectron.h:231
reco::GsfElectron::superCluster
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:163
GsfElectronMCFakeAnalyzer::h_ele_seed_drz2VsEta_
TH2F * h_ele_seed_drz2VsEta_
Definition: GsfElectronMCFakeAnalyzer.h:347
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
GsfElectronMCFakeAnalyzer::phimin
double phimin
Definition: GsfElectronMCFakeAnalyzer.h:94
GsfElectronMCFakeAnalyzer::histSclEoEmatchingObjectGolden_endcaps
TH1F * histSclEoEmatchingObjectGolden_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:382
GsfElectronMCFakeAnalyzer::nbinphi
int nbinphi
Definition: GsfElectronMCFakeAnalyzer.h:92
GsfElectronMCFakeAnalyzer::h_ele_EoP_barrel
TH1F * h_ele_EoP_barrel
Definition: GsfElectronMCFakeAnalyzer.h:252
GsfElectronMCFakeAnalyzer::h_ele_PhiMnPhimatchingObject2
TH1F * h_ele_PhiMnPhimatchingObject2
Definition: GsfElectronMCFakeAnalyzer.h:230
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
ztail.d
d
Definition: ztail.py:151
GsfElectronMCFakeAnalyzer::h_ele_HoE_eg_endcaps
TH1F * h_ele_HoE_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:363
GsfElectronMCFakeAnalyzer::h_ele_chargeVsEta
TH2F * h_ele_chargeVsEta
Definition: GsfElectronMCFakeAnalyzer.h:150
GsfElectronMCFakeAnalyzer::h_ele_chi2VsPt
TH2F * h_ele_chi2VsPt
Definition: GsfElectronMCFakeAnalyzer.h:217
GsfElectronMCFakeAnalyzer::beamSpot_
edm::InputTag beamSpot_
Definition: GsfElectronMCFakeAnalyzer.h:48
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut_eg_endcaps
TH1F * h_ele_dPhiEleCl_propOut_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:338
GsfElectronMCFakeAnalyzer::h_ele_provenance
TH1F * h_ele_provenance
Definition: GsfElectronMCFakeAnalyzer.h:387
pi
const Double_t pi
Definition: trackSplitPlot.h:36
GsfElectronMCFakeAnalyzer::histSclE5x5_
TH1F * histSclE5x5_
Definition: GsfElectronMCFakeAnalyzer.h:192
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GsfElectronMCFakeAnalyzer::histSclEtVsPhi_
TH2F * histSclEtVsPhi_
Definition: GsfElectronMCFakeAnalyzer.h:176
GsfElectronMCFakeAnalyzer::h_ele_eta_golden
TH1F * h_ele_eta_golden
Definition: GsfElectronMCFakeAnalyzer.h:353
GsfElectronMCFakeAnalyzer::h_matchingObjectP
TH1F * h_matchingObjectP
Definition: GsfElectronMCFakeAnalyzer.h:120
GsfElectronMCFakeAnalyzer::h_ele_chi2VsPhi
TH2F * h_ele_chi2VsPhi
Definition: GsfElectronMCFakeAnalyzer.h:216
ParameterSet.h
GsfElectronMCFakeAnalyzer::nbinhoe
int nbinhoe
Definition: GsfElectronMCFakeAnalyzer.h:110
GsfElectronMCFakeAnalyzer::h_ele_EoP_endcaps
TH1F * h_ele_EoP_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:253
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObjectVsEta
TH2F * h_ele_PoPmatchingObjectVsEta
Definition: GsfElectronMCFakeAnalyzer.h:220
GsfElectronMCFakeAnalyzer::h_ele_EoPout_all
TH1F * h_ele_EoPout_all
Definition: GsfElectronMCFakeAnalyzer.h:127
GsfElectronMCFakeAnalyzer::h_ele_EtaMnEtamatchingObjectVsPt
TH2F * h_ele_EtaMnEtamatchingObjectVsPt
Definition: GsfElectronMCFakeAnalyzer.h:228
GsfElectronMCFakeAnalyzer::h_ele_PinMnPoutVsE_mode
TH2F * h_ele_PinMnPoutVsE_mode
Definition: GsfElectronMCFakeAnalyzer.h:240
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleClVsPhi_propOut
TH2F * h_ele_dPhiEleClVsPhi_propOut
Definition: GsfElectronMCFakeAnalyzer.h:340
GsfElectronMCFakeAnalyzer::h_ele_chi2VsEta
TH2F * h_ele_chi2VsEta
Definition: GsfElectronMCFakeAnalyzer.h:215
GsfElectronMCFakeAnalyzer::histSclE1x5_barrel_
TH1F * histSclE1x5_barrel_
Definition: GsfElectronMCFakeAnalyzer.h:187
GsfElectronMCFakeAnalyzer::h_ele_EoPVsEta
TH2F * h_ele_EoPVsEta
Definition: GsfElectronMCFakeAnalyzer.h:257
edm::Event
Definition: Event.h:73
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut_eg
TH1F * h_ele_dPhiEleCl_propOut_eg
Definition: GsfElectronMCFakeAnalyzer.h:336
reco::GsfElectron::caloEnergy
float caloEnergy() const
Definition: GsfElectron.h:823
GsfElectronMCFakeAnalyzer::h_ele_dPhiEleCl_propOut
TH1F * h_ele_dPhiEleCl_propOut
Definition: GsfElectronMCFakeAnalyzer.h:333
reco::GsfElectron::scSigmaIEtaIEta
float scSigmaIEtaIEta() const
Definition: GsfElectron.h:472
GsfElectronMCFakeAnalyzer::h_ele_eta_narrow
TH1F * h_ele_eta_narrow
Definition: GsfElectronMCFakeAnalyzer.h:355
reco::GsfElectron::deltaPhiEleClusterTrackAtCalo
float deltaPhiEleClusterTrackAtCalo() const
Definition: GsfElectron.h:238
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_barrel
TH1F * h_ele_dPhiCl_propOut_barrel
Definition: GsfElectronMCFakeAnalyzer.h:316
dttmaxenums::R
Definition: DTTMax.h:29
GsfElectronMCFakeAnalyzer::h_ele_EoPout_barrel
TH1F * h_ele_EoPout_barrel
Definition: GsfElectronMCFakeAnalyzer.h:270
GsfElectronMCFakeAnalyzer::maxAbsEta_
double maxAbsEta_
Definition: GsfElectronMCFakeAnalyzer.h:61
GsfElectronMCFakeAnalyzer::h_ele_vertexEta_all
TH1F * h_ele_vertexEta_all
Definition: GsfElectronMCFakeAnalyzer.h:135
GsfElectronMCFakeAnalyzer::h_ele_dEtaEleClVsPhi_propOut
TH2F * h_ele_dEtaEleClVsPhi_propOut
Definition: GsfElectronMCFakeAnalyzer.h:331
GsfElectronMCFakeAnalyzer::h_ele_PhiMnPhimatchingObjectVsPhi
TH2F * h_ele_PhiMnPhimatchingObjectVsPhi
Definition: GsfElectronMCFakeAnalyzer.h:232
GsfElectronMCFakeAnalyzer::h_ele_dPhiScVsEta_propVtx
TH2F * h_ele_dPhiScVsEta_propVtx
Definition: GsfElectronMCFakeAnalyzer.h:303
GsfElectronMCFakeAnalyzer::h_ele_vertexP
TH1F * h_ele_vertexP
Definition: GsfElectronMCFakeAnalyzer.h:153
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_eg_barrel
TH1F * h_ele_dPhiCl_propOut_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:319
GsfElectronMCFakeAnalyzer::h_ele_matchingObjectZ_matched
TH1F * h_ele_matchingObjectZ_matched
Definition: GsfElectronMCFakeAnalyzer.h:147
GsfElectronMCFakeAnalyzer::h_ele_dPhiCl_propOut_all
TH1F * h_ele_dPhiCl_propOut_all
Definition: GsfElectronMCFakeAnalyzer.h:132
GsfElectronMCFakeAnalyzer::histSclEn_
TH1F * histSclEn_
Definition: GsfElectronMCFakeAnalyzer.h:171
edm::InputTag
Definition: InputTag.h:15
GsfElectronMCFakeAnalyzer::dphimatchmin
double dphimatchmin
Definition: GsfElectronMCFakeAnalyzer.h:101
GsfElectronMCFakeAnalyzer::nbineta
int nbineta
Definition: GsfElectronMCFakeAnalyzer.h:81
reco::GsfElectron::dr03HcalDepth2TowerSumEt
float dr03HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:533
reco::GsfElectron::dr03EcalRecHitSumEt
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:531
GsfElectronMCFakeAnalyzer::h_ele_EeleOPout_eg_barrel
TH1F * h_ele_EeleOPout_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:282
GsfElectronMCFakeAnalyzer::h_ele_fbremVsEta_mode
TProfile * h_ele_fbremVsEta_mode
Definition: GsfElectronMCFakeAnalyzer.h:370
GsfElectronMCFakeAnalyzer.h
reco::GsfElectron::dr04HcalDepth2TowerSumEt
float dr04HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:545
GsfElectronMCFakeAnalyzer::h_ele_vertexX
TH1F * h_ele_vertexX
Definition: GsfElectronMCFakeAnalyzer.h:161
GsfElectronMCFakeAnalyzer::h_ele_PoPmatchingObject
TH1F * h_ele_PoPmatchingObject
Definition: GsfElectronMCFakeAnalyzer.h:219
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
ElectronSeed.h
GsfElectronMCFakeAnalyzer::h_ele_PhiMnPhimatchingObject
TH1F * h_ele_PhiMnPhimatchingObject
Definition: GsfElectronMCFakeAnalyzer.h:229
GsfElectronMCFakeAnalyzer::histSclE2x5max_endcaps_
TH1F * histSclE2x5max_endcaps_
Definition: GsfElectronMCFakeAnalyzer.h:191
GsfElectronMCFakeAnalyzer::histSclPhi_
TH1F * histSclPhi_
Definition: GsfElectronMCFakeAnalyzer.h:179
GsfElectronMCFakeAnalyzer::h_ele_EoP_eg_endcaps
TH1F * h_ele_EoP_eg_endcaps
Definition: GsfElectronMCFakeAnalyzer.h:256
GsfElectronMCFakeAnalyzer::histSclEt_
TH1F * histSclEt_
Definition: GsfElectronMCFakeAnalyzer.h:174
GsfElectronMCFakeAnalyzer::dphimin
double dphimin
Definition: GsfElectronMCFakeAnalyzer.h:97
GsfElectronMCFakeAnalyzer::h_ele_dEtaSc_propVtx_eg_barrel
TH1F * h_ele_dEtaSc_propVtx_eg_barrel
Definition: GsfElectronMCFakeAnalyzer.h:292