40 #include "CLHEP/Units/GlobalPhysicalConstants.h"
53 beamSpot_(conf.getParameter<edm::InputTag>(
"beamSpot"))
68 etamin=pset.getParameter<
double>(
"Etamin");
69 etamax=pset.getParameter<
double>(
"Etamax");
70 phimin=pset.getParameter<
double>(
"Phimin");
71 phimax=pset.getParameter<
double>(
"Phimax");
72 ptmax=pset.getParameter<
double>(
"Ptmax");
73 pmax=pset.getParameter<
double>(
"Pmax");
74 eopmax=pset.getParameter<
double>(
"Eopmax");
75 eopmaxsht=pset.getParameter<
double>(
"Eopmaxsht");
76 detamin=pset.getParameter<
double>(
"Detamin");
77 detamax=pset.getParameter<
double>(
"Detamax");
78 dphimin=pset.getParameter<
double>(
"Dphimin");
79 dphimax=pset.getParameter<
double>(
"Dphimax");
84 fhitsmax=pset.getParameter<
double>(
"Fhitsmax");
85 lhitsmax=pset.getParameter<
double>(
"Lhitsmax");
86 nbineta=pset.getParameter<
int>(
"Nbineta");
87 nbineta2D=pset.getParameter<
int>(
"Nbineta2D");
88 nbinp=pset.getParameter<
int>(
"Nbinp");
89 nbinpt=pset.getParameter<
int>(
"Nbinpt");
90 nbinp2D=pset.getParameter<
int>(
"Nbinp2D");
91 nbinpt2D=pset.getParameter<
int>(
"Nbinpt2D");
92 nbinpteff=pset.getParameter<
int>(
"Nbinpteff");
93 nbinphi=pset.getParameter<
int>(
"Nbinphi");
94 nbinphi2D=pset.getParameter<
int>(
"Nbinphi2D");
95 nbineop=pset.getParameter<
int>(
"Nbineop");
96 nbineop2D=pset.getParameter<
int>(
"Nbineop2D");
97 nbinfhits=pset.getParameter<
int>(
"Nbinfhits");
98 nbinlhits=pset.getParameter<
int>(
"Nbinlhits");
99 nbinxyz=pset.getParameter<
int>(
"Nbinxyz");
100 nbindeta=pset.getParameter<
int>(
"Nbindeta");
101 nbindphi=pset.getParameter<
int>(
"Nbindphi");
106 nbinmee= pset.getParameter<
int>(
"Nbinmee");
107 meemin=pset.getParameter<
double>(
"Meemin");
108 meemax=pset.getParameter<
double>(
"Meemax");
109 nbinhoe= pset.getParameter<
int>(
"Nbinhoe");
110 hoemin=pset.getParameter<
double>(
"Hoemin");
111 hoemax=pset.getParameter<
double>(
"Hoemax");
132 if ( locJet != std::string::npos ) {
133 std::cout <<
"Matching objects are GenJets " << std::endl;
136 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
140 hlabel=
"h_"+type_+
"Num"; htitle=
"# "+type_+
"s";
144 histNum_=
new TH1F(
"h_recEleNum",
"# rec electrons",20, 0.,20.);
147 hlabel=
"h_matchingObject_eta"; htitle=type_+
" #eta";
149 hlabel=
"h_matchingObject_abseta"; htitle=type_+
" |#eta|";
151 hlabel=
"h_matchingObject_P"; htitle=type_+
" p";
153 hlabel=
"h_matchingObject_Pt"; htitle=type_+
" pt";
155 hlabel=
"h_matchingObject_phi"; htitle=type_+
" phi";
157 hlabel=
"h_matchingObject_z"; htitle=type_+
" z";
169 h_ele_TIP_all =
new TH1F(
"h_ele_TIP_all",
"ele vertex transverse radius, all reco electrons", 100,0.,0.2);
195 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5,-2.,2.);
209 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90,0.,0.15);
214 h_ele_PoPmatchingObject =
new TH1F(
"h_ele_PoPmatchingObject",
"ele momentum / matching jet momentum", 75,0.,1.5);
242 histSclSigIEtaIEta_ =
new TH1F(
"h_scl_sigietaieta",
"ele supercluster sigma ieta ieta",100,0.,0.05);
264 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5,0.,5.);
268 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100,0.,15.);
272 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean" ,
nbinp,0.,200.);
302 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
317 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
456 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50,-0.003,+0.003) ;
459 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50,-0.03,+0.03) ;
462 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10,0.,10.) ;
465 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20,0.0,20.);
485 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3",100,0.0,20.);
495 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode",100,0.,1.);
500 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele mva",100,-1.,1.);
516 h_ele_chi2 -> GetXaxis()-> SetTitle(
"#Chi^{2}");
517 h_ele_chi2 -> GetYaxis()-> SetTitle(
"Events");
520 h_ele_vertexP -> GetXaxis()-> SetTitle(
"p_{vertex} (GeV/c)");
562 h_ele_PinMnPout -> GetXaxis()-> SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
566 h_ele_outerP -> GetXaxis()-> SetTitle(
"P_{out} (GeV/c)");
574 h_ele_EoP -> GetXaxis()-> SetTitle(
"E/P_{vertex}");
575 h_ele_EoP -> GetYaxis()-> SetTitle(
"Events");
576 h_ele_EseedOP -> GetXaxis()-> SetTitle(
"E_{seed}/P_{vertex}");
578 h_ele_EoPout -> GetXaxis()-> SetTitle(
"E_{seed}/P_{out}");
651 h_ele_HoE-> GetXaxis()-> SetTitle(
"H/E") ;
652 h_ele_HoE-> GetYaxis()-> SetTitle(
"Events") ;
659 h_ele_fbrem-> GetXaxis()-> SetTitle(
"P_{in} - P_{out} / P_{in}");
669 h_ele_EoverP_all-> GetXaxis()-> SetTitle(
"E/P_{vertex}");
670 h_ele_EoverP_all-> GetYaxis()-> SetTitle(
"Events");
689 h_ele_mee_os-> GetXaxis()-> SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
695 histNum_-> GetXaxis()-> SetTitle(
"N_{ele}");
696 histNum_-> GetYaxis()-> SetTitle(
"Events");
706 std::cout <<
"efficiency calculation " << std::endl;
709 h_ele_etaEff->Reset();
711 h_ele_etaEff->Print();
712 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
713 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
720 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
721 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
725 h_ele_absetaEff->Reset();
727 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
728 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
732 h_ele_ptEff->Reset();
734 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
735 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
739 h_ele_phiEff->Reset();
741 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
742 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
746 h_ele_etaEff_all->Reset();
748 h_ele_etaEff_all->Print();
749 h_ele_etaEff_all->GetXaxis()->SetTitle(
"#eta");
750 h_ele_etaEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
753 h_ele_ptEff_all->Reset();
755 h_ele_ptEff_all->Print();
756 h_ele_ptEff_all->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
757 h_ele_ptEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching gen jet}");
760 TH1F *h_ele_eta_goldenFrac = (TH1F*)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
761 h_ele_eta_goldenFrac->Reset();
762 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
763 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
765 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
766 TH1F *h_ele_eta_bbremFrac = (TH1F*)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
767 h_ele_eta_bbremFrac->Reset();
769 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
770 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
771 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
772 TH1F *h_ele_eta_narrowFrac = (TH1F*)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
773 h_ele_eta_narrowFrac->Reset();
775 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
776 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
777 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
778 TH1F *h_ele_eta_showerFrac = (TH1F*)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
779 h_ele_eta_showerFrac->Reset();
781 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
782 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
783 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
786 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta/2,0.0,2.5);
790 h_ele_xOverX0VsEta->SetBinContent(ibin,xOverX0);
795 p_ele_PoPmatchingObjectVsEta->SetTitle(
"mean ele momentum / matching SC energy vs eta");
796 p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
797 p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle(
"<P/E_{matching gen jet}>");
798 p_ele_PoPmatchingObjectVsEta->Write();
800 p_ele_PoPmatchingObjectVsPhi->SetTitle(
"mean ele momentum / gen momentum vs phi");
801 p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
802 p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle(
"<P/E_{matching gen jet}>");
803 p_ele_PoPmatchingObjectVsPhi->Write();
805 p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
806 p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching gen jet}>");
807 p_ele_EtaMnEtamatchingObjectVsEta->Write();
809 p_ele_EtaMnEtamatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
810 p_ele_EtaMnEtamatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#eta_{rec} - #eta_{matching gen jet}>");
811 p_ele_EtaMnEtamatchingObjectVsPhi->Write();
813 p_ele_PhiMnPhimatchingObjectVsEta-> GetXaxis()-> SetTitle(
"#eta");
814 p_ele_PhiMnPhimatchingObjectVsEta-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching gen jet}> (rad)");
815 p_ele_PhiMnPhimatchingObjectVsEta->Write();
817 p_ele_PhiMnPhimatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
818 p_ele_PhiMnPhimatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching gen jet}> (rad)");
819 p_ele_PhiMnPhimatchingObjectVsPhi->Write();
821 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
822 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
823 p_ele_vertexPtVsEta->Write();
825 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
826 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
827 p_ele_vertexPtVsPhi->Write();
829 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
830 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
831 p_ele_EoPVsEta->Write();
833 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
834 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
835 p_ele_EoPVsPhi->Write();
837 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
838 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
839 p_ele_EoPoutVsEta->Write();
841 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
842 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
843 p_ele_EoPoutVsPhi->Write();
845 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
846 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
847 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
848 p_ele_EeleOPoutVsEta->Write();
850 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
851 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
852 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
853 p_ele_EeleOPoutVsPhi->Write();
855 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
856 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
857 p_ele_HoEVsEta->Write();
859 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
860 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
861 p_ele_HoEVsPhi->Write();
863 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
864 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
865 p_ele_chi2VsEta->Write();
867 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
868 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
869 p_ele_chi2VsPhi->Write();
871 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
872 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
873 p_ele_foundHitsVsEta->Write();
875 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
876 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
877 p_ele_foundHitsVsPhi->Write();
879 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
880 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
881 p_ele_lostHitsVsEta->Write();
883 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
884 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
885 p_ele_lostHitsVsPhi->Write();
887 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
888 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
889 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
890 p_ele_vertexTIPVsEta->Write();
892 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
893 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
894 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
895 p_ele_vertexTIPVsPhi->Write();
897 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
898 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
899 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
900 p_ele_vertexTIPVsPt->Write();
1137 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1138 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1139 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1140 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1141 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1142 p_ele_seed_dphi2VsEta_->Write();
1144 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1145 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1146 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1147 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1148 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1149 p_ele_seed_dphi2VsPt_->Write();
1152 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1153 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1154 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1155 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1156 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1157 p_ele_seed_drz2VsEta_->Write();
1159 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1160 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1161 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1162 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1163 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1164 p_ele_seed_drz2VsPt_->Write();
1190 h_ele_etaEff->Write();
1191 h_ele_zEff->Write();
1192 h_ele_phiEff->Write();
1193 h_ele_absetaEff->Write();
1194 h_ele_ptEff->Write();
1195 h_ele_etaEff_all->Write();
1196 h_ele_ptEff_all->Write();
1197 h_ele_eta_goldenFrac->Write();
1198 h_ele_eta_bbremFrac->Write();
1199 h_ele_eta_narrowFrac->Write();
1200 h_ele_eta_showerFrac->Write();
1201 h_ele_xOverX0VsEta->Write();
1238 std::cout <<
"analyzing new event " << std::endl;
1243 edm::LogInfo(
"")<<
"\n\n =================> Treating event "<<iEvent.
id()<<
" Number of electrons "<<gsfElectrons.
product()->size();
1252 const BeamSpot bs = *recoBeamSpotHandle;
1254 histNum_->Fill((*gsfElectrons).size());
1257 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1258 gsfIter!=gsfElectrons->end(); gsfIter++){
1270 double d = gsfIter->vertex().x()*gsfIter->vertex().x()
1271 +gsfIter->vertex().y()*gsfIter->vertex().y();
1275 float enrj1=gsfIter->superCluster()->energy();
1277 for (reco::GsfElectronCollection::const_iterator gsfIter2=gsfIter+1;
1278 gsfIter2!=gsfElectrons->end(); gsfIter2++){
1280 float mee2 = p12.Dot(p12);
1282 float enrj2=gsfIter2->superCluster()->energy();
1290 int matchingObjectNum=0;
1292 for (reco::GenJetCollection::const_iterator moIter = genJets->begin();
1293 moIter != genJets->end(); ++moIter) {
1296 matchingObjectNum++;
1313 bool okGsfFound =
false;
1314 double gsfOkRatio = 999999.;
1318 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1319 gsfIter!=gsfElectrons->end(); gsfIter++){
1321 double dphi = gsfIter->
phi()-moIter->phi();
1323 dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
1328 double tmpGsfRatio = gsfIter->p()/moIter->energy();
1330 gsfOkRatio = tmpGsfRatio;
1331 bestGsfElectron=*gsfIter;
1391 double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
1392 double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
1570 if (bestGsfElectron.
isEE()) eleClass+=10;
1580 double fbrem_mean=0.;
1582 fbrem_mean = 1. - bestGsfElectron.
gsfTrack()->outerMomentum().R()/bestGsfElectron.
gsfTrack()->innerMomentum().R();
1583 double fbrem_mode = bestGsfElectron.
fbrem();
TH1F * h_ele_tkSumPt_dr04
TH2F * h_ele_PinMnPoutVsPhi_mode
TH2F * h_ele_EeleOPoutVsE
T getParameter(std::string const &) const
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
TH2F * h_ele_lostHitsVsEta
TH2F * h_ele_PtinVsPtoutShowering_mode
TProfile * h_ele_fbremVsEta_mode
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
virtual double p() const GCC11_FINAL
magnitude of momentum vector
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
virtual const Point & vertex() const
vertex position (overwritten by PF...)
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
TH2F * h_ele_outerPtVsPt_mode
TH1F * h_ele_EoPout_eg_barrel
TH2F * h_ele_ambiguousTracksVsEta
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
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
TH1F * h_matchingObjectEta
TH2F * h_ele_dPhiClVsPt_propOut
TH1F * h_ele_dPhiEleCl_propOut_eg
TH2F * h_ele_PinVsPoutShowering_mode
TH1F * h_ele_matchingObjectZ_matched
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
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
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
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
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
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
TH1F * h_ele_dEtaEleCl_propOut
TH1F * h_ele_dPhiEleCl_propOut_barrel
TH1F * histSclEoEmatchingObject_endcaps
float dr03TkSumPt() const
TH1F * h_ele_dPhiCl_propOut_all
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
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
TH1F * h_ele_matchingObjectPhi_matched
TH1F * h_matchingObjectPt
double deltaR(double eta1, double eta2, double phi1, double phi2)
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
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
TH2F * h_ele_PtinVsPtoutShowering_mean
TH1F * h_ele_dEtaSc_propVtx_all
float deltaEtaEleClusterTrackAtCalo() const
virtual int charge() const GCC11_FINAL
electric charge
Classification classification() const
TH1F * h_ele_EeleOPout_all
TH2F * h_ele_dPhiScVsPhi_propVtx
TH1F * h_ele_dPhiSc_propVtx_all
REF castTo() const
cast to a concrete type
TH2F * h_ele_lostHitsVsPhi
TH2F * h_ele_outerPtVsEta_mode
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
TH2F * h_ele_E2mnE1vsMee_egeg_all
T const * product() const
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
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
virtual float pt() const GCC11_FINAL
transverse momentum
TH2F * h_ele_dEtaEleClVsPt_propOut
TH1F * h_ele_dEtaSc_propVtx
virtual ~GsfElectronMCFakeAnalyzer()
TH2F * h_ele_vertexEtaVsPhi
TH2F * h_ele_lostHitsVsPt
TH2F * h_ele_PinMnPoutVsChi2_mode
TH1F * h_ele_PoPmatchingObject_endcaps
TH2F * h_ele_EeleOPoutVsPhi
SuperClusterRef pflowSuperCluster() const
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(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
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
bool ecalDrivenSeed() const
TH2F * h_ele_PinVsPoutGolden_mode
TH2F * h_ele_dEtaEleClVsEta_propOut
TH1F * h_ele_outerPt_mode
TH1F * h_ele_ecalRecHitSumEt_dr03