39 #include "CLHEP/Units/GlobalPhysicalConstants.h"
53 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 CaloJets " << std::endl;
135 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
139 hlabel=
"h_"+type_+
"Num"; htitle=
"# "+type_+
"s";
144 histNum_=
new TH1F(
"h_recEleNum",
"# rec electrons",20, 0.,20.);
147 hlabel=
"h_"+type_+
"_eta"; htitle=type_+
" #eta";
149 hlabel=
"h_"+type_+
"_abseta"; htitle=type_+
" |#eta|";
151 hlabel=
"h_"+type_+
"_P"; htitle=type_+
" p";
153 hlabel=
"h_"+type_+
"_Pt"; htitle=type_+
" pt";
155 hlabel=
"h_"+type_+
"_phi"; htitle=type_+
" phi";
157 hlabel=
"h_"+type_+
"_z"; htitle=type_+
" z";
174 h_ele_TIP_all =
new TH1F(
"h_ele_TIP_all",
"ele vertex transverse radius, all reco electrons", 100,0.,0.2);
183 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5,-2.,2.);
207 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90,0.,0.15);
211 h_ele_PoPmatchingObject =
new TH1F(
"h_ele_PoPmatchingObject",
"ele momentum / matching jet momentum", 75,0.,1.5);
238 histSclSigIEtaIEta_ =
new TH1F(
"h_scl_sigietaieta",
"ele supercluster sigma ieta ieta",100,0.,0.05);
260 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5,0.,5.);
264 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100,0.,15.);
268 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean" ,
nbinp,0.,200.);
299 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
314 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
453 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50,-0.003,+0.003) ;
456 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50,-0.03,+0.03) ;
459 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10,0.,10.) ;
462 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20,0.0,20.);
482 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3",100,0.0,20.);
492 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode",100,0.,1.);
497 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele mva",100,-1.,1.);
513 h_ele_chi2 -> GetXaxis()-> SetTitle(
"#Chi^{2}");
514 h_ele_chi2 -> GetYaxis()-> SetTitle(
"Events");
517 h_ele_vertexP -> GetXaxis()-> SetTitle(
"p_{vertex} (GeV/c)");
559 h_ele_PinMnPout -> GetXaxis()-> SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
563 h_ele_outerP -> GetXaxis()-> SetTitle(
"P_{out} (GeV/c)");
571 h_ele_EoP -> GetXaxis()-> SetTitle(
"E/P_{vertex}");
572 h_ele_EoP -> GetYaxis()-> SetTitle(
"Events");
573 h_ele_EseedOP -> GetXaxis()-> SetTitle(
"E_{seed}/P_{vertex}");
575 h_ele_EoPout -> GetXaxis()-> SetTitle(
"E_{seed}/P_{out}");
648 h_ele_HoE-> GetXaxis()-> SetTitle(
"H/E") ;
649 h_ele_HoE-> GetYaxis()-> SetTitle(
"Events") ;
656 h_ele_fbrem-> GetXaxis()-> SetTitle(
"P_{in} - P_{out} / P_{in}");
666 h_ele_EoverP_all-> GetXaxis()-> SetTitle(
"E/P_{vertex}");
667 h_ele_EoverP_all-> GetYaxis()-> SetTitle(
"Events");
686 h_ele_mee_os-> GetXaxis()-> SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
692 histNum_-> GetXaxis()-> SetTitle(
"N_{ele}");
693 histNum_-> GetYaxis()-> SetTitle(
"Events");
703 std::cout <<
"efficiency calculation " << std::endl;
706 h_ele_etaEff->Reset();
708 h_ele_etaEff->Print();
709 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
710 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
717 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
718 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
722 h_ele_absetaEff->Reset();
724 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
725 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
729 h_ele_ptEff->Reset();
731 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
732 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
736 h_ele_phiEff->Reset();
738 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
739 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
743 h_ele_etaEff_all->Reset();
745 h_ele_etaEff_all->Print();
746 h_ele_etaEff_all->GetXaxis()->SetTitle(
"#eta");
747 h_ele_etaEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
749 h_ele_ptEff_all->Reset();
751 h_ele_ptEff_all->Print();
752 h_ele_ptEff_all->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
753 h_ele_ptEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
756 TH1F *h_ele_eta_goldenFrac = (TH1F*)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
757 h_ele_eta_goldenFrac->Reset();
758 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
759 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
761 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
762 TH1F *h_ele_eta_bbremFrac = (TH1F*)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
763 h_ele_eta_bbremFrac->Reset();
765 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
766 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
767 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
768 TH1F *h_ele_eta_narrowFrac = (TH1F*)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
769 h_ele_eta_narrowFrac->Reset();
771 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
772 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
773 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
774 TH1F *h_ele_eta_showerFrac = (TH1F*)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
775 h_ele_eta_showerFrac->Reset();
777 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
778 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
779 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
782 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta/2,0.0,2.5);
786 h_ele_xOverX0VsEta->SetBinContent(ibin,xOverX0);
791 p_ele_PoPmatchingObjectVsEta->SetTitle(
"mean ele momentum / matching SC energy vs eta");
792 p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
793 p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle(
"<P/E_{matching jet}>");
794 p_ele_PoPmatchingObjectVsEta->Write();
796 p_ele_PoPmatchingObjectVsPhi->SetTitle(
"mean ele momentum / gen momentum vs phi");
797 p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
798 p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle(
"<P/E_{matching jet}>");
799 p_ele_PoPmatchingObjectVsPhi->Write();
801 p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
802 p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching jet}>");
803 p_ele_EtaMnEtamatchingObjectVsEta->Write();
805 p_ele_EtaMnEtamatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
806 p_ele_EtaMnEtamatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#eta_{rec} - #eta_{matching jet}>");
807 p_ele_EtaMnEtamatchingObjectVsPhi->Write();
809 p_ele_PhiMnPhimatchingObjectVsEta-> GetXaxis()-> SetTitle(
"#eta");
810 p_ele_PhiMnPhimatchingObjectVsEta-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching jet}> (rad)");
811 p_ele_PhiMnPhimatchingObjectVsEta->Write();
813 p_ele_PhiMnPhimatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
814 p_ele_PhiMnPhimatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching jet}> (rad)");
815 p_ele_PhiMnPhimatchingObjectVsPhi->Write();
817 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
818 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
819 p_ele_vertexPtVsEta->Write();
821 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
822 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
823 p_ele_vertexPtVsPhi->Write();
825 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
826 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
827 p_ele_EoPVsEta->Write();
829 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
830 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
831 p_ele_EoPVsPhi->Write();
833 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
834 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
835 p_ele_EoPoutVsEta->Write();
837 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
838 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
839 p_ele_EoPoutVsPhi->Write();
841 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
842 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
843 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
844 p_ele_EeleOPoutVsEta->Write();
846 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
847 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
848 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
849 p_ele_EeleOPoutVsPhi->Write();
851 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
852 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
853 p_ele_HoEVsEta->Write();
855 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
856 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
857 p_ele_HoEVsPhi->Write();
859 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
860 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
861 p_ele_chi2VsEta->Write();
863 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
864 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
865 p_ele_chi2VsPhi->Write();
867 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
868 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
869 p_ele_foundHitsVsEta->Write();
871 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
872 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
873 p_ele_foundHitsVsPhi->Write();
875 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
876 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
877 p_ele_lostHitsVsEta->Write();
879 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
880 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
881 p_ele_lostHitsVsPhi->Write();
883 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
884 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
885 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
886 p_ele_vertexTIPVsEta->Write();
888 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
889 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
890 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
891 p_ele_vertexTIPVsPhi->Write();
893 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
894 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
895 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
896 p_ele_vertexTIPVsPt->Write();
1133 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1134 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1135 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1136 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1137 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1138 p_ele_seed_dphi2VsEta_->Write();
1140 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1141 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1142 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1143 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1144 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1145 p_ele_seed_dphi2VsPt_->Write();
1148 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1149 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1150 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1151 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1152 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1153 p_ele_seed_drz2VsEta_->Write();
1155 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1156 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1157 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1158 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1159 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1160 p_ele_seed_drz2VsPt_->Write();
1186 h_ele_etaEff->Write();
1187 h_ele_zEff->Write();
1188 h_ele_phiEff->Write();
1189 h_ele_absetaEff->Write();
1190 h_ele_ptEff->Write();
1191 h_ele_etaEff_all->Write();
1192 h_ele_ptEff_all->Write();
1193 h_ele_eta_goldenFrac->Write();
1194 h_ele_eta_bbremFrac->Write();
1195 h_ele_eta_narrowFrac->Write();
1196 h_ele_eta_showerFrac->Write();
1197 h_ele_xOverX0VsEta->Write();
1234 std::cout <<
"analyzing new event " << std::endl;
1239 edm::LogInfo(
"")<<
"\n\n =================> Treating event "<<iEvent.
id()<<
" Number of electrons "<<gsfElectrons.
product()->size();
1248 const BeamSpot bs = *recoBeamSpotHandle;
1250 histNum_->Fill((*gsfElectrons).size());
1253 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1254 gsfIter!=gsfElectrons->end(); gsfIter++){
1266 double d = gsfIter->vertex().x()*gsfIter->vertex().x()
1267 +gsfIter->vertex().y()*gsfIter->vertex().y();
1271 float enrj1=gsfIter->superCluster()->energy();
1273 for (reco::GsfElectronCollection::const_iterator gsfIter2=gsfIter+1;
1274 gsfIter2!=gsfElectrons->end(); gsfIter2++){
1276 float mee2 = p12.Dot(p12);
1278 float enrj2=gsfIter2->superCluster()->energy();
1286 int matchingObjectNum=0;
1288 for ( reco::CaloJetCollection::const_iterator moIter=recoCaloJets->begin();
1289 moIter!=recoCaloJets->end(); moIter++ ) {
1292 matchingObjectNum++;
1309 bool okGsfFound =
false;
1310 double gsfOkRatio = 999999.;
1314 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1315 gsfIter!=gsfElectrons->end(); gsfIter++){
1317 double dphi = gsfIter->
phi()-moIter->phi();
1319 dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
1324 double tmpGsfRatio = gsfIter->p()/moIter->energy();
1326 gsfOkRatio = tmpGsfRatio;
1327 bestGsfElectron=*gsfIter;
1387 double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
1388 double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
1566 if (bestGsfElectron.
isEE()) eleClass+=10;
1576 double fbrem_mean=0.;
1578 fbrem_mean = 1. - bestGsfElectron.
gsfTrack()->outerMomentum().R()/bestGsfElectron.
gsfTrack()->innerMomentum().R();
1579 double fbrem_mode = bestGsfElectron.
fbrem();
edm::InputTag electronCollection_
TH1F * histSclEoEmatchingObject_endcaps
TH2F * h_ele_dPhiScVsPt_propVtx
TH2F * h_ele_PtinVsPtoutShowering_mode
T getParameter(std::string const &) const
TH1F * histSclSigIEtaIEta_endcaps_
TH2F * h_ele_vertexTIPVsPt
TH2F * h_ele_PhiMnPhimatchingObjectVsPhi
TH2F * h_ele_dEtaEleClVsEta_propOut
TH1F * h_ele_PinMnPout_mode
TH1F * h_ele_dEtaSc_propVtx_eg_barrel
TH1F * h_ele_dEtaEleCl_propOut_barrel
TH1F * h_ele_EoP_eg_endcaps
TH1F * h_ele_tkSumPt_dr03
TH1F * h_ele_dPhiCl_propOut_barrel
TH2F * h_ele_EeleOPoutVsEta
TH2F * h_ele_dEtaScVsPhi_propVtx
TH1F * h_ele_EeleOPout_eg_barrel
float eSuperClusterOverP() const
TH1F * h_ele_dEtaEleCl_propOut_eg_endcaps
virtual double p() const GCC11_FINAL
magnitude of momentum vector
TH1F * histSclE2x5max_barrel_
TH1F * h_ele_EeleOPout_barrel
float dr04HcalDepth1TowerSumEt() const
TH2F * h_ele_PtinVsPtoutShowering_mean
TH2F * h_ele_EseedOPVsPhi
virtual const Point & vertex() const
vertex position (overwritten by PF...)
TH1F * histSclE2x5max_endcaps_
TH2F * h_ele_seed_drz2VsEta_
TH2F * h_ele_PoPmatchingObjectVsPhi
TH2F * h_ele_dEtaScVsEta_propVtx
math::XYZVectorF trackMomentumAtVtx() const
TH2F * h_ele_PinVsPoutShowering_mean
TH1F * h_ele_dPhiCl_propOut_eg
TH2F * h_ele_E2mnE1vsMee_all
TH1F * h_ele_HoE_eg_barrel
TH1F * h_ele_dEtaCl_propOut
TH2F * h_ele_PhiMnPhimatchingObjectVsEta
TH2F * h_ele_EseedOPVsEta
TH2F * h_ele_EtaMnEtamatchingObjectVsPhi
float dr04TkSumPt() const
GsfElectronFakeAnalyzer(const edm::ParameterSet &conf)
TH1F * h_ele_hcalDepth2TowerSumEt_dr04
TH2F * h_ele_PinVsPoutShowering_mode
TH2F * h_ele_EtaMnEtamatchingObjectVsEta
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
TH1F * h_ele_dEtaEleCl_propOut_eg_barrel
float dr03HcalDepth2TowerSumEt() const
TH1F * h_ele_dPhiSc_propVtx_eg_barrel
TH2F * h_ele_dEtaClVsPhi_propOut
TH1F * h_ele_dPhiEleCl_propOut_eg
TH1F * h_ele_matchingObjectAbsEta_matched
TH2F * h_ele_lostHitsVsPhi
TH2F * h_ele_lostHitsVsEta
TH1F * h_ele_matchingObjectPhi_matched
TH1F * histSclEoEmatchingObject_barrel
TH2F * h_ele_dPhiEleClVsPhi_propOut
TH1F * h_ele_EseedOP_eg_barrel
TH1F * h_ele_EseedOP_endcaps
TProfile * h_ele_fbremVsEta_mean
TH2F * h_ele_vertexTIPVsEta
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
TH1F * histSclEoEmatchingObjectGolden_barrel
TH1F * h_ele_EoPout_endcaps
TH1F * histSclE5x5_barrel_
TH2F * h_ele_outerPtVsEta_mode
TH1F * h_ele_vertexPt_all
TH2F * h_ele_lostHitsVsPt
TH1F * h_ele_dEtaSc_propVtx_eg_endcaps
TH1F * h_ele_EseedOP_barrel
TH1F * h_ele_PhiMnPhimatchingObject2
TH2F * h_ele_outerPtVsPt_mode
TH1F * h_ele_ecalRecHitSumEt_dr03
TH2F * h_ele_EtaMnEtamatchingObjectVsPt
TH1F * h_ele_HoE_eg_endcaps
TH1F * h_ele_dEtaSc_propVtx
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
TH1F * h_ele_dEtaCl_propOut_eg_endcaps
TH2F * h_ele_dEtaScVsPt_propVtx
TH1F * h_matchingObjectPhi
float dr04HcalDepth2TowerSumEt() const
TH1F * h_matchingObjectEta
virtual ~GsfElectronFakeAnalyzer()
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
float deltaEtaSuperClusterTrackAtVtx() const
TH1F * histSclEoEmatchingObjectShowering_barrel
TH1F * h_ele_EtaMnEtamatchingObject
TH1F * h_ele_dPhiCl_propOut_endcaps
float hadronicOverEm() const
TH2F * h_ele_dEtaEleClVsPt_propOut
TH2F * h_ele_dPhiClVsEta_propOut
float eSeedClusterOverP() const
TH1F * h_ele_dPhiSc_propVtx_barrel
TH2F * h_ele_dPhiEleClVsPt_propOut
float dr04EcalRecHitSumEt() const
TH2F * h_ele_EeleOPoutVsE
TH2F * h_ele_ambiguousTracksVsEta
TH1F * h_ele_dEtaCl_propOut_all
float deltaPhiSeedClusterTrackAtCalo() const
TH1F * h_ele_dPhiSc_propVtx
TH1F * h_ele_dEtaSc_propVtx_endcaps
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
TH1F * h_ele_dEtaEleCl_propOut_endcaps
TH2F * h_ele_PinMnPoutVsEta_mode
TProfile * h_ele_fbremVsEta_mode
TH2F * h_ele_dPhiScVsPhi_propVtx
TH1F * histSclEoEmatchingObjectShowering_endcaps
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
TH2F * h_ele_PinVsPoutGolden_mode
math::XYZVectorF trackMomentumOut() const
TH1F * h_ele_dEtaEleCl_propOut
float deltaPhiSuperClusterTrackAtVtx() const
TH1F * h_ele_EeleOPout_endcaps
TH1F * h_ele_dPhiCl_propOut
TH1F * h_ele_EoPout_barrel
TH1F * h_ele_dPhiSc_propVtx_eg_endcaps
float dr03TkSumPt() const
TH1F * h_ele_hcalDepth1TowerSumEt_dr03
TH2F * h_ele_foundHitsVsPhi
TH2F * h_ele_outerPtVsPhi_mode
TH1F * h_ele_hcalDepth1TowerSumEt_dr04
float dr03HcalDepth1TowerSumEt() const
TH2F * h_ele_vertexPtVsPhi
float eEleClusterOverPout() const
float eSeedClusterOverPout() const
TH2F * h_ele_vertexTIPVsPhi
TH1F * h_matchingObjectNum
TH1F * histSclEoEmatchingObjectGolden_endcaps
TH2F * h_ele_dEtaClVsPt_propOut
TH2F * h_ele_dPhiClVsPt_propOut
TH1F * h_ele_dPhiSc_propVtx_eg
TH2F * h_ele_PinVsPoutGolden_mean
TH1F * h_ele_dEtaSc_propVtx_eg
TH2F * h_ele_ambiguousTracksVsPhi
float scSigmaIEtaIEta() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
TH1F * h_ele_dEtaSc_propVtx_all
float deltaPhiEleClusterTrackAtCalo() const
TH1F * histSclSigIEtaIEta_
TH2F * h_ele_PtinVsPtoutGolden_mode
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
TH1F * h_ele_dPhiEleCl_propOut_eg_endcaps
TH1F * histSclE5x5_endcaps_
TH1F * h_ele_dEtaCl_propOut_endcaps
double deltaR(double eta1, double eta2, double phi1, double phi2)
TH1F * h_ele_EeleOPout_eg
TH1F * h_ele_dPhiCl_propOut_all
TH1F * h_ele_matchingObjectPt_matched
TH2F * h_ele_dEtaClVsEta_propOut
TH1F * h_ele_EoPout_eg_endcaps
TH1F * histSclSigIEtaIEta_barrel_
TH1F * h_ele_PhiMnPhimatchingObject
TH2F * h_ele_seed_drz2VsPt_
TH1F * h_ele_ambiguousTracks
float deltaEtaEleClusterTrackAtCalo() const
TH1F * h_ele_PoPmatchingObject_barrel
virtual int charge() const GCC11_FINAL
electric charge
TH2F * h_ele_foundHitsVsEta
Classification classification() const
TH2F * h_ele_outerPVsEta_mode
REF castTo() const
cast to a concrete type
TH1F * h_ele_seed_subdet2_
TH2F * h_ele_PoPmatchingObjectVsPt
TH1F * h_ele_dEtaSc_propVtx_barrel
GsfTrackRefVector::size_type ambiguousGsfTracksSize() const
TH1F * h_ele_dEtaCl_propOut_barrel
TH1F * h_ele_EeleOPout_eg_endcaps
TH1F * h_ele_tkSumPt_dr04
T const * product() const
TH1F * h_ele_ecalRecHitSumEt_dr04
float dr03EcalRecHitSumEt() const
TH2F * h_ele_PoPmatchingObjectVsEta
TH1F * h_ele_dEtaCl_propOut_eg
TH2F * h_ele_dEtaEleClVsPhi_propOut
TH2F * h_ele_ambiguousTracksVsPt
TH1F * h_ele_dPhiEleCl_propOut_eg_barrel
float deltaEtaSeedClusterTrackAtCalo() const
TH2F * h_ele_PtinVsPtoutGolden_mean
TH1F * h_ele_dPhiEleCl_propOut_barrel
TH1F * histSclE1x5_barrel_
TH2F * h_ele_PinMnPoutVsPt_mode
TH1F * h_matchingObjectPt
bool trackerDrivenSeed() const
TH2F * h_ele_foundHitsVsPt
TH1F * h_ele_vertexEta_all
TH1F * histSclE1x5_endcaps_
const Point & position() const
position
TH1F * h_ele_dPhiEleCl_propOut
TH2F * h_ele_PinMnPoutVsChi2_mode
TH1F * h_ele_outerPt_mode
TH1F * h_ele_HoE_fiducial
TH2F * h_ele_EeleOPoutVsPhi
TH2F * h_ele_seed_dphi2VsEta_
edm::InputTag matchingObjectCollection_
TH1F * h_ele_dPhiSc_propVtx_all
TH2F * h_ele_PhiMnPhimatchingObjectVsPt
TH2F * h_ele_dPhiScVsEta_propVtx
TH1F * h_ele_EeleOPout_all
TH1F * h_matchingObjectAbsEta
TH1F * h_ele_EoP_eg_barrel
TH2F * h_ele_E2mnE1vsMee_egeg_all
TH2F * h_ele_PinMnPoutVsE_mode
TH2F * h_ele_dPhiEleClVsEta_propOut
TH1F * h_ele_dPhiSc_propVtx_endcaps
virtual float pt() const GCC11_FINAL
transverse momentum
TH2F * h_ele_seed_dphi2VsPt_
TH1F * h_ele_dEtaEleCl_propOut_eg
TH1F * h_ele_EoPout_eg_barrel
TH1F * h_ele_hcalDepth2TowerSumEt_dr03
TH1F * h_ele_PoPmatchingObject
TH2F * h_ele_dPhiClVsPhi_propOut
SuperClusterRef pflowSuperCluster() const
TH1F * h_ele_EseedOP_eg_endcaps
TH1F * h_ele_matchingObjectZ_matched
TH2F * h_ele_vertexEtaVsPhi
TH2F * h_ele_vertexPtVsEta
Power< A, B >::type pow(const A &a, const B &b)
TH1F * h_ele_dPhiCl_propOut_eg_endcaps
TH1F * h_ele_dPhiCl_propOut_eg_barrel
TH1F * h_ele_dEtaCl_propOut_eg_barrel
TH1F * h_ele_PoPmatchingObject_endcaps
TH1F * h_ele_matchingObjectEta_matched
TH1F * h_ele_dPhiEleCl_propOut_endcaps
TH2F * h_ele_PinMnPoutVsPhi_mode
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack
bool ecalDrivenSeed() const