39 #include "CLHEP/Units/GlobalPhysicalConstants.h" 52 beamSpot_(conf.getParameter<
edm::InputTag>(
"beamSpot"))
67 etamin=pset.getParameter<
double>(
"Etamin");
68 etamax=pset.getParameter<
double>(
"Etamax");
69 phimin=pset.getParameter<
double>(
"Phimin");
70 phimax=pset.getParameter<
double>(
"Phimax");
71 ptmax=pset.getParameter<
double>(
"Ptmax");
72 pmax=pset.getParameter<
double>(
"Pmax");
73 eopmax=pset.getParameter<
double>(
"Eopmax");
74 eopmaxsht=pset.getParameter<
double>(
"Eopmaxsht");
75 detamin=pset.getParameter<
double>(
"Detamin");
76 detamax=pset.getParameter<
double>(
"Detamax");
77 dphimin=pset.getParameter<
double>(
"Dphimin");
78 dphimax=pset.getParameter<
double>(
"Dphimax");
83 fhitsmax=pset.getParameter<
double>(
"Fhitsmax");
84 lhitsmax=pset.getParameter<
double>(
"Lhitsmax");
85 nbineta=pset.getParameter<
int>(
"Nbineta");
86 nbineta2D=pset.getParameter<
int>(
"Nbineta2D");
87 nbinp=pset.getParameter<
int>(
"Nbinp");
88 nbinpt=pset.getParameter<
int>(
"Nbinpt");
89 nbinp2D=pset.getParameter<
int>(
"Nbinp2D");
90 nbinpt2D=pset.getParameter<
int>(
"Nbinpt2D");
91 nbinpteff=pset.getParameter<
int>(
"Nbinpteff");
92 nbinphi=pset.getParameter<
int>(
"Nbinphi");
93 nbinphi2D=pset.getParameter<
int>(
"Nbinphi2D");
94 nbineop=pset.getParameter<
int>(
"Nbineop");
95 nbineop2D=pset.getParameter<
int>(
"Nbineop2D");
96 nbinfhits=pset.getParameter<
int>(
"Nbinfhits");
97 nbinlhits=pset.getParameter<
int>(
"Nbinlhits");
98 nbinxyz=pset.getParameter<
int>(
"Nbinxyz");
99 nbindeta=pset.getParameter<
int>(
"Nbindeta");
100 nbindphi=pset.getParameter<
int>(
"Nbindphi");
105 nbinmee= pset.getParameter<
int>(
"Nbinmee");
106 meemin=pset.getParameter<
double>(
"Meemin");
107 meemax=pset.getParameter<
double>(
"Meemax");
108 nbinhoe= pset.getParameter<
int>(
"Nbinhoe");
109 hoemin=pset.getParameter<
double>(
"Hoemin");
110 hoemax=pset.getParameter<
double>(
"Hoemax");
131 if ( locJet != std::string::npos ) {
132 std::cout <<
"Matching objects are GenJets " << std::endl;
135 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
139 hlabel=
"h_"+type_+
"Num"; htitle=
"# "+type_+
"s";
143 histNum_=
new TH1F(
"h_recEleNum",
"# rec electrons",20, 0.,20.);
146 hlabel=
"h_matchingObject_eta"; htitle=type_+
" #eta";
148 hlabel=
"h_matchingObject_abseta"; htitle=type_+
" |#eta|";
150 hlabel=
"h_matchingObject_P"; htitle=type_+
" p";
152 hlabel=
"h_matchingObject_Pt"; htitle=type_+
" pt";
154 hlabel=
"h_matchingObject_phi"; htitle=type_+
" phi";
156 hlabel=
"h_matchingObject_z"; htitle=type_+
" z";
168 h_ele_TIP_all =
new TH1F(
"h_ele_TIP_all",
"ele vertex transverse radius, all reco electrons", 100,0.,0.2);
194 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5,-2.,2.);
208 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90,0.,0.15);
213 h_ele_PoPmatchingObject =
new TH1F(
"h_ele_PoPmatchingObject",
"ele momentum / matching jet momentum", 75,0.,1.5);
241 histSclSigIEtaIEta_ =
new TH1F(
"h_scl_sigietaieta",
"ele supercluster sigma ieta ieta",100,0.,0.05);
263 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5,0.,5.);
267 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100,0.,15.);
271 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean" ,
nbinp,0.,200.);
301 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
316 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
455 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50,-0.003,+0.003) ;
458 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50,-0.03,+0.03) ;
461 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10,0.,10.) ;
464 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20,0.0,20.);
484 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3",100,0.0,20.);
494 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode",100,0.,1.);
499 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele mva",100,-1.,1.);
515 h_ele_chi2 -> GetXaxis()-> SetTitle(
"#Chi^{2}");
516 h_ele_chi2 -> GetYaxis()-> SetTitle(
"Events");
519 h_ele_vertexP -> GetXaxis()-> SetTitle(
"p_{vertex} (GeV/c)");
561 h_ele_PinMnPout -> GetXaxis()-> SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
565 h_ele_outerP -> GetXaxis()-> SetTitle(
"P_{out} (GeV/c)");
573 h_ele_EoP -> GetXaxis()-> SetTitle(
"E/P_{vertex}");
574 h_ele_EoP -> GetYaxis()-> SetTitle(
"Events");
575 h_ele_EseedOP -> GetXaxis()-> SetTitle(
"E_{seed}/P_{vertex}");
577 h_ele_EoPout -> GetXaxis()-> SetTitle(
"E_{seed}/P_{out}");
650 h_ele_HoE-> GetXaxis()-> SetTitle(
"H/E") ;
651 h_ele_HoE-> GetYaxis()-> SetTitle(
"Events") ;
658 h_ele_fbrem-> GetXaxis()-> SetTitle(
"P_{in} - P_{out} / P_{in}");
668 h_ele_EoverP_all-> GetXaxis()-> SetTitle(
"E/P_{vertex}");
669 h_ele_EoverP_all-> GetYaxis()-> SetTitle(
"Events");
688 h_ele_mee_os-> GetXaxis()-> SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
694 histNum_-> GetXaxis()-> SetTitle(
"N_{ele}");
695 histNum_-> GetYaxis()-> SetTitle(
"Events");
705 std::cout <<
"efficiency calculation " << std::endl;
708 h_ele_etaEff->Reset();
710 h_ele_etaEff->Print();
711 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
712 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
719 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
720 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
724 h_ele_absetaEff->Reset();
726 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
727 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
731 h_ele_ptEff->Reset();
733 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
734 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
738 h_ele_phiEff->Reset();
740 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
741 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
745 h_ele_etaEff_all->Reset();
747 h_ele_etaEff_all->Print();
748 h_ele_etaEff_all->GetXaxis()->SetTitle(
"#eta");
749 h_ele_etaEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
752 h_ele_ptEff_all->Reset();
754 h_ele_ptEff_all->Print();
755 h_ele_ptEff_all->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
756 h_ele_ptEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching gen jet}");
759 TH1F *h_ele_eta_goldenFrac = (TH1F*)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
760 h_ele_eta_goldenFrac->Reset();
761 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
762 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
764 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
765 TH1F *h_ele_eta_bbremFrac = (TH1F*)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
766 h_ele_eta_bbremFrac->Reset();
768 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
769 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
770 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
771 TH1F *h_ele_eta_narrowFrac = (TH1F*)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
772 h_ele_eta_narrowFrac->Reset();
774 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
775 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
776 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
777 TH1F *h_ele_eta_showerFrac = (TH1F*)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
778 h_ele_eta_showerFrac->Reset();
780 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
781 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
782 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
785 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta/2,0.0,2.5);
789 h_ele_xOverX0VsEta->SetBinContent(ibin,xOverX0);
794 p_ele_PoPmatchingObjectVsEta->SetTitle(
"mean ele momentum / matching SC energy vs eta");
795 p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
796 p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle(
"<P/E_{matching gen jet}>");
797 p_ele_PoPmatchingObjectVsEta->Write();
799 p_ele_PoPmatchingObjectVsPhi->SetTitle(
"mean ele momentum / gen momentum vs phi");
800 p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
801 p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle(
"<P/E_{matching gen jet}>");
802 p_ele_PoPmatchingObjectVsPhi->Write();
804 p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
805 p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching gen jet}>");
806 p_ele_EtaMnEtamatchingObjectVsEta->Write();
808 p_ele_EtaMnEtamatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
809 p_ele_EtaMnEtamatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#eta_{rec} - #eta_{matching gen jet}>");
810 p_ele_EtaMnEtamatchingObjectVsPhi->Write();
812 p_ele_PhiMnPhimatchingObjectVsEta-> GetXaxis()-> SetTitle(
"#eta");
813 p_ele_PhiMnPhimatchingObjectVsEta-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching gen jet}> (rad)");
814 p_ele_PhiMnPhimatchingObjectVsEta->Write();
816 p_ele_PhiMnPhimatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
817 p_ele_PhiMnPhimatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching gen jet}> (rad)");
818 p_ele_PhiMnPhimatchingObjectVsPhi->Write();
820 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
821 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
822 p_ele_vertexPtVsEta->Write();
824 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
825 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
826 p_ele_vertexPtVsPhi->Write();
828 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
829 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
830 p_ele_EoPVsEta->Write();
832 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
833 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
834 p_ele_EoPVsPhi->Write();
836 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
837 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
838 p_ele_EoPoutVsEta->Write();
840 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
841 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
842 p_ele_EoPoutVsPhi->Write();
844 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
845 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
846 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
847 p_ele_EeleOPoutVsEta->Write();
849 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
850 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
851 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
852 p_ele_EeleOPoutVsPhi->Write();
854 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
855 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
856 p_ele_HoEVsEta->Write();
858 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
859 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
860 p_ele_HoEVsPhi->Write();
862 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
863 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
864 p_ele_chi2VsEta->Write();
866 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
867 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
868 p_ele_chi2VsPhi->Write();
870 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
871 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
872 p_ele_foundHitsVsEta->Write();
874 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
875 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
876 p_ele_foundHitsVsPhi->Write();
878 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
879 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
880 p_ele_lostHitsVsEta->Write();
882 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
883 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
884 p_ele_lostHitsVsPhi->Write();
886 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
887 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
888 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
889 p_ele_vertexTIPVsEta->Write();
891 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
892 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
893 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
894 p_ele_vertexTIPVsPhi->Write();
896 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
897 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
898 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
899 p_ele_vertexTIPVsPt->Write();
1136 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1137 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1138 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1139 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1140 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1141 p_ele_seed_dphi2VsEta_->Write();
1143 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1144 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1145 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1146 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1147 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1148 p_ele_seed_dphi2VsPt_->Write();
1151 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1152 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1153 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1154 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1155 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1156 p_ele_seed_drz2VsEta_->Write();
1158 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1159 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1160 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1161 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1162 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1163 p_ele_seed_drz2VsPt_->Write();
1189 h_ele_etaEff->Write();
1190 h_ele_zEff->Write();
1191 h_ele_phiEff->Write();
1192 h_ele_absetaEff->Write();
1193 h_ele_ptEff->Write();
1194 h_ele_etaEff_all->Write();
1195 h_ele_ptEff_all->Write();
1196 h_ele_eta_goldenFrac->Write();
1197 h_ele_eta_bbremFrac->Write();
1198 h_ele_eta_narrowFrac->Write();
1199 h_ele_eta_showerFrac->Write();
1200 h_ele_xOverX0VsEta->Write();
1237 std::cout <<
"analyzing new event " << std::endl;
1242 edm::LogInfo(
"")<<
"\n\n =================> Treating event "<<iEvent.
id()<<
" Number of electrons "<<gsfElectrons.
product()->size();
1251 const BeamSpot bs = *recoBeamSpotHandle;
1253 histNum_->Fill((*gsfElectrons).size());
1256 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1257 gsfIter!=gsfElectrons->end(); gsfIter++){
1269 double d = gsfIter->vertex().x()*gsfIter->vertex().x()
1270 +gsfIter->vertex().y()*gsfIter->vertex().y();
1274 float enrj1=gsfIter->superCluster()->energy();
1276 for (reco::GsfElectronCollection::const_iterator gsfIter2=gsfIter+1;
1277 gsfIter2!=gsfElectrons->end(); gsfIter2++){
1279 float mee2 = p12.Dot(p12);
1281 float enrj2=gsfIter2->superCluster()->energy();
1289 int matchingObjectNum=0;
1291 for (reco::GenJetCollection::const_iterator moIter = genJets->begin();
1292 moIter != genJets->end(); ++moIter) {
1295 matchingObjectNum++;
1312 bool okGsfFound =
false;
1313 double gsfOkRatio = 999999.;
1317 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1318 gsfIter!=gsfElectrons->end(); gsfIter++){
1320 double dphi = gsfIter->
phi()-moIter->phi();
1322 dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
1327 double tmpGsfRatio = gsfIter->p()/moIter->energy();
1329 gsfOkRatio = tmpGsfRatio;
1330 bestGsfElectron=*gsfIter;
1390 double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
1391 double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
1569 if (bestGsfElectron.
isEE()) eleClass+=10;
1579 double fbrem_mean=0.;
1581 fbrem_mean = 1. - bestGsfElectron.
gsfTrack()->outerMomentum().R()/bestGsfElectron.
gsfTrack()->innerMomentum().R();
1582 double fbrem_mode = bestGsfElectron.
fbrem();
TH1F * h_ele_tkSumPt_dr04
void analyze(const edm::Event &e, const edm::EventSetup &c) override
TH2F * h_ele_PinMnPoutVsPhi_mode
TH2F * h_ele_EeleOPoutVsE
T getParameter(std::string const &) const
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
TH2F * h_ele_PhiMnPhimatchingObjectVsPt
TH1F * h_matchingObjectNum
TH1F * h_ele_EeleOPout_eg_endcaps
TH2F * h_ele_PinMnPoutVsE_mode
TH1F * h_ele_dEtaSc_propVtx_barrel
TH2F * h_ele_dPhiClVsPhi_propOut
TH1F * histSclEoEmatchingObjectShowering_endcaps
TH1F * h_ele_matchingObjectEta_matched
TH1F * h_ele_ecalRecHitSumEt_dr04
TH2F * h_ele_PinVsPoutShowering_mean
double eta() const final
momentum pseudorapidity
TH2F * h_ele_lostHitsVsEta
TH2F * h_ele_PtinVsPtoutShowering_mode
TProfile * h_ele_fbremVsEta_mode
virtual SuperClusterRef parentSuperCluster() const
TH1F * h_ele_EoPout_barrel
TH1F * histSclEoEmatchingObjectGolden_endcaps
TH1F * h_ele_dEtaCl_propOut_barrel
float eSuperClusterOverP() const
TH2F * h_ele_outerPtVsPhi_mode
TH2F * h_ele_E2mnE1vsMee_all
TH1F * h_ele_dEtaSc_propVtx_endcaps
TH2F * h_ele_dEtaScVsEta_propVtx
TH1F * h_ele_EseedOP_endcaps
float dr04HcalDepth1TowerSumEt() const
TH2F * h_ele_dPhiEleClVsPt_propOut
TH1F * h_ele_EseedOP_eg_barrel
TH2F * h_ele_vertexTIPVsPt
TH2F * h_ele_dPhiEleClVsPhi_propOut
TH1F * histSclE1x5_endcaps_
TH1F * h_ele_EoP_eg_barrel
TH2F * h_ele_vertexPtVsEta
TH2F * h_ele_dPhiScVsEta_propVtx
TH2F * h_ele_dEtaClVsEta_propOut
TH1F * h_ele_hcalDepth1TowerSumEt_dr04
math::XYZVectorF trackMomentumAtVtx() const
TH1F * h_ele_tkSumPt_dr03
TH1F * h_ele_dPhiCl_propOut_endcaps
TH1F * h_ele_dPhiSc_propVtx
TH1F * histSclE5x5_barrel_
TH2F * h_ele_dEtaClVsPt_propOut
TH2F * h_ele_dEtaClVsPhi_propOut
TH2F * h_ele_EtaMnEtamatchingObjectVsEta
float dr04TkSumPt() const
double pt() const final
transverse momentum
TH2F * h_ele_outerPtVsPt_mode
TH1F * h_ele_EoPout_eg_barrel
TH2F * h_ele_ambiguousTracksVsEta
int charge() const final
electric charge
TH1F * h_ele_dEtaCl_propOut
TH2F * h_ele_vertexPtVsPhi
float dr03HcalDepth2TowerSumEt() const
TH1F * histSclSigIEtaIEta_
TH1F * h_ele_dPhiSc_propVtx_eg_endcaps
TH2F * h_ele_dEtaScVsPt_propVtx
TH1F * h_ele_dPhiCl_propOut
TH1F * h_ele_PinMnPout_mode
TH1F * h_matchingObjectEta
TH2F * h_ele_dPhiClVsPt_propOut
TH1F * h_ele_dPhiEleCl_propOut_eg
TH2F * h_ele_PinVsPoutShowering_mode
TH1F * h_ele_matchingObjectZ_matched
TH1F * histSclE1x5_barrel_
TH1F * h_ele_vertexEta_all
TH2F * h_ele_seed_drz2VsEta_
TH2F * h_ele_seed_dphi2VsEta_
TH2F * h_ele_outerPVsEta_mode
TH1F * h_ele_hcalDepth2TowerSumEt_dr03
TH1F * h_ele_EeleOPout_endcaps
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
float dr04HcalDepth2TowerSumEt() const
float deltaEtaSuperClusterTrackAtVtx() const
TH2F * h_ele_EtaMnEtamatchingObjectVsPt
float hadronicOverEm() const
TH1F * h_matchingObjectPhi
float eSeedClusterOverP() const
TH1F * h_ele_dEtaEleCl_propOut_endcaps
TH1F * h_ele_dPhiEleCl_propOut_endcaps
float dr04EcalRecHitSumEt() const
TH1F * histSclEoEmatchingObjectGolden_barrel
TH1F * h_ele_dPhiEleCl_propOut_eg_endcaps
TH2F * h_ele_dPhiEleClVsEta_propOut
float deltaPhiSeedClusterTrackAtCalo() const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
TH1F * h_ele_EoPout_endcaps
TH2F * h_ele_PinMnPoutVsPt_mode
TH2F * h_ele_PinVsPoutGolden_mean
TH1F * h_ele_PoPmatchingObject
TH2F * h_ele_PhiMnPhimatchingObjectVsEta
TH2F * h_ele_PoPmatchingObjectVsEta
math::XYZVectorF trackMomentumOut() const
TProfile * h_ele_fbremVsEta_mean
TH2F * h_ele_dEtaScVsPhi_propVtx
float deltaPhiSuperClusterTrackAtVtx() const
TH1F * histSclE5x5_endcaps_
TH2F * h_ele_PtinVsPtoutGolden_mode
const Point & vertex() const override
vertex position (overwritten by PF...)
TH1F * h_ele_dEtaEleCl_propOut
TH1F * h_ele_dPhiEleCl_propOut_barrel
TH1F * histSclEoEmatchingObject_endcaps
float dr03TkSumPt() const
TH1F * h_ele_dPhiCl_propOut_all
Abs< T >::type abs(const T &t)
TH1F * h_ele_hcalDepth2TowerSumEt_dr04
TH2F * h_ele_seed_drz2VsPt_
float dr03HcalDepth1TowerSumEt() const
TH1F * h_ele_dPhiCl_propOut_eg_barrel
TH2F * h_ele_PoPmatchingObjectVsPhi
float eEleClusterOverPout() const
TH2F * h_ele_PtinVsPtoutGolden_mean
TH1F * h_ele_dPhiSc_propVtx_endcaps
float eSeedClusterOverPout() const
TH1F * h_ele_EoP_eg_endcaps
TH1F * h_ele_EoPout_eg_endcaps
TH1F * h_ele_PhiMnPhimatchingObject2
TH1F * h_ele_EeleOPout_eg_barrel
TH2F * h_ele_EeleOPoutVsEta
TH2F * h_ele_foundHitsVsPhi
TH2F * h_ele_PoPmatchingObjectVsPt
float scSigmaIEtaIEta() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
TH1F * h_ele_dEtaCl_propOut_eg_barrel
TH1F * h_ele_dEtaEleCl_propOut_eg_barrel
float deltaPhiEleClusterTrackAtCalo() const
TH1F * histSclEoEmatchingObject_barrel
TH1F * h_ele_EseedOP_eg_endcaps
TH1F * h_ele_dPhiCl_propOut_eg
TH1F * h_ele_PoPmatchingObject_barrel
TH2F * h_ele_dEtaEleClVsPhi_propOut
TH1F * h_ele_matchingObjectPhi_matched
TH1F * h_matchingObjectPt
TH2F * h_ele_dPhiScVsPt_propVtx
TH1F * h_ele_HoE_eg_endcaps
TH1F * histSclEoEmatchingObjectShowering_barrel
TH1F * h_ele_dPhiCl_propOut_eg_endcaps
TH1F * h_ele_dEtaSc_propVtx_eg_endcaps
TH2F * h_ele_vertexTIPVsPhi
double p() const final
magnitude of momentum vector
TH2F * h_ele_EseedOPVsPhi
TH1F * h_ele_dEtaEleCl_propOut_eg_endcaps
TH1F * h_ele_EeleOPout_eg
TH1F * h_ele_dEtaEleCl_propOut_eg
TH1F * h_ele_dEtaEleCl_propOut_barrel
TH2F * h_ele_foundHitsVsPt
TH2F * h_ele_seed_dphi2VsPt_
TH1F * h_ele_matchingObjectAbsEta_matched
T const * product() const
TH2F * h_ele_PtinVsPtoutShowering_mean
TH1F * h_ele_dEtaSc_propVtx_all
float deltaEtaEleClusterTrackAtCalo() const
Classification classification() const
TH1F * h_ele_EeleOPout_all
TH2F * h_ele_dPhiScVsPhi_propVtx
TH1F * h_ele_dPhiSc_propVtx_all
TH2F * h_ele_lostHitsVsPhi
TH2F * h_ele_outerPtVsEta_mode
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
double py() const final
y coordinate of momentum vector
TH2F * h_ele_E2mnE1vsMee_egeg_all
TH2F * h_ele_foundHitsVsEta
TH1F * h_ele_matchingObjectPt_matched
TH1F * histSclSigIEtaIEta_barrel_
TH1F * histSclE2x5max_endcaps_
TH1F * h_ele_dPhiSc_propVtx_barrel
float dr03EcalRecHitSumEt() const
TH1F * histSclSigIEtaIEta_endcaps_
TH1F * h_ele_EeleOPout_barrel
TH1F * h_ele_HoE_fiducial
TH1F * h_ele_dPhiEleCl_propOut
TH1F * h_ele_EtaMnEtamatchingObject
TH1F * h_ele_EseedOP_barrel
float deltaEtaSeedClusterTrackAtCalo() const
TH2F * h_ele_EtaMnEtamatchingObjectVsPhi
TH1F * h_ele_dEtaSc_propVtx_eg_barrel
TH1F * h_ele_vertexPt_all
TH2F * h_ele_EseedOPVsEta
TH2F * h_ele_PhiMnPhimatchingObjectVsPhi
SuperClusterRef superCluster() const override
reference to a SuperCluster
bool trackerDrivenSeed() const
TH1F * h_ele_dPhiEleCl_propOut_eg_barrel
TH1F * h_ele_dEtaCl_propOut_eg
TH1F * h_ele_dEtaCl_propOut_endcaps
edm::InputTag electronCollection_
const Point & position() const
position
TH2F * h_ele_ambiguousTracksVsPt
TH2F * h_ele_vertexTIPVsEta
edm::InputTag matchingObjectCollection_
TH1F * histSclE2x5max_barrel_
TH1F * h_ele_ambiguousTracks
TH2F * h_ele_dPhiClVsEta_propOut
TH1F * h_matchingObjectAbsEta
TH1F * h_ele_dEtaCl_propOut_all
TH1F * h_ele_hcalDepth1TowerSumEt_dr03
TH2F * h_ele_dEtaEleClVsPt_propOut
TH1F * h_ele_dEtaSc_propVtx
TH2F * h_ele_vertexEtaVsPhi
TH2F * h_ele_lostHitsVsPt
double phi() const final
momentum azimuthal angle
TH2F * h_ele_PinMnPoutVsChi2_mode
TH1F * h_ele_PoPmatchingObject_endcaps
TH2F * h_ele_EeleOPoutVsPhi
TH2F * h_ele_PinMnPoutVsEta_mode
TH2F * h_ele_ambiguousTracksVsPhi
TH1F * h_ele_seed_subdet2_
Power< A, B >::type pow(const A &a, const B &b)
TH1F * h_ele_HoE_eg_barrel
~GsfElectronMCFakeAnalyzer() override
GsfElectronMCFakeAnalyzer(const edm::ParameterSet &conf)
TH1F * h_ele_dPhiSc_propVtx_eg_barrel
TH1F * h_ele_dPhiCl_propOut_barrel
TH1F * h_ele_PhiMnPhimatchingObject
TH1F * h_ele_dEtaCl_propOut_eg_endcaps
TH1F * h_ele_dPhiSc_propVtx_eg
TH1F * h_ele_dEtaSc_propVtx_eg
bool ecalDrivenSeed() const
TH2F * h_ele_PinVsPoutGolden_mode
TH2F * h_ele_dEtaEleClVsEta_propOut
TH1F * h_ele_outerPt_mode
TH1F * h_ele_ecalRecHitSumEt_dr03