40 #include "CLHEP/Units/GlobalPhysicalConstants.h"
433 using namespace reco;
436 : beamSpot_(conf.getParameter<edm::
InputTag>(
"beamSpot")) {
445 assert(matchingCondition_ ==
"Cone");
492 etamin = pset.getParameter<
double>(
"Etamin");
493 etamax = pset.getParameter<
double>(
"Etamax");
494 phimin = pset.getParameter<
double>(
"Phimin");
495 phimax = pset.getParameter<
double>(
"Phimax");
496 ptmax = pset.getParameter<
double>(
"Ptmax");
497 pmax = pset.getParameter<
double>(
"Pmax");
498 eopmax = pset.getParameter<
double>(
"Eopmax");
499 eopmaxsht = pset.getParameter<
double>(
"Eopmaxsht");
500 detamin = pset.getParameter<
double>(
"Detamin");
501 detamax = pset.getParameter<
double>(
"Detamax");
502 dphimin = pset.getParameter<
double>(
"Dphimin");
503 dphimax = pset.getParameter<
double>(
"Dphimax");
504 detamatchmin = pset.getParameter<
double>(
"Detamatchmin");
505 detamatchmax = pset.getParameter<
double>(
"Detamatchmax");
506 dphimatchmin = pset.getParameter<
double>(
"Dphimatchmin");
507 dphimatchmax = pset.getParameter<
double>(
"Dphimatchmax");
508 fhitsmax = pset.getParameter<
double>(
"Fhitsmax");
509 lhitsmax = pset.getParameter<
double>(
"Lhitsmax");
510 nbineta = pset.getParameter<
int>(
"Nbineta");
511 nbineta2D = pset.getParameter<
int>(
"Nbineta2D");
512 nbinp = pset.getParameter<
int>(
"Nbinp");
513 nbinpt = pset.getParameter<
int>(
"Nbinpt");
514 nbinp2D = pset.getParameter<
int>(
"Nbinp2D");
515 nbinpt2D = pset.getParameter<
int>(
"Nbinpt2D");
516 nbinpteff = pset.getParameter<
int>(
"Nbinpteff");
517 nbinphi = pset.getParameter<
int>(
"Nbinphi");
518 nbinphi2D = pset.getParameter<
int>(
"Nbinphi2D");
519 nbineop = pset.getParameter<
int>(
"Nbineop");
520 nbineop2D = pset.getParameter<
int>(
"Nbineop2D");
521 nbinfhits = pset.getParameter<
int>(
"Nbinfhits");
522 nbinlhits = pset.getParameter<
int>(
"Nbinlhits");
523 nbinxyz = pset.getParameter<
int>(
"Nbinxyz");
524 nbindeta = pset.getParameter<
int>(
"Nbindeta");
525 nbindphi = pset.getParameter<
int>(
"Nbindphi");
530 nbinpoptrue = pset.getParameter<
int>(
"Nbinpoptrue");
531 poptruemin = pset.getParameter<
double>(
"Poptruemin");
532 poptruemax = pset.getParameter<
double>(
"Poptruemax");
533 nbinmee = pset.getParameter<
int>(
"Nbinmee");
534 meemin = pset.getParameter<
double>(
"Meemin");
535 meemax = pset.getParameter<
double>(
"Meemax");
536 nbinhoe = pset.getParameter<
int>(
"Nbinhoe");
537 hoemin = pset.getParameter<
double>(
"Hoemin");
538 hoemax = pset.getParameter<
double>(
"Hoemax");
557 if (locSC != std::string::npos) {
558 std::cout <<
"Matching objects are SuperClusters " << std::endl;
561 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
565 hlabel =
"h_" + type_ +
"Num";
566 htitle =
"# " + type_ +
"s";
571 histNum_ =
new TH1F(
"h_recEleNum",
"# rec electrons", 20, 0., 20.);
574 hlabel =
"h_" + type_ +
"_eta";
575 htitle = type_ +
" #eta";
577 hlabel =
"h_" + type_ +
"_abseta";
578 htitle = type_ +
" |#eta|";
580 hlabel =
"h_" + type_ +
"_P";
581 htitle = type_ +
" p";
583 hlabel =
"h_" + type_ +
"_Pt";
584 htitle = type_ +
" pt";
586 hlabel =
"h_" + type_ +
"_phi";
587 htitle = type_ +
" phi";
589 hlabel =
"h_" + type_ +
"_z";
590 htitle = type_ +
" z";
595 new TH1F(
"h_ele_mee_all",
"ele pairs invariant mass, all charge combinations",
nbinmee,
meemin,
meemax);
598 new TH1F(
"h_ele_mee_os_ebeb",
"ele pairs invariant mass, opp. sign, EB-EB",
nbinmee,
meemin,
meemax);
601 new TH1F(
"h_ele_mee_os_ebee",
"ele pairs invariant mass, opp. sign, EB-EE",
nbinmee,
meemin,
meemax);
604 new TH1F(
"h_ele_mee_os_eeee",
"ele pairs invariant mass, opp. sign, EE-EE",
nbinmee,
meemin,
meemax);
607 new TH1F(
"h_ele_mee_os_gg",
"ele pairs invariant mass, opp. sign, good-good",
nbinmee,
meemin,
meemax);
610 new TH1F(
"h_ele_mee_os_gb",
"ele pairs invariant mass, opp. sign, good-bad",
nbinmee,
meemin,
meemax);
613 new TH1F(
"h_ele_mee_os_bb",
"ele pairs invariant mass, opp. sign, bad-bad",
nbinmee,
meemin,
meemax);
618 "E2 - E1 vs ele pairs invariant mass, all electrons",
626 "E2 - E1 vs ele pairs invariant mass, ecal driven pairs, all electrons",
635 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5, -2., 2.);
647 new TH1F(
"h_ele_matchingObjectPt_matched",
"Efficiency vs matching SC E_{T}",
nbinpteff, 5.,
ptmax);
653 new TH1F(
"h_ele_matchingObjectAbsEta_matched",
"Efficiency vs matching SC |#eta|",
nbineta / 2, 0., 2.5);
656 new TH1F(
"h_ele_matchingObjectEta_matched",
"Efficiency vs matching SC #eta",
nbineta, etamin,
etamax);
659 new TH1F(
"h_ele_matchingObjectPhi_matched",
"Efficiency vs matching SC phi",
nbinphi, phimin,
phimax);
666 new TH1F(
"h_ele_matchingObjectZ_matched",
"Efficiency vs matching SC z",
nbinxyz, -25, 25);
668 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90, 0., 0.15);
670 "ele transverse impact parameter (wrt bs) vs eta",
678 "ele transverse impact parameter (wrt bs) vs phi",
686 "ele transverse impact parameter (wrt bs) vs transverse momentum",
696 "ele trans momentum / matching SC trans energy",
701 "ele momentum / matching SC energy vs eta",
709 "ele momentum / matching SC energy vs phi",
717 "ele momentum / matching SC energy vs eta",
725 "ele momentum / matching SC energy, barrel",
730 "ele momentum / matching SC energy, endcaps",
735 "ele trans momentum / matching SC trans energy, barrel",
740 "ele trans momentum / matching SC trans energy, endcaps",
745 "h_ele_EtaMnEtamatchingObject_matched",
"ele momentum eta - matching SC eta",
nbindeta,
detamin,
detamax);
747 "ele momentum eta - matching SC eta vs eta",
755 "ele momentum eta - matching SC eta vs phi",
763 "ele momentum eta - matching SC eta vs pt",
771 "h_ele_PhiMnPhimatchingObject_matched",
"ele momentum phi - matching SC phi",
nbindphi,
dphimin,
dphimax);
773 "ele momentum phi - matching SC phi",
778 "ele momentum phi - matching SC phi vs eta",
786 "ele momentum phi - matching SC phi vs phi",
794 "ele momentum phi - matching SC phi vs pt",
805 "h_scl_EoEmatchingObject_barrel_matched",
"ele supercluster energy / matching SC energy, barrel", 50, 0.2, 1.2);
807 "h_scl_EoEmatchingObject_endcaps_matched",
"ele supercluster energy / matching SC energy, endcaps", 50, 0.2, 1.2);
809 "ele supercluster energy / matching SC energy, barrel",
814 "ele supercluster energy / matching SC energy, endcaps",
828 histSclSigEtaEta_ =
new TH1F(
"h_scl_sigetaeta",
"ele supercluster sigma eta eta", 100, 0., 0.05);
830 new TH1F(
"h_scl_sigietaieta_barrel",
"ele supercluster sigma ieta ieta, barrel", 100, 0., 0.05);
832 new TH1F(
"h_scl_sigietaieta_endcaps",
"ele supercluster sigma ieta ieta, endcaps", 100, 0., 0.05);
838 new TH1F(
"h_scl_E2x5max_barrel",
"ele supercluster energy in 2x5 max barrel",
nbinp, 0.,
pmax);
840 new TH1F(
"h_scl_E2x5max_endcaps",
"ele supercluster energy in 2x5 max endcaps",
nbinp, 0.,
pmax);
848 new TH2F(
"h_ele_ambiguousTracksVsEta",
"ele # ambiguous tracks vs eta",
nbineta2D, etamin,
etamax, 5, 0., 5.);
850 new TH2F(
"h_ele_ambiguousTracksVsPhi",
"ele # ambiguous tracks vs phi",
nbinphi2D, phimin,
phimax, 5, 0., 5.);
852 new TH2F(
"h_ele_ambiguousTracksVsPt",
"ele # ambiguous tracks vs pt",
nbinpt2D, 0.,
ptmax, 5, 0., 5.);
860 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5, 0., 5.);
867 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100, 0., 15.);
871 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean",
nbinp, 0., 200.);
874 "ele track inner p - outer p vs eta, mode",
882 "ele track inner p - outer p vs phi, mode",
890 "h_ele_PinMnPoutVsPt_mode",
"ele track inner p - outer p vs pt, mode",
nbinpt2D, 0.,
ptmax,
nbinp2D, 0., 100.);
892 "h_ele_PinMnPoutVsE_mode",
"ele track inner p - outer p vs E, mode",
nbinp2D, 0., 200.,
nbinp2D, 0., 100.);
894 "h_ele_PinMnPoutVsChi2_mode",
"ele track inner p - outer p vs track chi2, mode", 50, 0., 20.,
nbinp2D, 0., 100.);
898 new TH2F(
"h_ele_outerPVsEta_mode",
"ele track outer p vs eta mode",
nbineta2D, etamin,
etamax, 50, 0.,
pmax);
906 new TH2F(
"h_ele_outerPtVsPt_mode",
"ele track outer p_{T} vs pt, mode",
nbinpt2D, 0., 100.,
nbinpt2D, 0.,
ptmax);
914 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50, 0.,
pmax, 50, 0., 5.);
920 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50, 0.,
pmax, 50, 0., 5.);
937 "ele #eta_{sc} - #eta_{tr} vs eta, prop from vertex",
945 "ele #eta_{sc} - #eta_{tr} vs phi, prop from vertex",
953 "ele #eta_{sc} - #eta_{tr} vs pt, prop from vertex",
963 "ele #phi_{sc} - #phi_{tr} vs eta, prop from vertex",
971 "ele #phi_{sc} - #phi_{tr} vs phi, prop from vertex",
979 "ele #phi_{sc} - #phi_{tr} vs pt, prop from vertex",
987 "ele #eta_{cl} - #eta_{tr}, prop from outermost",
992 "ele #eta_{cl} - #eta_{tr} vs eta, prop from out",
1000 "ele #eta_{cl} - #eta_{tr} vs phi, prop from out",
1008 "ele #eta_{cl} - #eta_{tr} vs pt, prop from out",
1016 "ele #phi_{cl} - #phi_{tr}, prop from outermost",
1021 "ele #phi_{cl} - #phi_{tr} vs eta, prop from out",
1029 "ele #phi_{cl} - #phi_{tr} vs phi, prop from out",
1037 "ele #phi_{cl} - #phi_{tr} vs pt, prop from out",
1045 "ele #eta_{EleCl} - #eta_{tr}, prop from outermost",
1050 "ele #eta_{EleCl} - #eta_{tr} vs eta, prop from out",
1058 "ele #eta_{EleCl} - #eta_{tr} vs phi, prop from out",
1066 "ele #eta_{EleCl} - #eta_{tr} vs pt, prop from out",
1074 "ele #phi_{EleCl} - #phi_{tr}, prop from outermost",
1079 "ele #phi_{EleCl} - #phi_{tr} vs eta, prop from out",
1087 "ele #phi_{EleCl} - #phi_{tr} vs phi, prop from out",
1095 "ele #phi_{EleCl} - #phi_{tr} vs pt, prop from out",
1105 new TH1F(
"h_ele_HoE_fiducial",
"ele hadronic energy / em energy, fiducial region",
nbinhoe,
hoemin,
hoemax);
1113 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50, -0.003, +0.003);
1115 new TH2F(
"h_ele_seedDphi2VsEta",
"ele seed dphi 2nd layer vs eta",
nbineta2D, etamin,
etamax, 50, -0.003, +0.003);
1117 new TH2F(
"h_ele_seedDphi2VsPt",
"ele seed dphi 2nd layer vs pt",
nbinpt2D, 0.,
ptmax, 50, -0.003, +0.003);
1118 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50, -0.03, +0.03);
1120 new TH2F(
"h_ele_seedDrz2VsEta",
"ele seed dr/dz 2nd layer vs eta",
nbineta2D, etamin,
etamax, 50, -0.03, +0.03);
1122 new TH2F(
"h_ele_seedDrz2VsPt",
"ele seed dr/dz 2nd layer vs pt",
nbinpt2D, 0.,
ptmax, 50, -0.03, +0.03);
1123 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10, 0., 10.);
1126 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20, 0.0, 20.);
1133 "ele track inner p vs outer p vs eta, golden, mode",
1141 "ele track inner p vs outer p vs eta, Showering, mode",
1149 "ele track inner p vs outer p vs eta, golden, mean",
1157 "ele track inner p vs outer p vs eta, Showering, mean",
1165 "ele track inner pt vs outer pt vs eta, golden, mode",
1173 "ele track inner pt vs outer pt vs eta, showering, mode",
1181 "ele track inner pt vs outer pt vs eta, golden, mean",
1189 "ele track inner pt vs outer pt vs eta, showering, mean",
1197 "ele supercluster energy over matchingObject energy, golden, barrel",
1202 new TH1F(
"h_scl_EoEmatchingObject golden, endcaps",
1203 "ele supercluster energy over matchingObject energy, golden, endcaps",
1208 new TH1F(
"h_scl_EoEmatchingObject Showering, barrel",
1209 "ele supercluster energy over matchingObject energy, showering, barrel",
1214 new TH1F(
"h_scl_EoEmatchingObject Showering, endcaps",
1215 "ele supercluster energy over matchingObject energy, showering, endcaps",
1221 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3", 100, 0.0, 20.);
1224 new TH1F(
"h_ele_hcalDepth1TowerSumEt_dr03",
"hcal depth1 isolation sum, dR=0.3", 100, 0.0, 20.);
1226 new TH1F(
"h_ele_hcalDepth2TowerSumEt_dr03",
"hcal depth2 isolation sum, dR=0.3", 100, 0.0, 20.);
1227 h_ele_tkSumPt_dr04 =
new TH1F(
"h_ele_tkSumPt_dr04",
"trk isolation sum", 100, 0.0, 20.);
1230 new TH1F(
"h_ele_hcalDepth1TowerSumEt_dr04",
"hcal depth1 isolation sum, dR=0.4", 100, 0.0, 20.);
1232 new TH1F(
"h_ele_hcalDepth2TowerSumEt_dr04",
"hcal depth2 isolation sum, dR=0.4", 100, 0.0, 20.);
1235 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode", 100, 0., 1.);
1237 new TProfile(
"h_ele_fbremvsEtamode",
"mean ele brem fraction vs eta, mode",
nbineta2D, etamin,
etamax, 0., 1.);
1239 new TProfile(
"h_ele_fbremvsEtamean",
"mean ele brem fraction vs eta, mean",
nbineta2D, etamin,
etamax, 0., 1.);
1242 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele identification mva", 100, -1., 1.);
1243 h_ele_provenance =
new TH1F(
"h_ele_provenance",
"ele provenance", 5, -2., 3.);
1258 h_ele_chi2->GetXaxis()->SetTitle(
"#Chi^{2}");
1266 h_ele_Et->GetXaxis()->SetTitle(
"E_{T} (GeV)");
1267 h_ele_Et->GetYaxis()->SetTitle(
"Events");
1312 h_ele_PinMnPout->GetXaxis()->SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
1324 h_ele_EoP->GetXaxis()->SetTitle(
"E/P_{vertex}");
1325 h_ele_EoP->GetYaxis()->SetTitle(
"Events");
1328 h_ele_EoPout->GetXaxis()->SetTitle(
"E_{seed}/P_{out}");
1359 h_ele_HoE->GetYaxis()->SetTitle(
"Events");
1362 h_ele_fbrem->GetXaxis()->SetTitle(
"P_{in} - P_{out} / P_{in}");
1372 h_ele_mee_all->GetXaxis()->SetTitle(
"m_{ee} (GeV/c^{2})");
1373 h_ele_mee_all->GetYaxis()->SetTitle(
"Events");
1374 h_ele_mee_os->GetXaxis()->SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
1392 histNum_->GetXaxis()->SetTitle(
"N_{ele}");
1393 histNum_->GetYaxis()->SetTitle(
"Events");
1400 std::cout <<
"efficiency calculation " << std::endl;
1403 h_ele_etaEff->Reset();
1405 h_ele_etaEff->Print();
1406 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
1407 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
1411 h_ele_zEff->Reset();
1413 h_ele_zEff->Print();
1414 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
1415 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
1419 h_ele_absetaEff->Reset();
1421 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
1422 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
1426 h_ele_ptEff->Reset();
1428 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1429 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
1433 h_ele_phiEff->Reset();
1435 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
1436 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
1439 TH1F *h_ele_eta_goldenFrac = (TH1F *)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
1440 h_ele_eta_goldenFrac->Reset();
1442 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
1443 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1444 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
1445 TH1F *h_ele_eta_bbremFrac = (TH1F *)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
1446 h_ele_eta_bbremFrac->Reset();
1448 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
1449 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1450 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
1451 TH1F *h_ele_eta_narrowFrac = (TH1F *)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
1452 h_ele_eta_narrowFrac->Reset();
1454 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
1455 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1456 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
1457 TH1F *h_ele_eta_showerFrac = (TH1F *)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
1458 h_ele_eta_showerFrac->Reset();
1460 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
1461 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
1462 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
1465 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta / 2, 0.0, 2.5);
1467 double xOverX0 = 0.;
1470 h_ele_xOverX0VsEta->SetBinContent(ibin, xOverX0);
1475 p_ele_PoPmatchingObjectVsEta_matched->SetTitle(
"mean ele momentum / matching SC energy vs eta");
1476 p_ele_PoPmatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1477 p_ele_PoPmatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<P/E_{matching SC}>");
1478 p_ele_PoPmatchingObjectVsEta_matched->Write();
1480 p_ele_PoPmatchingObjectVsPhi_matched->SetTitle(
"mean ele momentum / gen momentum vs phi");
1481 p_ele_PoPmatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi (rad)");
1482 p_ele_PoPmatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<P/E_{matching SC}>");
1483 p_ele_PoPmatchingObjectVsPhi_matched->Write();
1485 p_ele_EtaMnEtamatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1486 p_ele_EtaMnEtamatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching SC}>");
1487 p_ele_EtaMnEtamatchingObjectVsEta_matched->Write();
1489 p_ele_EtaMnEtamatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi");
1490 p_ele_EtaMnEtamatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching SC}>");
1491 p_ele_EtaMnEtamatchingObjectVsPhi_matched->Write();
1493 p_ele_PhiMnPhimatchingObjectVsEta_matched->GetXaxis()->SetTitle(
"#eta");
1494 p_ele_PhiMnPhimatchingObjectVsEta_matched->GetYaxis()->SetTitle(
"<#phi_{rec} - #phi_{matching SC}> (rad)");
1495 p_ele_PhiMnPhimatchingObjectVsEta_matched->Write();
1497 p_ele_PhiMnPhimatchingObjectVsPhi_matched->GetXaxis()->SetTitle(
"#phi");
1498 p_ele_PhiMnPhimatchingObjectVsPhi_matched->GetYaxis()->SetTitle(
"<#phi_{rec} - #phi_{matching SC}> (rad)");
1499 p_ele_PhiMnPhimatchingObjectVsPhi_matched->Write();
1501 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
1502 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
1503 p_ele_vertexPtVsEta->Write();
1505 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1506 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
1507 p_ele_vertexPtVsPhi->Write();
1509 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
1510 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
1511 p_ele_EoPVsEta->Write();
1513 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1514 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
1515 p_ele_EoPVsPhi->Write();
1517 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
1518 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
1519 p_ele_EoPoutVsEta->Write();
1521 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1522 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
1523 p_ele_EoPoutVsPhi->Write();
1525 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
1526 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
1527 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
1528 p_ele_EeleOPoutVsEta->Write();
1530 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
1531 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1532 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
1533 p_ele_EeleOPoutVsPhi->Write();
1535 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
1536 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
1537 p_ele_HoEVsEta->Write();
1539 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1540 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
1541 p_ele_HoEVsPhi->Write();
1543 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
1544 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
1545 p_ele_chi2VsEta->Write();
1547 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1548 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
1549 p_ele_chi2VsPhi->Write();
1551 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
1552 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
1553 p_ele_foundHitsVsEta->Write();
1555 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1556 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
1557 p_ele_foundHitsVsPhi->Write();
1559 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
1560 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
1561 p_ele_lostHitsVsEta->Write();
1563 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
1564 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
1565 p_ele_lostHitsVsPhi->Write();
1567 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
1568 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
1569 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
1570 p_ele_vertexTIPVsEta->Write();
1572 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
1573 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
1574 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
1575 p_ele_vertexTIPVsPhi->Write();
1577 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
1578 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1579 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
1580 p_ele_vertexTIPVsPt->Write();
1761 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1762 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1763 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1764 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1765 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1766 p_ele_seed_dphi2VsEta_->Write();
1768 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1769 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1770 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1771 p_ele_seed_dphi2VsPt_->Write();
1772 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1773 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1776 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1777 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1778 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1779 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1780 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1781 p_ele_seed_drz2VsEta_->Write();
1783 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1784 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1785 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1786 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1787 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1788 p_ele_seed_drz2VsPt_->Write();
1814 h_ele_etaEff->Write();
1815 h_ele_zEff->Write();
1816 h_ele_phiEff->Write();
1817 h_ele_absetaEff->Write();
1818 h_ele_ptEff->Write();
1819 h_ele_eta_goldenFrac->Write();
1820 h_ele_eta_bbremFrac->Write();
1821 h_ele_eta_narrowFrac->Write();
1822 h_ele_eta_showerFrac->Write();
1823 h_ele_xOverX0VsEta->Write();
1857 std::cout <<
"analyzing new event " << std::endl;
1864 std::cout <<
"new event passing trigger " << std::endl;
1870 edm::LogInfo(
"") <<
"\n\n =================> Treating event " << iEvent.
id() <<
" Number of electrons "
1871 << gsfElectrons.
product()->size();
1882 histNum_->Fill((*gsfElectrons).size());
1885 for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
1888 if (gsfIter->superCluster()->energy() / cosh(gsfIter->superCluster()->eta()) <
minEt_)
1892 if (gsfIter->pt() <
minPt_)
1895 if (gsfIter->isEB() &&
isEE_)
1897 if (gsfIter->isEE() &&
isEB_)
1943 if (gsfIter->mva_e_pi() <
mvaMin_)
1946 double d = (gsfIter->vertex().x() - bs.
position().x()) * (gsfIter->vertex().x() - bs.
position().x()) +
1947 (gsfIter->vertex().y() - bs.
position().y()) * (gsfIter->vertex().y() - bs.
position().y());
1974 h_ele_Et->Fill(gsfIter->superCluster()->energy() / cosh(gsfIter->superCluster()->eta()));
1991 if (!gsfIter->ecalDrivenSeed() && gsfIter->trackerDrivenSeed())
1992 sclRef = gsfIter->parentSuperCluster();
1994 double R =
std::sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y() + sclRef->z() * sclRef->z());
1995 double Rt =
std::sqrt(sclRef->x() * sclRef->x() + sclRef->y() * sclRef->y());
2003 if (gsfIter->isEB())
2005 if (gsfIter->isEE())
2008 if (gsfIter->isEB())
2010 if (gsfIter->isEE())
2013 if (gsfIter->isEB())
2015 if (gsfIter->isEE())
2018 if (gsfIter->isEB())
2020 if (gsfIter->isEE())
2037 h_ele_chi2->Fill(gsfIter->gsfTrack()->normalizedChi2());
2038 h_ele_chi2VsEta->Fill(gsfIter->eta(), gsfIter->gsfTrack()->normalizedChi2());
2039 h_ele_chi2VsPhi->Fill(gsfIter->phi(), gsfIter->gsfTrack()->normalizedChi2());
2040 h_ele_chi2VsPt->Fill(gsfIter->pt(), gsfIter->gsfTrack()->normalizedChi2());
2044 h_ele_PinMnPout->Fill(gsfIter->gsfTrack()->innerMomentum().R() - gsfIter->gsfTrack()->outerMomentum().R());
2045 h_ele_outerP->Fill(gsfIter->gsfTrack()->outerMomentum().R());
2046 h_ele_outerPt->Fill(gsfIter->gsfTrack()->outerMomentum().Rho());
2049 h_ele_PinMnPout_mode->Fill(gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2051 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2053 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2054 h_ele_PinMnPoutVsPt_mode->Fill(gsfIter->pt(), gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2056 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2059 gsfIter->trackMomentumAtVtx().R() - gsfIter->trackMomentumOut().R());
2079 h_ele_EoP->Fill(gsfIter->eSuperClusterOverP());
2080 h_ele_EoPVsEta->Fill(gsfIter->eta(), gsfIter->eSuperClusterOverP());
2081 h_ele_EoPVsPhi->Fill(gsfIter->phi(), gsfIter->eSuperClusterOverP());
2082 h_ele_EoPVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSuperClusterOverP());
2086 h_ele_EseedOPVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSeedClusterOverP());
2090 h_ele_EoPoutVsE->Fill(gsfIter->caloEnergy(), gsfIter->eSeedClusterOverPout());
2119 h_ele_HoE->Fill(gsfIter->hadronicOverEm());
2120 if (!gsfIter->isEBEtaGap() && !gsfIter->isEBPhiGap() && !gsfIter->isEBEEGap() && !gsfIter->isEERingGap() &&
2121 !gsfIter->isEEDeeGap())
2125 h_ele_HoEVsE->Fill(gsfIter->caloEnergy(), gsfIter->hadronicOverEm());
2128 int eleClass = gsfIter->classification();
2129 if (gsfIter->isEE())
2134 if (gsfIter->classification() == GsfElectron::GOLDEN)
2136 if (gsfIter->classification() == GsfElectron::BIGBREM)
2139 if (gsfIter->classification() == GsfElectron::SHOWERING)
2143 double fbrem_mean = 0.;
2145 fbrem_mean = 1. - gsfIter->gsfTrack()->outerMomentum().R() / gsfIter->gsfTrack()->innerMomentum().R();
2146 double fbrem_mode = gsfIter->fbrem();
2152 if (gsfIter->classification() == GsfElectron::GOLDEN)
2154 if (gsfIter->classification() == GsfElectron::SHOWERING)
2157 if (gsfIter->classification() == GsfElectron::GOLDEN)
2159 gsfIter->gsfTrack()->innerMomentum().R());
2161 if (gsfIter->classification() == GsfElectron::SHOWERING)
2163 gsfIter->gsfTrack()->innerMomentum().R());
2164 if (gsfIter->classification() == GsfElectron::GOLDEN)
2166 if (gsfIter->classification() == GsfElectron::SHOWERING)
2169 if (gsfIter->classification() == GsfElectron::GOLDEN)
2171 gsfIter->gsfTrack()->innerMomentum().Rho());
2173 if (gsfIter->classification() == GsfElectron::SHOWERING)
2175 gsfIter->gsfTrack()->innerMomentum().Rho());
2178 if (gsfIter->ecalDrivenSeed())
2180 if (gsfIter->trackerDrivenSeed())
2182 if (gsfIter->trackerDrivenSeed() || gsfIter->ecalDrivenSeed())
2184 if (gsfIter->trackerDrivenSeed() && !gsfIter->ecalDrivenSeed())
2186 if (!gsfIter->trackerDrivenSeed() && gsfIter->ecalDrivenSeed())
2198 float enrj1 = gsfIter->superCluster()->energy();
2200 for (reco::GsfElectronCollection::const_iterator gsfIter2 = gsfIter + 1; gsfIter2 != gsfElectrons->end();
2203 float mee2 = p12.Dot(p12);
2204 float enrj2 = gsfIter2->superCluster()->energy();
2207 if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed())
2209 if (gsfIter->charge() * gsfIter2->charge() < 0.) {
2211 if (gsfIter->isEB() && gsfIter2->isEB())
2213 if ((gsfIter->isEB() && gsfIter2->isEE()) || (gsfIter->isEE() && gsfIter2->isEB()))
2215 if (gsfIter->isEE() && gsfIter2->isEE())
2217 if ((gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::GOLDEN) ||
2218 (gsfIter->classification()==GsfElectron::GOLDEN && gsfIter2->classification()==GsfElectron::BIGBREM) ||
2220 (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::GOLDEN) ||
2221 (gsfIter->classification()==GsfElectron::BIGBREM && gsfIter2->classification()==GsfElectron::BIGBREM)
2228 }
else if ((gsfIter->classification() == GsfElectron::SHOWERING &&
2229 gsfIter2->classification() == GsfElectron::SHOWERING) ||
2230 (gsfIter->classification() == GsfElectron::SHOWERING && gsfIter2->isGap()) ||
2231 (gsfIter->isGap() && gsfIter2->classification() == GsfElectron::SHOWERING) ||
2232 (gsfIter->isGap() && gsfIter2->isGap())) {
2242 int matchingObjectNum = 0;
2244 for (reco::SuperClusterCollection::const_iterator moIter = recoClusters->begin(); moIter != recoClusters->end();
2247 matchingObjectNum++;
2266 bool okGsfFound =
false;
2267 double gsfOkRatio = 999999.;
2271 for (reco::GsfElectronCollection::const_iterator gsfIter = gsfElectrons->begin(); gsfIter != gsfElectrons->end();
2275 double dphi = gsfIter->
phi() - moIter->phi();
2277 dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
2282 double tmpGsfRatio = gsfIter->p() / moIter->energy();
2284 gsfOkRatio = tmpGsfRatio;
2285 bestGsfElectron = *gsfIter;
2317 if (bestGsfElectron.
isEB())
2319 if (bestGsfElectron.
isEE())
2321 if (bestGsfElectron.
isEB())
2323 if (bestGsfElectron.
isEE())
2327 if (bestGsfElectron.
isEB())
2329 if (bestGsfElectron.
isEE())
2331 if (bestGsfElectron.
isEB())
2333 if (bestGsfElectron.
isEE())
2353 if (triggerResults.
isValid()) {
2359 for (
unsigned int i = 0;
i < triggerNames.
size();
i++) {
2365 for (
unsigned int i = 0;
i !=
n;
i++) {
2371 n = triggerResults->size();
2374 for (
unsigned int i = 0;
i !=
n;
i++) {
2382 std::cout <<
"HLT trigger paths requested: index, name and valididty:" << std::endl;
2383 for (
unsigned int i = 0;
i !=
n;
i++) {
2391 unsigned int fired = 0;
2392 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