41 #include "CLHEP/Units/GlobalPhysicalConstants.h"
434 using namespace reco;
437 : beamSpot_(conf.getParameter<edm::
InputTag>(
"beamSpot")) {
446 assert(matchingCondition_ ==
"Cone");
493 etamin = pset.getParameter<
double>(
"Etamin");
494 etamax = pset.getParameter<
double>(
"Etamax");
495 phimin = pset.getParameter<
double>(
"Phimin");
496 phimax = pset.getParameter<
double>(
"Phimax");
497 ptmax = pset.getParameter<
double>(
"Ptmax");
498 pmax = pset.getParameter<
double>(
"Pmax");
499 eopmax = pset.getParameter<
double>(
"Eopmax");
500 eopmaxsht = pset.getParameter<
double>(
"Eopmaxsht");
501 detamin = pset.getParameter<
double>(
"Detamin");
502 detamax = pset.getParameter<
double>(
"Detamax");
503 dphimin = pset.getParameter<
double>(
"Dphimin");
504 dphimax = pset.getParameter<
double>(
"Dphimax");
505 detamatchmin = pset.getParameter<
double>(
"Detamatchmin");
506 detamatchmax = pset.getParameter<
double>(
"Detamatchmax");
507 dphimatchmin = pset.getParameter<
double>(
"Dphimatchmin");
508 dphimatchmax = pset.getParameter<
double>(
"Dphimatchmax");
509 fhitsmax = pset.getParameter<
double>(
"Fhitsmax");
510 lhitsmax = pset.getParameter<
double>(
"Lhitsmax");
511 nbineta = pset.getParameter<
int>(
"Nbineta");
512 nbineta2D = pset.getParameter<
int>(
"Nbineta2D");
513 nbinp = pset.getParameter<
int>(
"Nbinp");
514 nbinpt = pset.getParameter<
int>(
"Nbinpt");
515 nbinp2D = pset.getParameter<
int>(
"Nbinp2D");
516 nbinpt2D = pset.getParameter<
int>(
"Nbinpt2D");
517 nbinpteff = pset.getParameter<
int>(
"Nbinpteff");
518 nbinphi = pset.getParameter<
int>(
"Nbinphi");
519 nbinphi2D = pset.getParameter<
int>(
"Nbinphi2D");
520 nbineop = pset.getParameter<
int>(
"Nbineop");
521 nbineop2D = pset.getParameter<
int>(
"Nbineop2D");
522 nbinfhits = pset.getParameter<
int>(
"Nbinfhits");
523 nbinlhits = pset.getParameter<
int>(
"Nbinlhits");
524 nbinxyz = pset.getParameter<
int>(
"Nbinxyz");
525 nbindeta = pset.getParameter<
int>(
"Nbindeta");
526 nbindphi = pset.getParameter<
int>(
"Nbindphi");
531 nbinpoptrue = pset.getParameter<
int>(
"Nbinpoptrue");
532 poptruemin = pset.getParameter<
double>(
"Poptruemin");
533 poptruemax = pset.getParameter<
double>(
"Poptruemax");
534 nbinmee = pset.getParameter<
int>(
"Nbinmee");
535 meemin = pset.getParameter<
double>(
"Meemin");
536 meemax = pset.getParameter<
double>(
"Meemax");
537 nbinhoe = pset.getParameter<
int>(
"Nbinhoe");
538 hoemin = pset.getParameter<
double>(
"Hoemin");
539 hoemax = pset.getParameter<
double>(
"Hoemax");
558 if (locSC != std::string::npos) {
559 std::cout <<
"Matching objects are SuperClusters " << std::endl;
562 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
566 hlabel =
"h_" + type_ +
"Num";
567 htitle =
"# " + type_ +
"s";
572 histNum_ =
new TH1F(
"h_recEleNum",
"# rec electrons", 20, 0., 20.);
575 hlabel =
"h_" + type_ +
"_eta";
576 htitle = type_ +
" #eta";
578 hlabel =
"h_" + type_ +
"_abseta";
579 htitle = type_ +
" |#eta|";
581 hlabel =
"h_" + type_ +
"_P";
582 htitle = type_ +
" p";
584 hlabel =
"h_" + type_ +
"_Pt";
585 htitle = type_ +
" pt";
587 hlabel =
"h_" + type_ +
"_phi";
588 htitle = type_ +
" phi";
590 hlabel =
"h_" + type_ +
"_z";
591 htitle = type_ +
" z";
596 new TH1F(
"h_ele_mee_all",
"ele pairs invariant mass, all charge combinations",
nbinmee,
meemin,
meemax);
599 new TH1F(
"h_ele_mee_os_ebeb",
"ele pairs invariant mass, opp. sign, EB-EB",
nbinmee,
meemin,
meemax);
602 new TH1F(
"h_ele_mee_os_ebee",
"ele pairs invariant mass, opp. sign, EB-EE",
nbinmee,
meemin,
meemax);
605 new TH1F(
"h_ele_mee_os_eeee",
"ele pairs invariant mass, opp. sign, EE-EE",
nbinmee,
meemin,
meemax);
608 new TH1F(
"h_ele_mee_os_gg",
"ele pairs invariant mass, opp. sign, good-good",
nbinmee,
meemin,
meemax);
611 new TH1F(
"h_ele_mee_os_gb",
"ele pairs invariant mass, opp. sign, good-bad",
nbinmee,
meemin,
meemax);
614 new TH1F(
"h_ele_mee_os_bb",
"ele pairs invariant mass, opp. sign, bad-bad",
nbinmee,
meemin,
meemax);
619 "E2 - E1 vs ele pairs invariant mass, all electrons",
627 "E2 - E1 vs ele pairs invariant mass, ecal driven pairs, all electrons",
636 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5, -2., 2.);
648 new TH1F(
"h_ele_matchingObjectPt_matched",
"Efficiency vs matching SC E_{T}",
nbinpteff, 5.,
ptmax);
654 new TH1F(
"h_ele_matchingObjectAbsEta_matched",
"Efficiency vs matching SC |#eta|",
nbineta / 2, 0., 2.5);
657 new TH1F(
"h_ele_matchingObjectEta_matched",
"Efficiency vs matching SC #eta",
nbineta, etamin,
etamax);
660 new TH1F(
"h_ele_matchingObjectPhi_matched",
"Efficiency vs matching SC phi",
nbinphi, phimin,
phimax);
667 new TH1F(
"h_ele_matchingObjectZ_matched",
"Efficiency vs matching SC z",
nbinxyz, -25, 25);
669 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90, 0., 0.15);
671 "ele transverse impact parameter (wrt bs) vs eta",
679 "ele transverse impact parameter (wrt bs) vs phi",
687 "ele transverse impact parameter (wrt bs) vs transverse momentum",
697 "ele trans momentum / matching SC trans energy",
702 "ele momentum / matching SC energy vs eta",
710 "ele momentum / matching SC energy vs phi",
718 "ele momentum / matching SC energy vs eta",
726 "ele momentum / matching SC energy, barrel",
731 "ele momentum / matching SC energy, endcaps",
736 "ele trans momentum / matching SC trans energy, barrel",
741 "ele trans momentum / matching SC trans energy, endcaps",
746 "h_ele_EtaMnEtamatchingObject_matched",
"ele momentum eta - matching SC eta",
nbindeta,
detamin,
detamax);
748 "ele momentum eta - matching SC eta vs eta",
756 "ele momentum eta - matching SC eta vs phi",
764 "ele momentum eta - matching SC eta vs pt",
772 "h_ele_PhiMnPhimatchingObject_matched",
"ele momentum phi - matching SC phi",
nbindphi,
dphimin,
dphimax);
774 "ele momentum phi - matching SC phi",
779 "ele momentum phi - matching SC phi vs eta",
787 "ele momentum phi - matching SC phi vs phi",
795 "ele momentum phi - matching SC phi vs pt",
806 "h_scl_EoEmatchingObject_barrel_matched",
"ele supercluster energy / matching SC energy, barrel", 50, 0.2, 1.2);
808 "h_scl_EoEmatchingObject_endcaps_matched",
"ele supercluster energy / matching SC energy, endcaps", 50, 0.2, 1.2);
810 "ele supercluster energy / matching SC energy, barrel",
815 "ele supercluster energy / matching SC energy, endcaps",
829 histSclSigEtaEta_ =
new TH1F(
"h_scl_sigetaeta",
"ele supercluster sigma eta eta", 100, 0., 0.05);
831 new TH1F(
"h_scl_sigietaieta_barrel",
"ele supercluster sigma ieta ieta, barrel", 100, 0., 0.05);
833 new TH1F(
"h_scl_sigietaieta_endcaps",
"ele supercluster sigma ieta ieta, endcaps", 100, 0., 0.05);
839 new TH1F(
"h_scl_E2x5max_barrel",
"ele supercluster energy in 2x5 max barrel",
nbinp, 0.,
pmax);
841 new TH1F(
"h_scl_E2x5max_endcaps",
"ele supercluster energy in 2x5 max endcaps",
nbinp, 0.,
pmax);
849 new TH2F(
"h_ele_ambiguousTracksVsEta",
"ele # ambiguous tracks vs eta",
nbineta2D, etamin,
etamax, 5, 0., 5.);
851 new TH2F(
"h_ele_ambiguousTracksVsPhi",
"ele # ambiguous tracks vs phi",
nbinphi2D, phimin,
phimax, 5, 0., 5.);
853 new TH2F(
"h_ele_ambiguousTracksVsPt",
"ele # ambiguous tracks vs pt",
nbinpt2D, 0.,
ptmax, 5, 0., 5.);
861 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5, 0., 5.);
868 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100, 0., 15.);
872 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean",
nbinp, 0., 200.);
875 "ele track inner p - outer p vs eta, mode",
883 "ele track inner p - outer p vs phi, mode",
891 "h_ele_PinMnPoutVsPt_mode",
"ele track inner p - outer p vs pt, mode",
nbinpt2D, 0.,
ptmax,
nbinp2D, 0., 100.);
893 "h_ele_PinMnPoutVsE_mode",
"ele track inner p - outer p vs E, mode",
nbinp2D, 0., 200.,
nbinp2D, 0., 100.);
895 "h_ele_PinMnPoutVsChi2_mode",
"ele track inner p - outer p vs track chi2, mode", 50, 0., 20.,
nbinp2D, 0., 100.);
899 new TH2F(
"h_ele_outerPVsEta_mode",
"ele track outer p vs eta mode",
nbineta2D, etamin,
etamax, 50, 0.,
pmax);
907 new TH2F(
"h_ele_outerPtVsPt_mode",
"ele track outer p_{T} vs pt, mode",
nbinpt2D, 0., 100.,
nbinpt2D, 0.,
ptmax);
915 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50, 0.,
pmax, 50, 0., 5.);
921 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50, 0.,
pmax, 50, 0., 5.);
938 "ele #eta_{sc} - #eta_{tr} vs eta, prop from vertex",
946 "ele #eta_{sc} - #eta_{tr} vs phi, prop from vertex",
954 "ele #eta_{sc} - #eta_{tr} vs pt, prop from vertex",
964 "ele #phi_{sc} - #phi_{tr} vs eta, prop from vertex",
972 "ele #phi_{sc} - #phi_{tr} vs phi, prop from vertex",
980 "ele #phi_{sc} - #phi_{tr} vs pt, prop from vertex",
988 "ele #eta_{cl} - #eta_{tr}, prop from outermost",
993 "ele #eta_{cl} - #eta_{tr} vs eta, prop from out",
1001 "ele #eta_{cl} - #eta_{tr} vs phi, prop from out",
1009 "ele #eta_{cl} - #eta_{tr} vs pt, prop from out",
1017 "ele #phi_{cl} - #phi_{tr}, prop from outermost",
1022 "ele #phi_{cl} - #phi_{tr} vs eta, prop from out",
1030 "ele #phi_{cl} - #phi_{tr} vs phi, prop from out",
1038 "ele #phi_{cl} - #phi_{tr} vs pt, prop from out",
1046 "ele #eta_{EleCl} - #eta_{tr}, prop from outermost",
1051 "ele #eta_{EleCl} - #eta_{tr} vs eta, prop from out",
1059 "ele #eta_{EleCl} - #eta_{tr} vs phi, prop from out",
1067 "ele #eta_{EleCl} - #eta_{tr} vs pt, prop from out",
1075 "ele #phi_{EleCl} - #phi_{tr}, prop from outermost",
1080 "ele #phi_{EleCl} - #phi_{tr} vs eta, prop from out",
1088 "ele #phi_{EleCl} - #phi_{tr} vs phi, prop from out",
1096 "ele #phi_{EleCl} - #phi_{tr} vs pt, prop from out",
1106 new TH1F(
"h_ele_HoE_fiducial",
"ele hadronic energy / em energy, fiducial region",
nbinhoe,
hoemin,
hoemax);
1114 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50, -0.003, +0.003);
1116 new TH2F(
"h_ele_seedDphi2VsEta",
"ele seed dphi 2nd layer vs eta",
nbineta2D, etamin,
etamax, 50, -0.003, +0.003);
1118 new TH2F(
"h_ele_seedDphi2VsPt",
"ele seed dphi 2nd layer vs pt",
nbinpt2D, 0.,
ptmax, 50, -0.003, +0.003);
1119 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50, -0.03, +0.03);
1121 new TH2F(
"h_ele_seedDrz2VsEta",
"ele seed dr/dz 2nd layer vs eta",
nbineta2D, etamin,
etamax, 50, -0.03, +0.03);
1123 new TH2F(
"h_ele_seedDrz2VsPt",
"ele seed dr/dz 2nd layer vs pt",
nbinpt2D, 0.,
ptmax, 50, -0.03, +0.03);
1124 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10, 0., 10.);
1127 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20, 0.0, 20.);
1134 "ele track inner p vs outer p vs eta, golden, mode",
1142 "ele track inner p vs outer p vs eta, Showering, mode",
1150 "ele track inner p vs outer p vs eta, golden, mean",
1158 "ele track inner p vs outer p vs eta, Showering, mean",
1166 "ele track inner pt vs outer pt vs eta, golden, mode",
1174 "ele track inner pt vs outer pt vs eta, showering, mode",
1182 "ele track inner pt vs outer pt vs eta, golden, mean",
1190 "ele track inner pt vs outer pt vs eta, showering, mean",
1198 "ele supercluster energy over matchingObject energy, golden, barrel",
1203 new TH1F(
"h_scl_EoEmatchingObject golden, endcaps",
1204 "ele supercluster energy over matchingObject energy, golden, endcaps",
1209 new TH1F(
"h_scl_EoEmatchingObject Showering, barrel",
1210 "ele supercluster energy over matchingObject energy, showering, barrel",
1215 new TH1F(
"h_scl_EoEmatchingObject Showering, endcaps",
1216 "ele supercluster energy over matchingObject energy, showering, endcaps",
1222 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3", 100, 0.0, 20.);
1225 new TH1F(
"h_ele_hcalDepth1TowerSumEt_dr03",
"hcal depth1 isolation sum, dR=0.3", 100, 0.0, 20.);
1227 new TH1F(
"h_ele_hcalDepth2TowerSumEt_dr03",
"hcal depth2 isolation sum, dR=0.3", 100, 0.0, 20.);
1228 h_ele_tkSumPt_dr04 =
new TH1F(
"h_ele_tkSumPt_dr04",
"trk isolation sum", 100, 0.0, 20.);
1231 new TH1F(
"h_ele_hcalDepth1TowerSumEt_dr04",
"hcal depth1 isolation sum, dR=0.4", 100, 0.0, 20.);
1233 new TH1F(
"h_ele_hcalDepth2TowerSumEt_dr04",
"hcal depth2 isolation sum, dR=0.4", 100, 0.0, 20.);
1236 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode", 100, 0., 1.);
1238 new TProfile(
"h_ele_fbremvsEtamode",
"mean ele brem fraction vs eta, mode",
nbineta2D, etamin,
etamax, 0., 1.);
1240 new TProfile(
"h_ele_fbremvsEtamean",
"mean ele brem fraction vs eta, mean",
nbineta2D, etamin,
etamax, 0., 1.);
1243 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele identification mva", 100, -1., 1.);
1244 h_ele_provenance =
new TH1F(
"h_ele_provenance",
"ele provenance", 5, -2., 3.);
1259 h_ele_chi2->GetXaxis()->SetTitle(
"#Chi^{2}");
1267 h_ele_Et->GetXaxis()->SetTitle(
"E_{T} (GeV)");
1268 h_ele_Et->GetYaxis()->SetTitle(
"Events");
1313 h_ele_PinMnPout->GetXaxis()->SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
1325 h_ele_EoP->GetXaxis()->SetTitle(
"E/P_{vertex}");
1326 h_ele_EoP->GetYaxis()->SetTitle(
"Events");
1329 h_ele_EoPout->GetXaxis()->SetTitle(
"E_{seed}/P_{out}");
1360 h_ele_HoE->GetYaxis()->SetTitle(
"Events");
1363 h_ele_fbrem->GetXaxis()->SetTitle(
"P_{in} - P_{out} / P_{in}");
1373 h_ele_mee_all->GetXaxis()->SetTitle(
"m_{ee} (GeV/c^{2})");
1374 h_ele_mee_all->GetYaxis()->SetTitle(
"Events");
1375 h_ele_mee_os->GetXaxis()->SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
1393 histNum_->GetXaxis()->SetTitle(
"N_{ele}");
1394 histNum_->GetYaxis()->SetTitle(
"Events");
1401 std::cout <<
"efficiency calculation " << std::endl;
1404 h_ele_etaEff->Reset();
1406 h_ele_etaEff->Print();
1407 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
1408 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
1412 h_ele_zEff->Reset();
1414 h_ele_zEff->Print();
1415 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
1416 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
1420 h_ele_absetaEff->Reset();
1422 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
1423 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
1427 h_ele_ptEff->Reset();
1429 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1430 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
1434 h_ele_phiEff->Reset();
1436 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
1437 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
1440 TH1F *h_ele_eta_goldenFrac = (TH1F *)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
1441 h_ele_eta_goldenFrac->Reset();
1443 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
1444 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1445 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
1446 TH1F *h_ele_eta_bbremFrac = (TH1F *)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
1447 h_ele_eta_bbremFrac->Reset();
1449 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
1450 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1451 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
1452 TH1F *h_ele_eta_narrowFrac = (TH1F *)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
1453 h_ele_eta_narrowFrac->Reset();
1455 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
1456 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1457 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
1458 TH1F *h_ele_eta_showerFrac = (TH1F *)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
1459 h_ele_eta_showerFrac->Reset();
1461 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
1462 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1463 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
1466 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta / 2, 0.0, 2.5);
1468 double xOverX0 = 0.;
1471 h_ele_xOverX0VsEta->SetBinContent(ibin, xOverX0);
1476 p_ele_PoPmatchingObjectVsEta_matched->SetTitle(
"mean ele momentum / matching SC energy vs eta");
1477 p_ele_PoPmatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1478 p_ele_PoPmatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<P/E_{matching SC}>");
1479 p_ele_PoPmatchingObjectVsEta_matched->Write();
1481 p_ele_PoPmatchingObjectVsPhi_matched->SetTitle(
"mean ele momentum / gen momentum vs phi");
1482 p_ele_PoPmatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi (rad)");
1483 p_ele_PoPmatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<P/E_{matching SC}>");
1484 p_ele_PoPmatchingObjectVsPhi_matched->Write();
1486 p_ele_EtaMnEtamatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1487 p_ele_EtaMnEtamatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching SC}>");
1488 p_ele_EtaMnEtamatchingObjectVsEta_matched->Write();
1490 p_ele_EtaMnEtamatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi");
1491 p_ele_EtaMnEtamatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching SC}>");
1492 p_ele_EtaMnEtamatchingObjectVsPhi_matched->Write();
1494 p_ele_PhiMnPhimatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1495 p_ele_PhiMnPhimatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<#phi_{rec} - #phi_{matching SC}> (rad)");
1496 p_ele_PhiMnPhimatchingObjectVsEta_matched->Write();
1498 p_ele_PhiMnPhimatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi");
1499 p_ele_PhiMnPhimatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<#phi_{rec} - #phi_{matching SC}> (rad)");
1500 p_ele_PhiMnPhimatchingObjectVsPhi_matched->Write();
1502 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
1503 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
1504 p_ele_vertexPtVsEta->Write();
1506 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1507 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
1508 p_ele_vertexPtVsPhi->Write();
1510 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
1511 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
1512 p_ele_EoPVsEta->Write();
1514 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1515 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
1516 p_ele_EoPVsPhi->Write();
1518 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
1519 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
1520 p_ele_EoPoutVsEta->Write();
1522 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1523 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
1524 p_ele_EoPoutVsPhi->Write();
1526 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
1527 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
1528 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
1529 p_ele_EeleOPoutVsEta->Write();
1531 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
1532 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1533 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
1534 p_ele_EeleOPoutVsPhi->Write();
1536 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
1537 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
1538 p_ele_HoEVsEta->Write();
1540 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1541 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
1542 p_ele_HoEVsPhi->Write();
1544 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
1545 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
1546 p_ele_chi2VsEta->Write();
1548 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1549 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
1550 p_ele_chi2VsPhi->Write();
1552 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
1553 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
1554 p_ele_foundHitsVsEta->Write();
1556 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1557 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
1558 p_ele_foundHitsVsPhi->Write();
1560 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
1561 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
1562 p_ele_lostHitsVsEta->Write();
1564 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1565 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
1566 p_ele_lostHitsVsPhi->Write();
1568 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
1569 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
1570 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
1571 p_ele_vertexTIPVsEta->Write();
1573 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
1574 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
1575 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
1576 p_ele_vertexTIPVsPhi->Write();
1578 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
1579 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1580 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
1581 p_ele_vertexTIPVsPt->Write();
1762 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1763 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1764 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1765 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1766 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1767 p_ele_seed_dphi2VsEta_->Write();
1769 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1770 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1771 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1772 p_ele_seed_dphi2VsPt_->Write();
1773 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1774 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1777 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1778 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1779 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1780 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1781 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1782 p_ele_seed_drz2VsEta_->Write();
1784 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1785 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1786 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1787 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1788 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1789 p_ele_seed_drz2VsPt_->Write();
1815 h_ele_etaEff->Write();
1816 h_ele_zEff->Write();
1817 h_ele_phiEff->Write();
1818 h_ele_absetaEff->Write();
1819 h_ele_ptEff->Write();
1820 h_ele_eta_goldenFrac->Write();
1821 h_ele_eta_bbremFrac->Write();
1822 h_ele_eta_narrowFrac->Write();
1823 h_ele_eta_showerFrac->Write();
1824 h_ele_xOverX0VsEta->Write();
1858 std::cout <<
"analyzing new event " << std::endl;
1865 std::cout <<
"new event passing trigger " << std::endl;
1871 edm::LogInfo(
"") <<
"\n\n =================> Treating event " << iEvent.
id() <<
" Number of electrons "
1872 << gsfElectrons.
product()->size();
1883 histNum_->Fill((*gsfElectrons).size());
1886 for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
1889 if (gsfIter->superCluster()->energy() / cosh(gsfIter->superCluster()->eta()) <
minEt_)
1893 if (gsfIter->pt() <
minPt_)
1896 if (gsfIter->isEB() &&
isEE_)
1898 if (gsfIter->isEE() &&
isEB_)
1944 if (gsfIter->mva_e_pi() <
mvaMin_)
1947 double d = (gsfIter->vertex().x() - bs.
position().x()) * (gsfIter->vertex().x() - bs.
position().x()) +
1948 (gsfIter->vertex().y() - bs.
position().y()) * (gsfIter->vertex().y() - bs.
position().y());
1975 h_ele_Et->Fill(gsfIter->superCluster()->energy() / cosh(gsfIter->superCluster()->eta()));
1992 if (!gsfIter->ecalDrivenSeed() && gsfIter->trackerDrivenSeed())
1993 sclRef = gsfIter->parentSuperCluster();
1995 double R =
std::sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y() + sclRef->z() * sclRef->z());
1996 double Rt =
std::sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y());
2004 if (gsfIter->isEB())
2006 if (gsfIter->isEE())
2009 if (gsfIter->isEB())
2011 if (gsfIter->isEE())
2014 if (gsfIter->isEB())
2016 if (gsfIter->isEE())
2019 if (gsfIter->isEB())
2021 if (gsfIter->isEE())
2038 h_ele_chi2->Fill(gsfIter->gsfTrack()->normalizedChi2());
2039 h_ele_chi2VsEta->Fill(gsfIter->eta(), gsfIter->gsfTrack()->normalizedChi2());
2040 h_ele_chi2VsPhi->Fill(gsfIter->phi(), gsfIter->gsfTrack()->normalizedChi2());
2041 h_ele_chi2VsPt->Fill(gsfIter->pt(), gsfIter->gsfTrack()->normalizedChi2());
2045 h_ele_PinMnPout->Fill(gsfIter->gsfTrack()->innerMomentum().R() - gsfIter->gsfTrack()->outerMomentum().R());
2046 h_ele_outerP->Fill(gsfIter->gsfTrack()->outerMomentum().R());
2047 h_ele_outerPt->Fill(gsfIter->gsfTrack()->outerMomentum().Rho());
2050 h_ele_PinMnPout_mode->Fill(gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2052 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2054 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2055 h_ele_PinMnPoutVsPt_mode->Fill(gsfIter->pt(), gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2057 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2060 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2080 h_ele_EoP->Fill(gsfIter->eSuperClusterOverP());
2081 h_ele_EoPVsEta->Fill(gsfIter->eta(), gsfIter->eSuperClusterOverP());
2082 h_ele_EoPVsPhi->Fill(gsfIter->phi(), gsfIter->eSuperClusterOverP());
2083 h_ele_EoPVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSuperClusterOverP());
2087 h_ele_EseedOPVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSeedClusterOverP());
2091 h_ele_EoPoutVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSeedClusterOverPout());
2120 h_ele_HoE->Fill(gsfIter->hadronicOverEm());
2121 if (!gsfIter->isEBEtaGap() && !gsfIter->isEBPhiGap() && !gsfIter->isEBEEGap() && !gsfIter->isEERingGap() &&
2122 !gsfIter->isEEDeeGap())
2126 h_ele_HoEVsE->Fill(gsfIter->caloEnergy(), gsfIter->hadronicOverEm());
2129 int eleClass = gsfIter->classification();
2130 if (gsfIter->isEE())
2135 if (gsfIter->classification() == GsfElectron::GOLDEN)
2137 if (gsfIter->classification() == GsfElectron::BIGBREM)
2140 if (gsfIter->classification() == GsfElectron::SHOWERING)
2144 double fbrem_mean = 0.;
2146 fbrem_mean = 1. - gsfIter->gsfTrack()->outerMomentum().R() / gsfIter->gsfTrack()->innerMomentum().R();
2147 double fbrem_mode = gsfIter->fbrem();
2153 if (gsfIter->classification() == GsfElectron::GOLDEN)
2155 if (gsfIter->classification() == GsfElectron::SHOWERING)
2158 if (gsfIter->classification() == GsfElectron::GOLDEN)
2160 gsfIter->gsfTrack()->innerMomentum().R());
2162 if (gsfIter->classification() == GsfElectron::SHOWERING)
2164 gsfIter->gsfTrack()->innerMomentum().R());
2165 if (gsfIter->classification() == GsfElectron::GOLDEN)
2167 if (gsfIter->classification() == GsfElectron::SHOWERING)
2170 if (gsfIter->classification() == GsfElectron::GOLDEN)
2172 gsfIter->gsfTrack()->innerMomentum().Rho());
2174 if (gsfIter->classification() == GsfElectron::SHOWERING)
2176 gsfIter->gsfTrack()->innerMomentum().Rho());
2179 if (gsfIter->ecalDrivenSeed())
2181 if (gsfIter->trackerDrivenSeed())
2183 if (gsfIter->trackerDrivenSeed() || gsfIter->ecalDrivenSeed())
2185 if (gsfIter->trackerDrivenSeed() && !gsfIter->ecalDrivenSeed())
2187 if (!gsfIter->trackerDrivenSeed() && gsfIter->ecalDrivenSeed())
2199 float enrj1 = gsfIter->superCluster()->energy();
2201 for (reco::GsfElectronCollection::const_iterator gsfIter2 = gsfIter + 1; gsfIter2 != gsfElectrons->end();
2204 float mee2 = p12.Dot(p12);
2205 float enrj2 = gsfIter2->superCluster()->energy();
2208 if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed())
2210 if (gsfIter->charge() * gsfIter2->charge() < 0.) {
2212 if (gsfIter->isEB() && gsfIter2->isEB())
2214 if ((gsfIter->isEB() && gsfIter2->isEE()) || (gsfIter->isEE() && gsfIter2->isEB()))
2216 if (gsfIter->isEE() && gsfIter2->isEE())
2218 if ((gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::GOLDEN) ||
2219 (gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::BIGBREM) ||
2221 (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::GOLDEN) ||
2222 (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::BIGBREM)
2229 }
else if ((gsfIter->classification() == GsfElectron::SHOWERING &&
2230 gsfIter2->classification() == GsfElectron::SHOWERING) ||
2231 (gsfIter->classification() == GsfElectron::SHOWERING && gsfIter2->isGap()) ||
2232 (gsfIter->isGap() && gsfIter2->classification() == GsfElectron::SHOWERING) ||
2233 (gsfIter->isGap() && gsfIter2->isGap())) {
2243 int matchingObjectNum = 0;
2245 for (reco::SuperClusterCollection::const_iterator moIter = recoClusters->begin(); moIter != recoClusters->end();
2248 matchingObjectNum++;
2267 bool okGsfFound =
false;
2268 double gsfOkRatio = 999999.;
2272 for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
2276 double dphi = gsfIter->
phi() - moIter->phi();
2278 dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
2283 double tmpGsfRatio = gsfIter->p() / moIter->energy();
2285 gsfOkRatio = tmpGsfRatio;
2286 bestGsfElectron = *gsfIter;
2318 if (bestGsfElectron.
isEB())
2320 if (bestGsfElectron.
isEE())
2322 if (bestGsfElectron.
isEB())
2324 if (bestGsfElectron.
isEE())
2328 if (bestGsfElectron.
isEB())
2330 if (bestGsfElectron.
isEE())
2332 if (bestGsfElectron.
isEB())
2334 if (bestGsfElectron.
isEE())
2354 if (triggerResults.
isValid()) {
2360 for (
unsigned int i = 0;
i < triggerNames.
size();
i++) {
2366 for (
unsigned int i = 0;
i !=
n;
i++) {
2372 n = triggerResults->size();
2375 for (
unsigned int i = 0;
i !=
n;
i++) {
2383 std::cout <<
"HLT trigger paths requested: index, name and valididty:" << std::endl;
2384 for (
unsigned int i = 0;
i !=
n;
i++) {
2392 unsigned int fired = 0;
2393 for (
unsigned int i = 0;
i !=
n;
i++) {
TH2F * h_ele_dPhiEleClVsEta_propOut
TH1F * h_ele_EeleOPout_endcaps
TH2F * h_ele_EseedOPVsEta
TH1F * histSclSigEtaEta_barrel_
TH1F * h_ele_PtoPtmatchingObject_endcaps_matched
double ecalIso03MaxBarrel_
TH1F * histSclE2x5max_barrel_
TH2F * h_ele_EtaMnEtamatchingObjectVsEta_matched
TH2F * h_ele_dPhiClVsEta_propOut
static std::vector< std::string > checklist log
const edm::EventSetup & c
TH1F * h_ele_foundHits_barrel
TH2F * h_ele_PinMnPoutVsPt_mode
TH1F * h_ele_vertexAbsEta
TH1F * histSclSigIEtaIEta_barrel_
TH2F * h_ele_PtinVsPtoutShowering_mode
TH1F * h_ele_dEtaCl_propOut
TH2F * h_ele_PoPmatchingObjectVsEta_matched
std::vector< unsigned int > HLTPathsByIndex_
TH1F * h_ele_matchingObjectZ_matched
TH1F * h_ele_ambiguousTracks
TH2F * h_ele_dPhiClVsPhi_propOut
double pt() const final
transverse momentum
TH2F * h_ele_dPhiEleClVsPt_propOut
TH2F * h_ele_EtaMnEtamatchingObjectVsPhi_matched
TH1F * h_ele_PtoPtmatchingObject_barrel_matched
TH1F * h_ele_matchingObjectAbsEta_matched
TH1F * h_ele_PtoPtmatchingObject_matched
TH1F * h_ele_dEtaCl_propOut_endcaps
void analyze(const edm::Event &e, const edm::EventSetup &c) override
TH2F * h_ele_dEtaClVsEta_propOut
std::string matchingCondition_
double hcalIso03Depth2MaxEndcaps_
TH2F * h_ele_EeleOPoutVsE
#define DEFINE_FWK_MODULE(type)
double sigIetaIetaMinBarrel_
TH1F * h_matchingObjectAbsEta
~GsfElectronDataAnalyzer() override
TH2F * h_ele_PinMnPoutVsChi2_mode
TH1F * h_ele_tkSumPt_dr04
TH1F * h_ele_EtaMnEtamatchingObject_matched
TH2F * h_ele_outerPtVsPt_mode
unsigned int triggerIndex(std::string_view name) const
TH1F * h_ele_dEtaEleCl_propOut_endcaps
TH1F * histSclSigIEtaIEta_
TH1F * histSclEoEmatchingObject_barrel_matched
TH2F * h_ele_dEtaEleClVsEta_propOut
TH1F * histSclSigEtaEta_endcaps_
TH2F * h_ele_dEtaScVsPhi_propVtx
TH2F * h_ele_ambiguousTracksVsEta
TH2F * h_ele_PhiMnPhimatchingObjectVsPhi_matched
std::vector< std::string > HLTPathsByName_
TH2F * h_ele_EeleOPoutVsEta
TH1F * h_ele_dPhiSc_propVtx_barrel
TH1F * h_ele_matchingObjectPt_matched
TH2F * h_ele_seed_drz2VsEta_
TH1F * histSclE1x5_endcaps_
TH2F * h_ele_vertexPtVsPhi
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
double maxAbsEtaMatchingObject_
unsigned int nAfterTrigger_
TH1F * histSclEoEmatchingObject_endcaps_new_matched
edm::ESHandle< TrackerGeometry > pDD
TH2F * h_ele_foundHitsVsPt
TH1F * h_ele_outerPt_mode
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
float superclusterEnergy[10]
TH2F * h_ele_PinMnPoutVsEta_mode
TH1F * h_ele_EseedOP_barrel
TH1F * h_ele_PhiMnPhimatchingObject_matched
TH2F * h_ele_outerPtVsPhi_mode
TH1F * h_ele_hcalDepth2TowerSumEt_dr03
TH2F * h_ele_PhiMnPhimatchingObjectVsPt_matched
TH1F * h_ele_ecalRecHitSumEt_dr04
TH1F * h_ele_foundHits_endcaps
TH2F * h_ele_EeleOPoutVsPhi
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
TH1F * h_ele_dEtaSc_propVtx_endcaps
TH2F * h_ele_vertexTIPVsEta
TH1F * h_ele_EoPout_barrel
TH1F * h_matchingObjectEta
TH2F * h_ele_dEtaScVsEta_propVtx
TH2F * h_ele_seed_dphi2VsEta_
TH2F * h_ele_outerPtVsEta_mode
double ecalIso03MaxEndcaps_
double p() const final
magnitude of momentum vector
TH1F * h_ele_dPhiEleCl_propOut_barrel
TH2F * h_ele_PinMnPoutVsPhi_mode
TH1F * histSclEoEmatchingObjectShowering_endcaps
TH1F * histSclEoEmatchingObject_endcaps_matched
double hadronicOverEmMaxEndcaps_
TH2F * h_ele_PtinVsPtoutGolden_mode
TH2F * h_ele_dPhiScVsPhi_propVtx
TrajectoryStateTransform transformer_
TH2F * h_ele_dEtaClVsPt_propOut
TH1F * h_ele_chi2_endcaps_
TH1F * h_ele_hcalDepth2TowerSumEt_dr04
GsfElectronDataAnalyzer(const edm::ParameterSet &conf)
TH2F * h_ele_ambiguousTracksVsPt
TH2F * h_ele_PinVsPoutGolden_mode
bool trigger(const edm::Event &e)
TH1F * histSclE2x5max_endcaps_
TH2F * h_ele_dEtaEleClVsPhi_propOut
TH1F * h_ele_PoPmatchingObject_matched
TH1F * h_ele_hcalDepth1TowerSumEt_dr04
TH1F * h_ele_tkSumPt_dr03
edm::ESHandle< MagneticField > theMagField
Abs< T >::type abs(const T &t)
TH2F * h_ele_dPhiScVsEta_propVtx
TH2F * h_ele_E2mnE1vsMee_all
double hcalIso03Depth1MaxEndcaps_
TProfile * h_ele_fbremVsEta_mean
float superclusterEta[10]
TH1F * h_ele_PinMnPout_mode
TH1F * h_ele_lostHits_endcaps
TH1F * h_ele_lostHits_barrel
TH2F * h_ele_lostHitsVsEta
static std::string const triggerResults
TH2F * h_ele_PtinVsPtoutGolden_mean
double py() const final
y coordinate of momentum vector
TH1F * histSclEoEmatchingObjectShowering_barrel
edm::InputTag electronCollection_
edm::InputTag triggerResults_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
TH1F * histSclE1x5_barrel_
TH1F * h_ele_dEtaEleCl_propOut
TH2F * h_ele_vertexTIPVsPhi
TH1F * histSclE5x5_barrel_
TH1F * h_ele_dPhiSc_propVtx_endcaps
double hadronicOverEmMaxBarrel_
TH1F * h_ele_dPhiCl_propOut_barrel
TH1F * histSclEoEmatchingObjectGolden_endcaps
Log< level::Info, false > LogInfo
TH2F * h_ele_dPhiScVsPt_propVtx
TH2F * h_ele_dPhiClVsPt_propOut
TH2F * h_ele_dPhiEleClVsPhi_propOut
TH1F * h_ele_hcalDepth1TowerSumEt_dr03
TH1F * h_ele_dPhiEleCl_propOut
TH1F * h_ele_dPhiCl_propOut
TH1F * h_ele_EseedOP_endcaps
double hcalIso03Depth1MaxBarrel_
T const * product() const
TH1F * h_ele_matchingObjectPhi_matched
std::string const & triggerName(unsigned int index) const
TH2F * h_ele_seed_drz2VsPt_
TH2F * h_ele_PinVsPoutGolden_mean
TH2F * h_ele_outerPVsEta_mode
TH2F * h_ele_EtaMnEtamatchingObjectVsPt_matched
TH2F * h_ele_dEtaClVsPhi_propOut
double sigIetaIetaMaxBarrel_
TH1F * h_ele_EoPout_endcaps
TH2F * h_ele_vertexEtaVsPhi
T getParameter(std::string const &) const
TH1F * h_ele_vertexPt_5100
TH2F * h_ele_foundHitsVsPhi
TH1F * h_ele_dEtaSc_propVtx
TH1F * h_ele_chi2_barrel_
TH1F * h_ele_dPhiCl_propOut_endcaps
TH2F * h_ele_PinVsPoutShowering_mean
TH2F * h_ele_E2mnE1vsMee_egeg_all
TH2F * h_ele_vertexPtVsEta
TH2F * h_ele_PtinVsPtoutShowering_mean
TH2F * h_ele_vertexTIPVsPt
TH1F * h_ele_PoPmatchingObject_barrel_matched
TH1F * h_ele_HoE_fiducial
TH1F * histSclE5x5_endcaps_
TH1F * h_ele_ecalRecHitSumEt_dr03
float superclusterPhi[10]
TH2F * h_ele_dEtaScVsPt_propVtx
TH2F * h_ele_seed_dphi2VsPt_
TH2F * h_ele_PhiMnPhimatchingObjectVsEta_matched
TH2F * h_ele_lostHitsVsPt
TH1F * histSclEoEmatchingObject_barrel_new_matched
TH1F * h_ele_dEtaCl_propOut_barrel
TH1F * h_ele_dEtaSc_propVtx_barrel
TH2F * h_ele_PoPmatchingObjectVsPt_matched
TH2F * h_ele_PinVsPoutShowering_mode
const Point & position() const
position
TH1F * h_ele_PoPmatchingObject_endcaps_matched
TH2F * h_ele_ambiguousTracksVsPhi
TH2F * h_ele_EseedOPVsPhi
double maxPtMatchingObject_
TH1F * h_ele_dPhiEleCl_propOut_endcaps
double sigIetaIetaMaxEndcaps_
TH2F * h_ele_PinMnPoutVsE_mode
TH1F * h_ele_matchingObjectEta_matched
TProfile * h_ele_fbremVsEta_mode
TH1F * h_ele_EeleOPout_barrel
TH1F * h_ele_dEtaEleCl_propOut_barrel
TH1F * histSclEoEmatchingObjectGolden_barrel
double phi() const final
momentum azimuthal angle
TH1F * h_matchingObjectNum
edm::InputTag matchingObjectCollection_
double sigIetaIetaMinEndcaps_
TH2F * h_ele_lostHitsVsPhi
TH1F * histSclSigIEtaIEta_endcaps_
TH1F * h_matchingObjectPhi
Power< A, B >::type pow(const A &a, const B &b)
TH1F * h_ele_dPhiSc_propVtx
SuperClusterRef superCluster() const override
reference to a SuperCluster
TH2F * h_ele_foundHitsVsEta
TH1F * h_ele_seed_subdet2_
TH1F * h_matchingObjectPt
TH2F * h_ele_PoPmatchingObjectVsPhi_matched
TH1F * h_ele_PhiMnPhimatchingObject2_matched
TH2F * h_ele_dEtaEleClVsPt_propOut
double eta() const final
momentum pseudorapidity