38 #include "CLHEP/Units/GlobalPhysicalConstants.h"
52 beamSpot_(conf.getParameter<edm::InputTag>(
"beamSpot"))
66 etamin=pset.getParameter<
double>(
"Etamin");
67 etamax=pset.getParameter<
double>(
"Etamax");
68 phimin=pset.getParameter<
double>(
"Phimin");
69 phimax=pset.getParameter<
double>(
"Phimax");
70 ptmax=pset.getParameter<
double>(
"Ptmax");
71 pmax=pset.getParameter<
double>(
"Pmax");
72 eopmax=pset.getParameter<
double>(
"Eopmax");
73 eopmaxsht=pset.getParameter<
double>(
"Eopmaxsht");
74 detamin=pset.getParameter<
double>(
"Detamin");
75 detamax=pset.getParameter<
double>(
"Detamax");
76 dphimin=pset.getParameter<
double>(
"Dphimin");
77 dphimax=pset.getParameter<
double>(
"Dphimax");
82 fhitsmax=pset.getParameter<
double>(
"Fhitsmax");
83 lhitsmax=pset.getParameter<
double>(
"Lhitsmax");
84 nbineta=pset.getParameter<
int>(
"Nbineta");
85 nbineta2D=pset.getParameter<
int>(
"Nbineta2D");
86 nbinp=pset.getParameter<
int>(
"Nbinp");
87 nbinpt=pset.getParameter<
int>(
"Nbinpt");
88 nbinp2D=pset.getParameter<
int>(
"Nbinp2D");
89 nbinpt2D=pset.getParameter<
int>(
"Nbinpt2D");
90 nbinpteff=pset.getParameter<
int>(
"Nbinpteff");
91 nbinphi=pset.getParameter<
int>(
"Nbinphi");
92 nbinphi2D=pset.getParameter<
int>(
"Nbinphi2D");
93 nbineop=pset.getParameter<
int>(
"Nbineop");
94 nbineop2D=pset.getParameter<
int>(
"Nbineop2D");
95 nbinfhits=pset.getParameter<
int>(
"Nbinfhits");
96 nbinlhits=pset.getParameter<
int>(
"Nbinlhits");
97 nbinxyz=pset.getParameter<
int>(
"Nbinxyz");
98 nbindeta=pset.getParameter<
int>(
"Nbindeta");
99 nbindphi=pset.getParameter<
int>(
"Nbindphi");
104 nbinmee= pset.getParameter<
int>(
"Nbinmee");
105 meemin=pset.getParameter<
double>(
"Meemin");
106 meemax=pset.getParameter<
double>(
"Meemax");
107 nbinhoe= pset.getParameter<
int>(
"Nbinhoe");
108 hoemin=pset.getParameter<
double>(
"Hoemin");
109 hoemax=pset.getParameter<
double>(
"Hoemax");
130 if ( locJet != std::string::npos ) {
131 std::cout <<
"Matching objects are CaloJets " << std::endl;
134 std::cout <<
"Didn't recognize input matching objects!! " << std::endl;
138 hlabel=
"h_"+type_+
"Num"; htitle=
"# "+type_+
"s";
143 histNum_=
new TH1F(
"h_recEleNum",
"# rec electrons",20, 0.,20.);
146 hlabel=
"h_"+type_+
"_eta"; htitle=type_+
" #eta";
148 hlabel=
"h_"+type_+
"_abseta"; htitle=type_+
" |#eta|";
150 hlabel=
"h_"+type_+
"_P"; htitle=type_+
" p";
152 hlabel=
"h_"+type_+
"_Pt"; htitle=type_+
" pt";
154 hlabel=
"h_"+type_+
"_phi"; htitle=type_+
" phi";
156 hlabel=
"h_"+type_+
"_z"; htitle=type_+
" z";
173 h_ele_TIP_all =
new TH1F(
"h_ele_TIP_all",
"ele vertex transverse radius, all reco electrons", 100,0.,0.2);
182 h_ele_charge =
new TH1F(
"h_ele_charge",
"ele charge", 5,-2.,2.);
206 h_ele_vertexTIP =
new TH1F(
"h_ele_vertexTIP",
"ele transverse impact parameter (wrt bs)", 90,0.,0.15);
210 h_ele_PoPmatchingObject =
new TH1F(
"h_ele_PoPmatchingObject",
"ele momentum / matching jet momentum", 75,0.,1.5);
237 histSclSigIEtaIEta_ =
new TH1F(
"h_scl_sigietaieta",
"ele supercluster sigma ieta ieta",100,0.,0.05);
259 h_ele_lostHits =
new TH1F(
"h_ele_lostHits",
"ele track # lost hits", 5,0.,5.);
263 h_ele_chi2 =
new TH1F(
"h_ele_chi2",
"ele track #chi^{2}", 100,0.,15.);
267 h_ele_PinMnPout =
new TH1F(
"h_ele_PinMnPout",
"ele track inner p - outer p, mean" ,
nbinp,0.,200.);
298 h_ele_EoPVsE =
new TH2F(
"h_ele_EoPVsE",
"ele E/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
313 h_ele_EseedOPVsE =
new TH2F(
"h_ele_EseedOPVsE",
"ele E_{seed}/P_{vertex} vs E", 50,0.,
pmax ,50,0.,5.);
452 h_ele_seed_dphi2_ =
new TH1F(
"h_ele_seedDphi2",
"ele seed dphi 2nd layer", 50,-0.003,+0.003) ;
455 h_ele_seed_drz2_ =
new TH1F(
"h_ele_seedDrz2",
"ele seed dr/dz 2nd layer", 50,-0.03,+0.03) ;
458 h_ele_seed_subdet2_ =
new TH1F(
"h_ele_seedSubdet2",
"ele seed subdet 2nd layer", 10,0.,10.) ;
461 h_ele_classes =
new TH1F(
"h_ele_classes",
"electron classes", 20,0.0,20.);
481 h_ele_tkSumPt_dr03 =
new TH1F(
"h_ele_tkSumPt_dr03",
"tk isolation sum, dR=0.3",100,0.0,20.);
491 h_ele_fbrem =
new TH1F(
"h_ele_fbrem",
"ele brem fraction, mode",100,0.,1.);
496 h_ele_mva =
new TH1F(
"h_ele_mva",
"ele mva",100,-1.,1.);
512 h_ele_chi2 -> GetXaxis()-> SetTitle(
"#Chi^{2}");
513 h_ele_chi2 -> GetYaxis()-> SetTitle(
"Events");
516 h_ele_vertexP -> GetXaxis()-> SetTitle(
"p_{vertex} (GeV/c)");
558 h_ele_PinMnPout -> GetXaxis()-> SetTitle(
"P_{vertex} - P_{out} (GeV/c)");
562 h_ele_outerP -> GetXaxis()-> SetTitle(
"P_{out} (GeV/c)");
570 h_ele_EoP -> GetXaxis()-> SetTitle(
"E/P_{vertex}");
571 h_ele_EoP -> GetYaxis()-> SetTitle(
"Events");
572 h_ele_EseedOP -> GetXaxis()-> SetTitle(
"E_{seed}/P_{vertex}");
574 h_ele_EoPout -> GetXaxis()-> SetTitle(
"E_{seed}/P_{out}");
647 h_ele_HoE-> GetXaxis()-> SetTitle(
"H/E") ;
648 h_ele_HoE-> GetYaxis()-> SetTitle(
"Events") ;
655 h_ele_fbrem-> GetXaxis()-> SetTitle(
"P_{in} - P_{out} / P_{in}");
665 h_ele_EoverP_all-> GetXaxis()-> SetTitle(
"E/P_{vertex}");
666 h_ele_EoverP_all-> GetYaxis()-> SetTitle(
"Events");
685 h_ele_mee_os-> GetXaxis()-> SetTitle(
"m_{e^{+}e^{-}} (GeV/c^{2})");
691 histNum_-> GetXaxis()-> SetTitle(
"N_{ele}");
692 histNum_-> GetYaxis()-> SetTitle(
"Events");
702 std::cout <<
"efficiency calculation " << std::endl;
705 h_ele_etaEff->Reset();
707 h_ele_etaEff->Print();
708 h_ele_etaEff->GetXaxis()->SetTitle(
"#eta");
709 h_ele_etaEff->GetYaxis()->SetTitle(
"Efficiency");
716 h_ele_zEff->GetXaxis()->SetTitle(
"z (cm)");
717 h_ele_zEff->GetYaxis()->SetTitle(
"Efficiency");
721 h_ele_absetaEff->Reset();
723 h_ele_absetaEff->GetXaxis()->SetTitle(
"|#eta|");
724 h_ele_absetaEff->GetYaxis()->SetTitle(
"Efficiency");
728 h_ele_ptEff->Reset();
730 h_ele_ptEff->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
731 h_ele_ptEff->GetYaxis()->SetTitle(
"Efficiency");
735 h_ele_phiEff->Reset();
737 h_ele_phiEff->GetXaxis()->SetTitle(
"#phi (rad)");
738 h_ele_phiEff->GetYaxis()->SetTitle(
"Efficiency");
742 h_ele_etaEff_all->Reset();
744 h_ele_etaEff_all->Print();
745 h_ele_etaEff_all->GetXaxis()->SetTitle(
"#eta");
746 h_ele_etaEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
748 h_ele_ptEff_all->Reset();
750 h_ele_ptEff_all->Print();
751 h_ele_ptEff_all->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
752 h_ele_ptEff_all->GetYaxis()->SetTitle(
"N_{rec}/N_{matching jet}");
755 TH1F *h_ele_eta_goldenFrac = (TH1F*)
h_ele_eta_golden->Clone(
"h_ele_eta_goldenFrac");
756 h_ele_eta_goldenFrac->Reset();
757 h_ele_eta_goldenFrac->GetXaxis()->SetTitle(
"|#eta|");
758 h_ele_eta_goldenFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
760 h_ele_eta_goldenFrac->SetTitle(
"fraction of golden electrons vs eta");
761 TH1F *h_ele_eta_bbremFrac = (TH1F*)
h_ele_eta_bbrem->Clone(
"h_ele_eta_bbremFrac");
762 h_ele_eta_bbremFrac->Reset();
764 h_ele_eta_bbremFrac->GetXaxis()->SetTitle(
"|#eta|");
765 h_ele_eta_bbremFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
766 h_ele_eta_bbremFrac->SetTitle(
"fraction of big brem electrons vs eta");
767 TH1F *h_ele_eta_narrowFrac = (TH1F*)
h_ele_eta_narrow->Clone(
"h_ele_eta_narrowFrac");
768 h_ele_eta_narrowFrac->Reset();
770 h_ele_eta_narrowFrac->GetXaxis()->SetTitle(
"|#eta|");
771 h_ele_eta_narrowFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
772 h_ele_eta_narrowFrac->SetTitle(
"fraction of narrow electrons vs eta");
773 TH1F *h_ele_eta_showerFrac = (TH1F*)
h_ele_eta_shower->Clone(
"h_ele_eta_showerFrac");
774 h_ele_eta_showerFrac->Reset();
776 h_ele_eta_showerFrac->GetXaxis()->SetTitle(
"|#eta|");
777 h_ele_eta_showerFrac->GetYaxis()->SetTitle(
"Fraction of electrons");
778 h_ele_eta_showerFrac->SetTitle(
"fraction of showering electrons vs eta");
781 TH1F *h_ele_xOverX0VsEta =
new TH1F(
"h_ele_xOverx0VsEta",
"mean X/X_0 vs eta",
nbineta/2,0.0,2.5);
785 h_ele_xOverX0VsEta->SetBinContent(ibin,xOverX0);
790 p_ele_PoPmatchingObjectVsEta->SetTitle(
"mean ele momentum / matching SC energy vs eta");
791 p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
792 p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle(
"<P/E_{matching jet}>");
793 p_ele_PoPmatchingObjectVsEta->Write();
795 p_ele_PoPmatchingObjectVsPhi->SetTitle(
"mean ele momentum / gen momentum vs phi");
796 p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
797 p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle(
"<P/E_{matching jet}>");
798 p_ele_PoPmatchingObjectVsPhi->Write();
800 p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle(
"#eta");
801 p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle(
"<#eta_{rec} - #eta_{matching jet}>");
802 p_ele_EtaMnEtamatchingObjectVsEta->Write();
804 p_ele_EtaMnEtamatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
805 p_ele_EtaMnEtamatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#eta_{rec} - #eta_{matching jet}>");
806 p_ele_EtaMnEtamatchingObjectVsPhi->Write();
808 p_ele_PhiMnPhimatchingObjectVsEta-> GetXaxis()-> SetTitle(
"#eta");
809 p_ele_PhiMnPhimatchingObjectVsEta-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching jet}> (rad)");
810 p_ele_PhiMnPhimatchingObjectVsEta->Write();
812 p_ele_PhiMnPhimatchingObjectVsPhi-> GetXaxis()-> SetTitle(
"#phi");
813 p_ele_PhiMnPhimatchingObjectVsPhi-> GetYaxis()-> SetTitle(
"<#phi_{rec} - #phi_{matching jet}> (rad)");
814 p_ele_PhiMnPhimatchingObjectVsPhi->Write();
816 p_ele_vertexPtVsEta->GetXaxis()->SetTitle(
"#eta");
817 p_ele_vertexPtVsEta->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
818 p_ele_vertexPtVsEta->Write();
820 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
821 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle(
"<p_{T}> (GeV/c)");
822 p_ele_vertexPtVsPhi->Write();
824 p_ele_EoPVsEta->GetXaxis()->SetTitle(
"#eta");
825 p_ele_EoPVsEta->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
826 p_ele_EoPVsEta->Write();
828 p_ele_EoPVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
829 p_ele_EoPVsPhi->GetYaxis()->SetTitle(
"<E/P_{vertex}>");
830 p_ele_EoPVsPhi->Write();
832 p_ele_EoPoutVsEta->GetXaxis()->SetTitle(
"#eta");
833 p_ele_EoPoutVsEta->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
834 p_ele_EoPoutVsEta->Write();
836 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
837 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle(
"<E_{seed}/P_{out}>");
838 p_ele_EoPoutVsPhi->Write();
840 p_ele_EeleOPoutVsEta->SetTitle(
"mean ele Eele/pout vs eta");
841 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle(
"#eta");
842 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
843 p_ele_EeleOPoutVsEta->Write();
845 p_ele_EeleOPoutVsPhi->SetTitle(
"mean ele Eele/pout vs phi");
846 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
847 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle(
"<E_{ele}/P_{out}>");
848 p_ele_EeleOPoutVsPhi->Write();
850 p_ele_HoEVsEta->GetXaxis()->SetTitle(
"#eta");
851 p_ele_HoEVsEta->GetYaxis()->SetTitle(
"<H/E>");
852 p_ele_HoEVsEta->Write();
854 p_ele_HoEVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
855 p_ele_HoEVsPhi->GetYaxis()->SetTitle(
"<H/E>");
856 p_ele_HoEVsPhi->Write();
858 p_ele_chi2VsEta->GetXaxis()->SetTitle(
"#eta");
859 p_ele_chi2VsEta->GetYaxis()->SetTitle(
"<#Chi^{2}>");
860 p_ele_chi2VsEta->Write();
862 p_ele_chi2VsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
863 p_ele_chi2VsPhi->GetYaxis()->SetTitle(
"<#Chi^{2}>");
864 p_ele_chi2VsPhi->Write();
866 p_ele_foundHitsVsEta->GetXaxis()->SetTitle(
"#eta");
867 p_ele_foundHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
868 p_ele_foundHitsVsEta->Write();
870 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
871 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
872 p_ele_foundHitsVsPhi->Write();
874 p_ele_lostHitsVsEta->GetXaxis()->SetTitle(
"#eta");
875 p_ele_lostHitsVsEta->GetYaxis()->SetTitle(
"<N_{hits}>");
876 p_ele_lostHitsVsEta->Write();
878 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle(
"#phi (rad)");
879 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle(
"<N_{hits}>");
880 p_ele_lostHitsVsPhi->Write();
882 p_ele_vertexTIPVsEta->SetTitle(
"mean tip (wrt gen vtx) vs eta");
883 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle(
"#eta");
884 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle(
"<TIP> (cm)");
885 p_ele_vertexTIPVsEta->Write();
887 p_ele_vertexTIPVsPhi->SetTitle(
"mean tip (wrt gen vtx) vs phi");
888 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle(
"#phi");
889 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle(
"<TIP> (cm)");
890 p_ele_vertexTIPVsPhi->Write();
892 p_ele_vertexTIPVsPt->SetTitle(
"mean tip (wrt gen vtx) vs phi");
893 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
894 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle(
"<TIP> (cm)");
895 p_ele_vertexTIPVsPt->Write();
1132 p_ele_seed_dphi2VsEta_->SetTitle(
"mean ele seed dphi 2nd layer vs eta");
1133 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle(
"#eta");
1134 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1135 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
1136 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
1137 p_ele_seed_dphi2VsEta_->Write();
1139 p_ele_seed_dphi2VsPt_->SetTitle(
"mean ele seed dphi 2nd layer vs pt");
1140 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1141 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle(
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
1142 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
1143 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
1144 p_ele_seed_dphi2VsPt_->Write();
1147 p_ele_seed_drz2VsEta_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs eta");
1148 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle(
"#eta");
1149 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1150 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
1151 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
1152 p_ele_seed_drz2VsEta_->Write();
1154 p_ele_seed_drz2VsPt_->SetTitle(
"mean ele seed dr(dz) 2nd layer vs pt");
1155 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle(
"p_{T} (GeV/c)");
1156 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle(
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
1157 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
1158 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
1159 p_ele_seed_drz2VsPt_->Write();
1185 h_ele_etaEff->Write();
1186 h_ele_zEff->Write();
1187 h_ele_phiEff->Write();
1188 h_ele_absetaEff->Write();
1189 h_ele_ptEff->Write();
1190 h_ele_etaEff_all->Write();
1191 h_ele_ptEff_all->Write();
1192 h_ele_eta_goldenFrac->Write();
1193 h_ele_eta_bbremFrac->Write();
1194 h_ele_eta_narrowFrac->Write();
1195 h_ele_eta_showerFrac->Write();
1196 h_ele_xOverX0VsEta->Write();
1233 std::cout <<
"analyzing new event " << std::endl;
1238 edm::LogInfo(
"")<<
"\n\n =================> Treating event "<<iEvent.
id()<<
" Number of electrons "<<gsfElectrons.
product()->size();
1247 const BeamSpot bs = *recoBeamSpotHandle;
1249 histNum_->Fill((*gsfElectrons).size());
1252 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1253 gsfIter!=gsfElectrons->end(); gsfIter++){
1265 double d = gsfIter->vertex().x()*gsfIter->vertex().x()
1266 +gsfIter->vertex().y()*gsfIter->vertex().y();
1270 float enrj1=gsfIter->superCluster()->energy();
1272 for (reco::GsfElectronCollection::const_iterator gsfIter2=gsfIter+1;
1273 gsfIter2!=gsfElectrons->end(); gsfIter2++){
1275 float mee2 = p12.Dot(p12);
1277 float enrj2=gsfIter2->superCluster()->energy();
1285 int matchingObjectNum=0;
1287 for ( reco::CaloJetCollection::const_iterator moIter=recoCaloJets->begin();
1288 moIter!=recoCaloJets->end(); moIter++ ) {
1291 matchingObjectNum++;
1308 bool okGsfFound =
false;
1309 double gsfOkRatio = 999999.;
1313 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
1314 gsfIter!=gsfElectrons->end(); gsfIter++){
1316 double dphi = gsfIter->
phi()-moIter->phi();
1318 dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
1323 double tmpGsfRatio = gsfIter->p()/moIter->energy();
1325 gsfOkRatio = tmpGsfRatio;
1326 bestGsfElectron=*gsfIter;
1386 double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
1387 double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
1565 if (bestGsfElectron.
isEE()) eleClass+=10;
1575 double fbrem_mean=0.;
1577 fbrem_mean = 1. - bestGsfElectron.
gsfTrack()->outerMomentum().R()/bestGsfElectron.
gsfTrack()->innerMomentum().R();
1578 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
virtual double p() const
magnitude of momentum vector
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
SuperClusterRef parentSuperCluster() const
TH2F * h_ele_EeleOPoutVsEta
TH2F * h_ele_dEtaScVsPhi_propVtx
virtual float pt() const
transverse momentum
TH1F * h_ele_EeleOPout_eg_barrel
float eSuperClusterOverP() const
TH1F * h_ele_dEtaEleCl_propOut_eg_endcaps
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_
virtual float phi() const
momentum azimuthal angle
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
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()
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
virtual float eta() const
momentum pseudorapidity
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
virtual int charge() const
electric charge
TH1F * h_ele_dPhiSc_propVtx_eg_endcaps
float dr03TkSumPt() const
TH1F * h_ele_hcalDepth1TowerSumEt_dr03
TH2F * h_ele_foundHitsVsPhi
Abs< T >::type abs(const T &t)
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
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_
T const * product() const
TH1F * h_ele_ambiguousTracks
float deltaEtaEleClusterTrackAtCalo() const
TH1F * h_ele_PoPmatchingObject_barrel
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
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
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
TH1F * h_ele_EseedOP_eg_endcaps
TH1F * h_ele_matchingObjectZ_matched
TH2F * h_ele_vertexEtaVsPhi
TH2F * h_ele_vertexPtVsEta
virtual double py() const
y coordinate of momentum vector
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