00001
00002
00003
00004
00005
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "RecoEgamma/Examples/plugins/GsfElectronMCFakeAnalyzer.h"
00022
00023 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00024 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00025 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00026 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h"
00027 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00028 #include "DataFormats/EgammaReco/interface/ElectronSeed.h"
00029 #include "DataFormats/EgammaReco/interface/ElectronSeedFwd.h"
00030 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
00031 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00032 #include "DataFormats/JetReco/interface/GenJetCollection.h"
00033
00034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00035 #include "FWCore/Framework/interface/EDAnalyzer.h"
00036 #include "FWCore/Framework/interface/Event.h"
00037 #include "FWCore/Framework/interface/MakerMacros.h"
00038 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00039
00040 #include "CLHEP/Units/GlobalPhysicalConstants.h"
00041 #include "TMath.h"
00042 #include "TFile.h"
00043 #include "TH1F.h"
00044 #include "TH1I.h"
00045 #include "TH2F.h"
00046 #include "TProfile.h"
00047 #include "TTree.h"
00048 #include <iostream>
00049
00050 using namespace reco;
00051
00052 GsfElectronMCFakeAnalyzer::GsfElectronMCFakeAnalyzer(const edm::ParameterSet& conf) :
00053 beamSpot_(conf.getParameter<edm::InputTag>("beamSpot"))
00054 {
00055
00056 outputFile_ = conf.getParameter<std::string>("outputFile");
00057 histfile_ = new TFile(outputFile_.c_str(),"RECREATE");
00058 electronCollection_=conf.getParameter<edm::InputTag>("electronCollection");
00059 matchingObjectCollection_ = conf.getParameter<edm::InputTag>("matchingObjectCollection");
00060 readAOD_ = conf.getParameter<bool>("readAOD");
00061 maxPt_ = conf.getParameter<double>("MaxPt");
00062 maxAbsEta_ = conf.getParameter<double>("MaxAbsEta");
00063 deltaR_ = conf.getParameter<double>("DeltaR");
00064
00065 edm::ParameterSet pset =
00066 conf.getParameter<edm::ParameterSet>("HistosConfigurationFake") ;
00067
00068 etamin=pset.getParameter<double>("Etamin");
00069 etamax=pset.getParameter<double>("Etamax");
00070 phimin=pset.getParameter<double>("Phimin");
00071 phimax=pset.getParameter<double>("Phimax");
00072 ptmax=pset.getParameter<double>("Ptmax");
00073 pmax=pset.getParameter<double>("Pmax");
00074 eopmax=pset.getParameter<double>("Eopmax");
00075 eopmaxsht=pset.getParameter<double>("Eopmaxsht");
00076 detamin=pset.getParameter<double>("Detamin");
00077 detamax=pset.getParameter<double>("Detamax");
00078 dphimin=pset.getParameter<double>("Dphimin");
00079 dphimax=pset.getParameter<double>("Dphimax");
00080 detamatchmin=pset.getParameter<double>("Detamatchmin");
00081 detamatchmax=pset.getParameter<double>("Detamatchmax");
00082 dphimatchmin=pset.getParameter<double>("Dphimatchmin");
00083 dphimatchmax=pset.getParameter<double>("Dphimatchmax");
00084 fhitsmax=pset.getParameter<double>("Fhitsmax");
00085 lhitsmax=pset.getParameter<double>("Lhitsmax");
00086 nbineta=pset.getParameter<int>("Nbineta");
00087 nbineta2D=pset.getParameter<int>("Nbineta2D");
00088 nbinp=pset.getParameter<int>("Nbinp");
00089 nbinpt=pset.getParameter<int>("Nbinpt");
00090 nbinp2D=pset.getParameter<int>("Nbinp2D");
00091 nbinpt2D=pset.getParameter<int>("Nbinpt2D");
00092 nbinpteff=pset.getParameter<int>("Nbinpteff");
00093 nbinphi=pset.getParameter<int>("Nbinphi");
00094 nbinphi2D=pset.getParameter<int>("Nbinphi2D");
00095 nbineop=pset.getParameter<int>("Nbineop");
00096 nbineop2D=pset.getParameter<int>("Nbineop2D");
00097 nbinfhits=pset.getParameter<int>("Nbinfhits");
00098 nbinlhits=pset.getParameter<int>("Nbinlhits");
00099 nbinxyz=pset.getParameter<int>("Nbinxyz");
00100 nbindeta=pset.getParameter<int>("Nbindeta");
00101 nbindphi=pset.getParameter<int>("Nbindphi");
00102 nbindetamatch=pset.getParameter<int>("Nbindetamatch");
00103 nbindphimatch=pset.getParameter<int>("Nbindphimatch");
00104 nbindetamatch2D=pset.getParameter<int>("Nbindetamatch2D");
00105 nbindphimatch2D=pset.getParameter<int>("Nbindphimatch2D");
00106 nbinmee= pset.getParameter<int>("Nbinmee");
00107 meemin=pset.getParameter<double>("Meemin");
00108 meemax=pset.getParameter<double>("Meemax");
00109 nbinhoe= pset.getParameter<int>("Nbinhoe");
00110 hoemin=pset.getParameter<double>("Hoemin");
00111 hoemax=pset.getParameter<double>("Hoemax");
00112
00113 }
00114
00115 GsfElectronMCFakeAnalyzer::~GsfElectronMCFakeAnalyzer()
00116 {
00117
00118
00119
00120 histfile_->Write();
00121 histfile_->Close();
00122 }
00123
00124 void GsfElectronMCFakeAnalyzer::beginJob(){
00125
00126 histfile_->cd();
00127
00128
00129
00130 std::string::size_type locJet = matchingObjectCollection_.label().find("iterativeCone5GenJets",0) ;
00131 std::string type_;
00132 if ( locJet != std::string::npos ) {
00133 std::cout << "Matching objects are GenJets " << std::endl;
00134 type_ = "GenJet";
00135 } else {
00136 std::cout << "Didn't recognize input matching objects!! " << std::endl;
00137 }
00138
00139 std::string htitle, hlabel;
00140 hlabel="h_"+type_+"Num"; htitle="# "+type_+"s";
00141 h_matchingObjectNum = new TH1F( hlabel.c_str(), htitle.c_str(), nbinfhits,0.,fhitsmax );
00142
00143
00144 histNum_= new TH1F("h_recEleNum","# rec electrons",20, 0.,20.);
00145
00146
00147 hlabel="h_matchingObject_eta"; htitle=type_+" #eta";
00148 h_matchingObjectEta = new TH1F( hlabel.c_str(), htitle.c_str(), nbineta,etamin,etamax);
00149 hlabel="h_matchingObject_abseta"; htitle=type_+" |#eta|";
00150 h_matchingObjectAbsEta = new TH1F( hlabel.c_str(), htitle.c_str(), nbineta/2,0.,etamax);
00151 hlabel="h_matchingObject_P"; htitle=type_+" p";
00152 h_matchingObjectP = new TH1F( hlabel.c_str(), htitle.c_str(), nbinp,0.,pmax);
00153 hlabel="h_matchingObject_Pt"; htitle=type_+" pt";
00154 h_matchingObjectPt = new TH1F( hlabel.c_str(),htitle.c_str(), nbinpteff,5.,ptmax);
00155 hlabel="h_matchingObject_phi"; htitle=type_+" phi";
00156 h_matchingObjectPhi = new TH1F( hlabel.c_str(), htitle.c_str(), nbinphi,phimin,phimax);
00157 hlabel="h_matchingObject_z"; htitle=type_+" z";
00158 h_matchingObjectZ = new TH1F( hlabel.c_str(), htitle.c_str(), nbinxyz, -25, 25 );
00159
00160
00161 h_ele_EoverP_all = new TH1F( "h_ele_EoverP_all", "ele E/P_{vertex}, all reco electrons", nbineop,0.,eopmax);
00162 h_ele_EseedOP_all = new TH1F( "h_ele_EseedOP_all", "ele E_{seed}/P_{vertex}, all reco electrons", nbineop,0.,eopmax);
00163 h_ele_EoPout_all = new TH1F( "h_ele_EoPout_all", "ele E_{seed}/P_{out}, all reco electrons", nbineop,0.,eopmax);
00164 h_ele_EeleOPout_all = new TH1F( "h_ele_EeleOPout_all", "ele E_{ele}/P_{out}, all reco electrons", nbineop,0.,eopmax);
00165 h_ele_dEtaSc_propVtx_all = new TH1F( "h_ele_dEtaSc_propVtx_all", "ele #eta_{sc} - #eta_{tr}, prop from vertex, all reco electrons", nbindetamatch,detamatchmin,detamatchmax);
00166 h_ele_dPhiSc_propVtx_all = new TH1F( "h_ele_dPhiSc_propVtx_all", "ele #phi_{sc} - #phi_{tr}, prop from vertex, all reco electrons", nbindphimatch,dphimatchmin,dphimatchmax);
00167 h_ele_dEtaCl_propOut_all = new TH1F( "h_ele_dEtaCl_propOut_all", "ele #eta_{cl} - #eta_{tr}, prop from outermost, all reco electrons", nbindetamatch,detamatchmin,detamatchmax);
00168 h_ele_dPhiCl_propOut_all = new TH1F( "h_ele_dPhiCl_propOut_all", "ele #phi_{cl} - #phi_{tr}, prop from outermost, all reco electrons", nbindphimatch,dphimatchmin,dphimatchmax);
00169 h_ele_TIP_all = new TH1F( "h_ele_TIP_all", "ele vertex transverse radius, all reco electrons", 100,0.,0.2);
00170 h_ele_HoE_all = new TH1F("h_ele_HoE_all", "ele hadronic energy / em energy, all reco electrons", nbinhoe, hoemin, hoemax) ;
00171 h_ele_vertexEta_all = new TH1F( "h_ele_vertexEta_all", "ele eta, all reco electrons", nbineta,etamin,etamax);
00172 h_ele_vertexEta_all->Sumw2();
00173 h_ele_vertexPt_all = new TH1F( "h_ele_vertexPt_all", "ele p_{T}, all reco electrons", nbinpteff,5.,ptmax);
00174 h_ele_vertexPt_all->Sumw2();
00175 h_ele_mee_all = new TH1F( "h_ele_mee_all", "ele pairs invariant mass, all reco electrons", nbinmee, meemin, meemax );
00176 h_ele_mee_os = new TH1F( "h_ele_mee_os", "ele pairs invariant mass, opp. sign", nbinmee, meemin, meemax );
00177
00178
00179 h_ele_E2mnE1vsMee_all = new TH2F("h_ele_E2mnE1vsMee_all", "E2 - E1 vs ele pairs invariant mass, all electrons", nbinmee, meemin, meemax, 100, -50., 50. );
00180 h_ele_E2mnE1vsMee_egeg_all = new TH2F("h_ele_E2mnE1vsMee_egeg_all", "E2 - E1 vs ele pairs invariant mass, ecal driven pairs, all electrons", nbinmee, meemin, meemax, 100, -50., 50. );
00181
00182
00183
00184 h_ele_matchingObjectPt_matched = new TH1F( "h_ele_matchingObjectPt_matched", "Efficiency vs matching jet p_{T}", nbinpteff,5.,ptmax);
00185 h_ele_matchingObjectPt_matched->Sumw2();
00186 h_ele_matchingObjectAbsEta_matched = new TH1F( "h_ele_matchingObjectAbsEta_matched", "Efficiency vs matching jet |#eta|", nbineta/2,0.,2.5);
00187 h_ele_matchingObjectAbsEta_matched->Sumw2();
00188 h_ele_matchingObjectEta_matched = new TH1F( "h_ele_matchingObjectEta_matched", "Efficiency vs matching jet #eta", nbineta,etamin,etamax);
00189 h_ele_matchingObjectEta_matched ->Sumw2();
00190 h_ele_matchingObjectPhi_matched = new TH1F( "h_ele_matchingObjectPhi_matched", "Efficiency vs matching jet phi", nbinphi,phimin,phimax);
00191 h_ele_matchingObjectPhi_matched->Sumw2();
00192 h_ele_matchingObjectZ_matched = new TH1F( "h_ele_matchingObjectZ_matched", "Efficiency vs matching jet z", nbinxyz,-25,25);
00193 h_ele_matchingObjectZ_matched->Sumw2();
00194
00195 h_ele_charge = new TH1F( "h_ele_charge", "ele charge", 5,-2.,2.);
00196 h_ele_chargeVsEta = new TH2F( "h_ele_chargeVsEta", "ele charge vs eta", nbineta2D,etamin,etamax,5,-2.,2.);
00197 h_ele_chargeVsPhi = new TH2F( "h_ele_chargeVsPhi", "ele charge vs phi", nbinphi2D,phimin,phimax,5,-2.,2.);
00198 h_ele_chargeVsPt = new TH2F( "h_ele_chargeVsPt", "ele charge vs pt", nbinpt,0.,100.,5,-2.,2.);
00199 h_ele_vertexP = new TH1F( "h_ele_vertexP", "ele momentum", nbinp,0.,pmax);
00200 h_ele_vertexPt = new TH1F( "h_ele_vertexPt", "ele transverse momentum", nbinpt,0.,ptmax);
00201 h_ele_vertexPtVsEta = new TH2F( "h_ele_vertexPtVsEta", "ele transverse momentum vs eta",nbineta2D,etamin,etamax,nbinpt2D,0.,ptmax);
00202 h_ele_vertexPtVsPhi = new TH2F( "h_ele_vertexPtVsPhi", "ele transverse momentum vs phi",nbinphi2D,phimin,phimax,nbinpt2D,0.,ptmax);
00203 h_ele_vertexEta = new TH1F( "h_ele_vertexEta", "ele momentum eta", nbineta,etamin,etamax);
00204 h_ele_vertexEtaVsPhi = new TH2F( "h_ele_vertexEtaVsPhi", "ele momentum eta vs phi",nbineta2D,etamin,etamax,nbinphi2D,phimin,phimax );
00205 h_ele_vertexPhi = new TH1F( "h_ele_vertexPhi", "ele momentum #phi", nbinphi,phimin,phimax);
00206 h_ele_vertexX = new TH1F( "h_ele_vertexX", "ele vertex x", nbinxyz,-0.1,0.1 );
00207 h_ele_vertexY = new TH1F( "h_ele_vertexY", "ele vertex y", nbinxyz,-0.1,0.1 );
00208 h_ele_vertexZ = new TH1F( "h_ele_vertexZ", "ele vertex z", nbinxyz,-25, 25 );
00209 h_ele_vertexTIP = new TH1F( "h_ele_vertexTIP", "ele transverse impact parameter (wrt bs)", 90,0.,0.15);
00210 h_ele_vertexTIPVsEta = new TH2F( "h_ele_vertexTIPVsEta", "ele transverse impact parameter (wrt bs) vs eta", nbineta2D,etamin,etamax,45,0.,0.15);
00211 h_ele_vertexTIPVsPhi = new TH2F( "h_ele_vertexTIPVsPhi", "ele transverse impact parameter (wrt bs) vs phi", nbinphi2D,phimin,phimax,45,0.,0.15);
00212 h_ele_vertexTIPVsPt = new TH2F( "h_ele_vertexTIPVsPt", "ele transverse impact parameter (wrt bs) vs Pt", nbinpt2D,0.,ptmax,45,0.,0.15);
00213
00214 h_ele_PoPmatchingObject = new TH1F( "h_ele_PoPmatchingObject", "ele momentum / matching jet momentum", 75,0.,1.5);
00215 h_ele_PoPmatchingObjectVsEta = new TH2F( "h_ele_PoPmatchingObjectVsEta", "ele momentum / matching jet momentum vs eta", nbineta2D,etamin,etamax,50,0.,1.5);
00216 h_ele_PoPmatchingObjectVsPhi = new TH2F( "h_ele_PoPmatchingObjectVsPhi", "ele momentum / matching jet momentum vs phi", nbinphi2D,phimin,phimax,50,0.,1.5);
00217 h_ele_PoPmatchingObjectVsPt = new TH2F( "h_ele_PoPmatchingObjectVsPt", "ele momentum / matching jet momentum vs eta", nbinpt2D,0.,ptmax,50,0.,1.5);
00218 h_ele_PoPmatchingObject_barrel = new TH1F( "h_ele_PoPmatchingObject_barrel", "ele momentum / matching jet momentum, barrel",75,0.,1.5);
00219 h_ele_PoPmatchingObject_endcaps = new TH1F( "h_ele_PoPmatchingObject_endcaps", "ele momentum / matching jet momentum, endcaps",75,0.,1.5);
00220
00221 h_ele_EtaMnEtamatchingObject = new TH1F( "h_ele_EtaMnEtamatchingObject", "ele momentum eta - matching jet eta",nbindeta,detamin,detamax);
00222 h_ele_EtaMnEtamatchingObjectVsEta = new TH2F( "h_ele_EtaMnEtamatchingObjectVsEta", "ele momentum eta - matching jet eta vs eta",nbineta2D,etamin,etamax,nbindeta/2,detamin,detamax);
00223 h_ele_EtaMnEtamatchingObjectVsPhi = new TH2F( "h_ele_EtaMnEtamatchingObjectVsPhi", "ele momentum eta - matching jet eta vs phi",nbinphi2D,phimin,phimax,nbindeta/2,detamin,detamax);
00224 h_ele_EtaMnEtamatchingObjectVsPt = new TH2F( "h_ele_EtaMnEtamatchingObjectVsPt", "ele momentum eta - matching jet eta vs pt",nbinpt,0.,ptmax,nbindeta/2,detamin,detamax);
00225 h_ele_PhiMnPhimatchingObject = new TH1F( "h_ele_PhiMnPhimatchingObject", "ele momentum phi - matching jet phi",nbindphi,dphimin,dphimax);
00226 h_ele_PhiMnPhimatchingObject2 = new TH1F( "h_ele_PhiMnPhimatchingObject2", "ele momentum phi - matching jet phi",nbindphimatch2D,dphimatchmin,dphimatchmax);
00227 h_ele_PhiMnPhimatchingObjectVsEta = new TH2F( "h_ele_PhiMnPhimatchingObjectVsEta", "ele momentum phi - matching SC phi vs eta",nbineta2D,etamin,etamax,nbindphi/2,dphimin,dphimax);
00228 h_ele_PhiMnPhimatchingObjectVsPhi = new TH2F( "h_ele_PhiMnPhimatchingObjectVsPhi", "ele momentum phi - matching SC phi vs phi",nbinphi2D,phimin,phimax,nbindphi/2,dphimin,dphimax);
00229 h_ele_PhiMnPhimatchingObjectVsPt = new TH2F( "h_ele_PhiMnPhimatchingObjectVsPt", "ele momentum phi - matching SC phi vs pt",nbinpt2D,0.,ptmax,nbindphi/2,dphimin,dphimax);
00230
00231
00232 histSclEn_ = new TH1F("h_scl_energy","ele supercluster energy",nbinp,0.,pmax);
00233 histSclEoEmatchingObject_barrel = new TH1F("h_scl_EoEmatchingObject_barrel","ele supercluster energy / matching jet energy, barrel",50,0.2,1.2);
00234 histSclEoEmatchingObject_endcaps = new TH1F("h_scl_EoEmatchingObject_endcaps","ele supercluster energy / matching jet energy, endcaps",50,0.2,1.2);
00235 histSclEt_ = new TH1F("h_scl_et","ele supercluster transverse energy",nbinpt,0.,ptmax);
00236 histSclEtVsEta_ = new TH2F("h_scl_etVsEta","ele supercluster transverse energy vs eta",nbineta2D,etamin,etamax,nbinpt,0.,ptmax);
00237 histSclEtVsPhi_ = new TH2F("h_scl_etVsPhi","ele supercluster transverse energy vs phi",nbinphi2D,phimin,phimax,nbinpt,0.,ptmax);
00238 histSclEtaVsPhi_ = new TH2F("h_scl_etaVsPhi","ele supercluster eta vs phi",nbinphi2D,phimin,phimax,nbineta2D,etamin,etamax);
00239 histSclEta_ = new TH1F("h_scl_eta","ele supercluster eta",nbineta,etamin,etamax);
00240 histSclPhi_ = new TH1F("h_scl_phi","ele supercluster phi",nbinphi,phimin,phimax);
00241
00242 histSclSigIEtaIEta_ = new TH1F("h_scl_sigietaieta","ele supercluster sigma ieta ieta",100,0.,0.05);
00243 histSclSigIEtaIEta_barrel_ = new TH1F("h_scl_sigietaieta_barrel","ele supercluster sigma ieta ieta, barrel",100,0.,0.05);
00244 histSclSigIEtaIEta_endcaps_ = new TH1F("h_scl_sigietaieta_endcaps","ele supercluster sigma ieta ieta, endcaps",100,0.,0.05);
00245 histSclE1x5_ = new TH1F("h_scl_E1x5","ele supercluster energy in 1x5",nbinp,0.,pmax);
00246 histSclE1x5_barrel_ = new TH1F("h_scl_E1x5_barrel","ele supercluster energy in 1x5 barrel",nbinp,0.,pmax);
00247 histSclE1x5_endcaps_ = new TH1F("h_scl_E1x5_endcaps","ele supercluster energy in 1x5 endcaps",nbinp,0.,pmax);
00248 histSclE2x5max_ = new TH1F("h_scl_E2x5max","ele supercluster energy in 2x5 max",nbinp,0.,pmax);
00249 histSclE2x5max_barrel_ = new TH1F("h_scl_E2x5max_barrel","ele supercluster energy in 2x5 max barrel",nbinp,0.,pmax);
00250 histSclE2x5max_endcaps_ = new TH1F("h_scl_E2x5max_endcaps","ele supercluster energy in 2x5 max endcaps",nbinp,0.,pmax);
00251 histSclE5x5_ = new TH1F("h_scl_E5x5","ele supercluster energy in 5x5",nbinp,0.,pmax);
00252 histSclE5x5_barrel_ = new TH1F("h_scl_E5x5_barrel","ele supercluster energy in 5x5 barrel",nbinp,0.,pmax);
00253 histSclE5x5_endcaps_ = new TH1F("h_scl_E5x5_endcaps","ele supercluster energy in 5x5 endcaps",nbinp,0.,pmax);
00254
00255
00256 h_ele_ambiguousTracks = new TH1F( "h_ele_ambiguousTracks", "ele # ambiguous tracks", 5,0.,5.);
00257 h_ele_ambiguousTracksVsEta = new TH2F( "h_ele_ambiguousTracksVsEta","ele # ambiguous tracks vs eta", nbineta2D,etamin,etamax,5,0.,5.);
00258 h_ele_ambiguousTracksVsPhi = new TH2F( "h_ele_ambiguousTracksVsPhi", "ele # ambiguous tracks vs phi", nbinphi2D,phimin,phimax,5,0.,5.);
00259 h_ele_ambiguousTracksVsPt = new TH2F( "h_ele_ambiguousTracksVsPt", "ele # ambiguous tracks vs pt", nbinpt2D,0.,ptmax,5,0.,5.);
00260 h_ele_foundHits = new TH1F( "h_ele_foundHits", "ele track # found hits", nbinfhits,0.,fhitsmax);
00261 h_ele_foundHitsVsEta = new TH2F( "h_ele_foundHitsVsEta", "ele track # found hits vs eta", nbineta2D,etamin,etamax,nbinfhits,0.,fhitsmax);
00262 h_ele_foundHitsVsPhi = new TH2F( "h_ele_foundHitsVsPhi", "ele track # found hits vs phi", nbinphi2D,phimin,phimax,nbinfhits,0.,fhitsmax);
00263 h_ele_foundHitsVsPt = new TH2F( "h_ele_foundHitsVsPt", "ele track # found hits vs pt", nbinpt2D,0.,ptmax,nbinfhits,0.,fhitsmax);
00264 h_ele_lostHits = new TH1F( "h_ele_lostHits", "ele track # lost hits", 5,0.,5.);
00265 h_ele_lostHitsVsEta = new TH2F( "h_ele_lostHitsVsEta", "ele track # lost hits vs eta", nbineta2D,etamin,etamax,nbinlhits,0.,lhitsmax);
00266 h_ele_lostHitsVsPhi = new TH2F( "h_ele_lostHitsVsPhi", "ele track # lost hits vs eta", nbinphi2D,phimin,phimax,nbinlhits,0.,lhitsmax);
00267 h_ele_lostHitsVsPt = new TH2F( "h_ele_lostHitsVsPt", "ele track # lost hits vs eta", nbinpt2D,0.,ptmax,nbinlhits,0.,lhitsmax);
00268 h_ele_chi2 = new TH1F( "h_ele_chi2", "ele track #chi^{2}", 100,0.,15.);
00269 h_ele_chi2VsEta = new TH2F( "h_ele_chi2VsEta", "ele track #chi^{2} vs eta", nbineta2D,etamin,etamax,50,0.,15.);
00270 h_ele_chi2VsPhi = new TH2F( "h_ele_chi2VsPhi", "ele track #chi^{2} vs phi", nbinphi2D,phimin,phimax,50,0.,15.);
00271 h_ele_chi2VsPt = new TH2F( "h_ele_chi2VsPt", "ele track #chi^{2} vs pt", nbinpt2D,0.,ptmax,50,0.,15.);
00272 h_ele_PinMnPout = new TH1F( "h_ele_PinMnPout", "ele track inner p - outer p, mean" ,nbinp,0.,200.);
00273 h_ele_PinMnPout_mode = new TH1F( "h_ele_PinMnPout_mode", "ele track inner p - outer p, mode" ,nbinp,0.,100.);
00274 h_ele_PinMnPoutVsEta_mode = new TH2F( "h_ele_PinMnPoutVsEta_mode", "ele track inner p - outer p vs eta, mode" ,nbineta2D, etamin,etamax,nbinp2D,0.,100.);
00275 h_ele_PinMnPoutVsPhi_mode = new TH2F( "h_ele_PinMnPoutVsPhi_mode", "ele track inner p - outer p vs phi, mode" ,nbinphi2D, phimin,phimax,nbinp2D,0.,100.);
00276 h_ele_PinMnPoutVsPt_mode = new TH2F( "h_ele_PinMnPoutVsPt_mode", "ele track inner p - outer p vs pt, mode" ,nbinpt2D, 0.,ptmax,nbinp2D,0.,100.);
00277 h_ele_PinMnPoutVsE_mode = new TH2F( "h_ele_PinMnPoutVsE_mode", "ele track inner p - outer p vs E, mode" ,nbinp2D, 0.,200.,nbinp2D,0.,100.);
00278 h_ele_PinMnPoutVsChi2_mode = new TH2F( "h_ele_PinMnPoutVsChi2_mode", "ele track inner p - outer p vs track chi2, mode" ,50, 0.,20.,nbinp2D,0.,100.);
00279 h_ele_outerP = new TH1F( "h_ele_outerP", "ele track outer p, mean", nbinp,0.,pmax);
00280 h_ele_outerP_mode = new TH1F( "h_ele_outerP_mode", "ele track outer p, mode", nbinp,0.,pmax);
00281 h_ele_outerPVsEta_mode = new TH2F( "h_ele_outerPVsEta_mode", "ele track outer p vs eta mode", nbineta2D,etamin,etamax,50,0.,pmax);
00282 h_ele_outerPt = new TH1F( "h_ele_outerPt", "ele track outer p_{T}, mean", nbinpt,0.,ptmax);
00283 h_ele_outerPt_mode = new TH1F( "h_ele_outerPt_mode", "ele track outer p_{T}, mode", nbinpt,0.,ptmax);
00284 h_ele_outerPtVsEta_mode = new TH2F( "h_ele_outerPtVsEta_mode", "ele track outer p_{T} vs eta, mode", nbineta2D,etamin,etamax,nbinpt2D,0.,ptmax);
00285 h_ele_outerPtVsPhi_mode = new TH2F( "h_ele_outerPtVsPhi_mode", "ele track outer p_{T} vs phi, mode", nbinphi2D,phimin,phimax,nbinpt2D,0.,ptmax);
00286 h_ele_outerPtVsPt_mode = new TH2F( "h_ele_outerPtVsPt_mode", "ele track outer p_{T} vs pt, mode", nbinpt2D,0.,100.,nbinpt2D,0.,ptmax);
00287
00288
00289 h_ele_EoP = new TH1F( "h_ele_EoP", "ele E/P_{vertex}", nbineop,0.,eopmax); h_ele_EoP->Sumw2();
00290 h_ele_EoP_eg = new TH1F( "h_ele_EoP_eg", "ele E/P_{vertex}, ecal driven", nbineop,0.,eopmax);
00291 h_ele_EoP_eg->Sumw2();
00292 h_ele_EoP_barrel = new TH1F( "h_ele_EoP_barrel", "ele E/P_{vertex} barrel", nbineop,0.,eopmax);
00293 h_ele_EoP_barrel->Sumw2();
00294 h_ele_EoP_eg_barrel = new TH1F( "h_ele_EoP_eg_barrel", "ele E/P_{vertex}, ecal driven barrel", nbineop,0.,eopmax);
00295 h_ele_EoP_eg_barrel->Sumw2();
00296 h_ele_EoP_endcaps = new TH1F( "h_ele_EoP_endcaps", "ele E/P_{vertex} endcaps", nbineop,0.,eopmax);
00297 h_ele_EoP_endcaps->Sumw2();
00298 h_ele_EoP_eg_endcaps = new TH1F( "h_ele_EoP_eg_endcaps", "ele E/P_{vertex}, ecal driven endcaps", nbineop,0.,eopmax);
00299 h_ele_EoP_eg_endcaps->Sumw2();
00300 h_ele_EoPVsEta = new TH2F( "h_ele_EoPVsEta", "ele E/P_{vertex} vs eta", nbineta2D,etamin,etamax,nbineop2D,0.,eopmaxsht);
00301 h_ele_EoPVsPhi = new TH2F( "h_ele_EoPVsPhi", "ele E/P_{vertex} vs phi", nbinphi2D,phimin,phimax,nbineop2D,0.,eopmaxsht);
00302 h_ele_EoPVsE = new TH2F( "h_ele_EoPVsE", "ele E/P_{vertex} vs E", 50,0.,pmax ,50,0.,5.);
00303 h_ele_EseedOP = new TH1F( "h_ele_EseedOP", "ele E_{seed}/P_{vertex}", nbineop,0.,eopmax);
00304 h_ele_EseedOP->Sumw2();
00305 h_ele_EseedOP_eg = new TH1F( "h_ele_EseedOP_eg", "ele E_{seed}/P_{vertex}, ecal driven", nbineop,0.,eopmax);
00306 h_ele_EseedOP_eg->Sumw2();
00307 h_ele_EseedOP_barrel = new TH1F( "h_ele_EseedOP_barrel", "ele E_{seed}/P_{vertex} barrel", nbineop,0.,eopmax);
00308 h_ele_EseedOP_barrel->Sumw2();
00309 h_ele_EseedOP_eg_barrel = new TH1F( "h_ele_EseedOP_eg_barrel", "ele E_{seed}/P_{vertex}, ecal driven barrel", nbineop,0.,eopmax);
00310 h_ele_EseedOP_eg_barrel->Sumw2();
00311 h_ele_EseedOP_endcaps = new TH1F( "h_ele_EseedOP_endcaps", "ele E_{seed}/P_{vertex} endcaps", nbineop,0.,eopmax);
00312 h_ele_EseedOP_endcaps->Sumw2();
00313 h_ele_EseedOP_eg_endcaps = new TH1F( "h_ele_EseedOP_eg_endcaps", "ele E_{seed}/P_{vertex}, ecal driven, endcaps", nbineop,0.,eopmax);
00314 h_ele_EseedOP_eg_endcaps->Sumw2();
00315 h_ele_EseedOPVsEta = new TH2F( "h_ele_EseedOPVsEta", "ele E_{seed}/P_{vertex} vs eta", nbineta2D,etamin,etamax,nbineop2D,0.,eopmaxsht);
00316 h_ele_EseedOPVsPhi = new TH2F( "h_ele_EseedOPVsPhi", "ele E_{seed}/P_{vertex} vs phi", nbinphi2D,phimin,phimax,nbineop2D,0.,eopmaxsht);
00317 h_ele_EseedOPVsE = new TH2F( "h_ele_EseedOPVsE", "ele E_{seed}/P_{vertex} vs E", 50,0.,pmax ,50,0.,5.);
00318 h_ele_EoPout = new TH1F( "h_ele_EoPout", "ele E_{seed}/P_{out}", nbineop,0.,eopmax);
00319 h_ele_EoPout->Sumw2();
00320 h_ele_EoPout_eg = new TH1F( "h_ele_EoPout_eg", "ele E_{seed}/P_{out}, ecal driven", nbineop,0.,eopmax);
00321 h_ele_EoPout_eg->Sumw2();
00322 h_ele_EoPout_barrel = new TH1F( "h_ele_EoPout_barrel", "ele E_{seed}/P_{out} barrel", nbineop,0.,eopmax);
00323 h_ele_EoPout_barrel->Sumw2();
00324 h_ele_EoPout_eg_barrel = new TH1F( "h_ele_EoPout_eg_barrel", "ele E_{seed}/P_{out}, ecal driven, barrel", nbineop,0.,eopmax);
00325 h_ele_EoPout_eg_barrel->Sumw2();
00326 h_ele_EoPout_endcaps = new TH1F( "h_ele_EoPout_endcaps", "ele E_{seed}/P_{out} endcaps", nbineop,0.,eopmax);
00327 h_ele_EoPout_endcaps->Sumw2();
00328 h_ele_EoPout_eg_endcaps = new TH1F( "h_ele_EoPout_eg_endcaps", "ele E_{seed}/P_{out}, ecal driven, endcaps", nbineop,0.,eopmax);
00329 h_ele_EoPout_eg_endcaps->Sumw2();
00330 h_ele_EoPoutVsEta = new TH2F( "h_ele_EoPoutVsEta", "ele E/P_{out} vs eta", nbineta2D,etamin,etamax,nbineop2D,0.,eopmaxsht);
00331 h_ele_EoPoutVsPhi = new TH2F( "h_ele_EoPoutVsPhi", "ele E/P_{out} vs phi", nbinphi2D,phimin,phimax,nbineop2D,0.,eopmaxsht);
00332 h_ele_EoPoutVsE = new TH2F( "h_ele_EoPoutVsE", "ele E/P_{out} vs E", nbinp2D,0.,pmax,nbineop2D,0.,eopmaxsht);
00333 h_ele_EeleOPout = new TH1F( "h_ele_EeleOPout", "ele E_{ele}/P_{out}", nbineop,0.,eopmax);
00334 h_ele_EeleOPout->Sumw2();
00335 h_ele_EeleOPout_eg = new TH1F( "h_ele_EeleOPout_eg", "ele E_{ele}/P_{out}, ecal driven", nbineop,0.,eopmax);
00336 h_ele_EeleOPout_eg->Sumw2();
00337 h_ele_EeleOPout_barrel = new TH1F( "h_ele_EeleOPout_barrel", "ele E_{ele}/P_{out} barrel", nbineop,0.,eopmax);
00338 h_ele_EeleOPout_barrel->Sumw2();
00339 h_ele_EeleOPout_eg_barrel = new TH1F( "h_ele_EeleOPout_eg_barrel", "ele E_{ele}/P_{out}, ecal driven, barrel", nbineop,0.,eopmax);
00340 h_ele_EeleOPout_eg_barrel->Sumw2();
00341 h_ele_EeleOPout_endcaps = new TH1F( "h_ele_EeleOPout_endcaps", "ele E_{ele}/P_{out} endcaps", nbineop,0.,eopmax);
00342 h_ele_EeleOPout_endcaps->Sumw2();
00343 h_ele_EeleOPout_eg_endcaps = new TH1F( "h_ele_EeleOPout_eg_endcaps", "ele E_{ele}/P_{out}, ecal driven, endcaps", nbineop,0.,eopmax);
00344 h_ele_EeleOPout_eg_endcaps->Sumw2();
00345 h_ele_EeleOPoutVsEta = new TH2F( "h_ele_EeleOPoutVsEta", "ele E_{ele}/P_{out} vs eta", nbineta2D,etamin,etamax,nbineop2D,0.,eopmaxsht);
00346 h_ele_EeleOPoutVsPhi = new TH2F( "h_ele_EeleOPoutVsPhi", "ele E_{ele}/P_{out} vs phi", nbinphi2D,phimin,phimax,nbineop2D,0.,eopmaxsht);
00347 h_ele_EeleOPoutVsE = new TH2F( "h_ele_EeleOPoutVsE", "ele E_{ele}/P_{out} vs E", nbinp2D,0.,pmax,nbineop2D,0.,eopmaxsht);
00348 h_ele_dEtaSc_propVtx = new TH1F( "h_ele_dEtaSc_propVtx", "ele #eta_{sc} - #eta_{tr}, prop from vertex", nbindetamatch,detamatchmin,detamatchmax);
00349 h_ele_dEtaSc_propVtx->Sumw2();
00350 h_ele_dEtaSc_propVtx_eg = new TH1F( "h_ele_dEtaSc_propVtx_eg", "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven", nbindetamatch,detamatchmin,detamatchmax);
00351 h_ele_dEtaSc_propVtx_eg->Sumw2();
00352 h_ele_dEtaSc_propVtx_barrel = new TH1F( "h_ele_dEtaSc_propVtx_barrel", "ele #eta_{sc} - #eta_{tr}, prop from vertex, barrel", nbindetamatch,detamatchmin,detamatchmax);
00353 h_ele_dEtaSc_propVtx_barrel->Sumw2();
00354 h_ele_dEtaSc_propVtx_eg_barrel = new TH1F( "h_ele_dEtaSc_propVtx_eg_barrel", "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven, barrel", nbindetamatch,detamatchmin,detamatchmax);
00355 h_ele_dEtaSc_propVtx_eg_barrel->Sumw2();
00356 h_ele_dEtaSc_propVtx_endcaps = new TH1F( "h_ele_dEtaSc_propVtx_endcaps", "ele #eta_{sc} - #eta_{tr}, prop from vertex, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00357 h_ele_dEtaSc_propVtx_endcaps->Sumw2();
00358 h_ele_dEtaSc_propVtx_eg_endcaps = new TH1F( "h_ele_dEtaSc_propVtx_eg_endcaps", "ele #eta_{sc} - #eta_{tr}, prop from vertex, ecal driven, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00359 h_ele_dEtaSc_propVtx_eg_endcaps->Sumw2();
00360 h_ele_dEtaScVsEta_propVtx = new TH2F( "h_ele_dEtaScVsEta_propVtx", "ele #eta_{sc} - #eta_{tr} vs eta, prop from vertex", nbineta2D,etamin,etamax,nbindetamatch2D,detamatchmin,detamatchmax);
00361 h_ele_dEtaScVsPhi_propVtx = new TH2F( "h_ele_dEtaScVsPhi_propVtx", "ele #eta_{sc} - #eta_{tr} vs phi, prop from vertex", nbinphi2D,phimin,phimax,nbindetamatch2D,detamatchmin,detamatchmax);
00362 h_ele_dEtaScVsPt_propVtx = new TH2F( "h_ele_dEtaScVsPt_propVtx", "ele #eta_{sc} - #eta_{tr} vs pt, prop from vertex", nbinpt2D,0.,ptmax,nbindetamatch2D,detamatchmin,detamatchmax);
00363 h_ele_dPhiSc_propVtx = new TH1F( "h_ele_dPhiSc_propVtx", "ele #phi_{sc} - #phi_{tr}, prop from vertex", nbindphimatch,dphimatchmin,dphimatchmax);
00364 h_ele_dPhiSc_propVtx->Sumw2();
00365 h_ele_dPhiSc_propVtx_eg = new TH1F( "h_ele_dPhiSc_propVtx_eg", "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven", nbindphimatch,dphimatchmin,dphimatchmax);
00366 h_ele_dPhiSc_propVtx_eg->Sumw2();
00367 h_ele_dPhiSc_propVtx_barrel = new TH1F( "h_ele_dPhiSc_propVtx_barrel", "ele #phi_{sc} - #phi_{tr}, prop from vertex, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00368 h_ele_dPhiSc_propVtx_barrel->Sumw2();
00369 h_ele_dPhiSc_propVtx_eg_barrel = new TH1F( "h_ele_dPhiSc_propVtx_eg_barrel", "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00370 h_ele_dPhiSc_propVtx_eg_barrel->Sumw2();
00371 h_ele_dPhiSc_propVtx_endcaps = new TH1F( "h_ele_dPhiSc_propVtx_endcaps", "ele #phi_{sc} - #phi_{tr}, prop from vertex, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00372 h_ele_dPhiSc_propVtx_endcaps->Sumw2();
00373 h_ele_dPhiSc_propVtx_eg_endcaps = new TH1F( "h_ele_dPhiSc_propVtx_eg_endcaps", "ele #phi_{sc} - #phi_{tr}, prop from vertex, ecal driven, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00374 h_ele_dPhiSc_propVtx_eg_endcaps->Sumw2();
00375 h_ele_dPhiScVsEta_propVtx = new TH2F( "h_ele_dPhiScVsEta_propVtx", "ele #phi_{sc} - #phi_{tr} vs eta, prop from vertex", nbineta2D,etamin,etamax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00376 h_ele_dPhiScVsPhi_propVtx = new TH2F( "h_ele_dPhiScVsPhi_propVtx", "ele #phi_{sc} - #phi_{tr} vs phi, prop from vertex", nbinphi2D,phimin,phimax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00377 h_ele_dPhiScVsPt_propVtx = new TH2F( "h_ele_dPhiScVsPt_propVtx", "ele #phi_{sc} - #phi_{tr} vs pt, prop from vertex", nbinpt2D,0.,ptmax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00378 h_ele_dEtaCl_propOut = new TH1F( "h_ele_dEtaCl_propOut", "ele #eta_{cl} - #eta_{tr}, prop from outermost", nbindetamatch,detamatchmin,detamatchmax);
00379 h_ele_dEtaCl_propOut->Sumw2();
00380 h_ele_dEtaCl_propOut_eg = new TH1F( "h_ele_dEtaCl_propOut_eg", "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven", nbindetamatch,detamatchmin,detamatchmax);
00381 h_ele_dEtaCl_propOut_eg->Sumw2();
00382 h_ele_dEtaCl_propOut_barrel = new TH1F( "h_ele_dEtaCl_propOut_barrel", "ele #eta_{cl} - #eta_{tr}, prop from outermost, barrel", nbindetamatch,detamatchmin,detamatchmax);
00383 h_ele_dEtaCl_propOut_barrel->Sumw2();
00384 h_ele_dEtaCl_propOut_eg_barrel = new TH1F( "h_ele_dEtaCl_propOut_eg_barrel", "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven, barrel", nbindetamatch,detamatchmin,detamatchmax);
00385 h_ele_dEtaCl_propOut_eg_barrel->Sumw2();
00386 h_ele_dEtaCl_propOut_endcaps = new TH1F( "h_ele_dEtaCl_propOut_endcaps", "ele #eta_{cl} - #eta_{tr}, prop from outermost, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00387 h_ele_dEtaCl_propOut_endcaps->Sumw2();
00388 h_ele_dEtaCl_propOut_eg_endcaps = new TH1F( "h_ele_dEtaCl_propOut_eg_endcaps", "ele #eta_{cl} - #eta_{tr}, prop from outermost, ecal driven, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00389 h_ele_dEtaCl_propOut_eg_endcaps->Sumw2();
00390 h_ele_dEtaClVsEta_propOut = new TH2F( "h_ele_dEtaClVsEta_propOut", "ele #eta_{cl} - #eta_{tr} vs eta, prop from out", nbineta2D,etamin,etamax,nbindetamatch2D,detamatchmin,detamatchmax);
00391 h_ele_dEtaClVsPhi_propOut = new TH2F( "h_ele_dEtaClVsPhi_propOut", "ele #eta_{cl} - #eta_{tr} vs phi, prop from out", nbinphi2D,phimin,phimax,nbindetamatch2D,detamatchmin,detamatchmax);
00392 h_ele_dEtaClVsPt_propOut = new TH2F( "h_ele_dEtaScVsPt_propOut", "ele #eta_{cl} - #eta_{tr} vs pt, prop from out", nbinpt2D,0.,ptmax,nbindetamatch2D,detamatchmin,detamatchmax);
00393 h_ele_dPhiCl_propOut = new TH1F( "h_ele_dPhiCl_propOut", "ele #phi_{cl} - #phi_{tr}, prop from outermost", nbindphimatch,dphimatchmin,dphimatchmax);
00394 h_ele_dPhiCl_propOut->Sumw2();
00395 h_ele_dPhiCl_propOut_eg = new TH1F( "h_ele_dPhiCl_propOut_eg", "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven", nbindphimatch,dphimatchmin,dphimatchmax);
00396 h_ele_dPhiCl_propOut_eg->Sumw2();
00397 h_ele_dPhiCl_propOut_barrel = new TH1F( "h_ele_dPhiCl_propOut_barrel", "ele #phi_{cl} - #phi_{tr}, prop from outermost, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00398 h_ele_dPhiCl_propOut_barrel->Sumw2();
00399 h_ele_dPhiCl_propOut_eg_barrel = new TH1F( "h_ele_dPhiCl_propOut_eg_barrel", "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00400 h_ele_dPhiCl_propOut_eg_barrel->Sumw2();
00401 h_ele_dPhiCl_propOut_endcaps = new TH1F( "h_ele_dPhiCl_propOut_endcaps", "ele #phi_{cl} - #phi_{tr}, prop from outermost, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00402 h_ele_dPhiCl_propOut_endcaps->Sumw2();
00403 h_ele_dPhiCl_propOut_eg_endcaps = new TH1F( "h_ele_dPhiCl_propOut_eg_endcaps", "ele #phi_{cl} - #phi_{tr}, prop from outermost, ecal driven, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00404 h_ele_dPhiCl_propOut_eg_endcaps->Sumw2();
00405 h_ele_dPhiClVsEta_propOut = new TH2F( "h_ele_dPhiClVsEta_propOut", "ele #phi_{cl} - #phi_{tr} vs eta, prop from out", nbineta2D,etamin,etamax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00406 h_ele_dPhiClVsPhi_propOut = new TH2F( "h_ele_dPhiClVsPhi_propOut", "ele #phi_{cl} - #phi_{tr} vs phi, prop from out", nbinphi2D,phimin,phimax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00407 h_ele_dPhiClVsPt_propOut = new TH2F( "h_ele_dPhiSClsPt_propOut", "ele #phi_{cl} - #phi_{tr} vs pt, prop from out", nbinpt2D,0.,ptmax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00408 h_ele_dEtaEleCl_propOut = new TH1F( "h_ele_dEtaEleCl_propOut", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost", nbindetamatch,detamatchmin,detamatchmax);
00409 h_ele_dEtaEleCl_propOut->Sumw2();
00410 h_ele_dEtaEleCl_propOut_eg = new TH1F( "h_ele_dEtaEleCl_propOut_eg", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven", nbindetamatch,detamatchmin,detamatchmax);
00411 h_ele_dEtaEleCl_propOut_eg->Sumw2();
00412 h_ele_dEtaEleCl_propOut_barrel = new TH1F( "h_ele_dEtaEleCl_propOut_barrel", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, barrel", nbindetamatch,detamatchmin,detamatchmax);
00413 h_ele_dEtaEleCl_propOut_barrel->Sumw2();
00414 h_ele_dEtaEleCl_propOut_eg_barrel = new TH1F( "h_ele_dEtaEleCl_propOut_eg_barrel", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven, barrel", nbindetamatch,detamatchmin,detamatchmax);
00415 h_ele_dEtaEleCl_propOut_eg_barrel->Sumw2();
00416 h_ele_dEtaEleCl_propOut_endcaps = new TH1F( "h_ele_dEtaEleCl_propOut_endcaps", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00417 h_ele_dEtaEleCl_propOut_endcaps->Sumw2();
00418 h_ele_dEtaEleCl_propOut_eg_endcaps = new TH1F( "h_ele_dEtaEleCl_propOut_eg_endcaps", "ele #eta_{EleCl} - #eta_{tr}, prop from outermost, ecal driven, endcaps", nbindetamatch,detamatchmin,detamatchmax);
00419 h_ele_dEtaEleCl_propOut_eg_endcaps->Sumw2();
00420 h_ele_dEtaEleClVsEta_propOut = new TH2F( "h_ele_dEtaEleClVsEta_propOut", "ele #eta_{EleCl} - #eta_{tr} vs eta, prop from out", nbineta2D,etamin,etamax,nbindetamatch2D,detamatchmin,detamatchmax);
00421 h_ele_dEtaEleClVsPhi_propOut = new TH2F( "h_ele_dEtaEleClVsPhi_propOut", "ele #eta_{EleCl} - #eta_{tr} vs phi, prop from out", nbinphi2D,phimin,phimax,nbindetamatch2D,detamatchmin,detamatchmax);
00422 h_ele_dEtaEleClVsPt_propOut = new TH2F( "h_ele_dEtaScVsPt_propOut", "ele #eta_{EleCl} - #eta_{tr} vs pt, prop from out", nbinpt2D,0.,ptmax,nbindetamatch2D,detamatchmin,detamatchmax);
00423 h_ele_dPhiEleCl_propOut = new TH1F( "h_ele_dPhiEleCl_propOut", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost", nbindphimatch,dphimatchmin,dphimatchmax);
00424 h_ele_dPhiEleCl_propOut->Sumw2();
00425 h_ele_dPhiEleCl_propOut_eg = new TH1F( "h_ele_dPhiEleCl_propOut_eg", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven", nbindphimatch,dphimatchmin,dphimatchmax);
00426 h_ele_dPhiEleCl_propOut_eg->Sumw2();
00427 h_ele_dPhiEleCl_propOut_barrel = new TH1F( "h_ele_dPhiEleCl_propOut_barrel", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00428 h_ele_dPhiEleCl_propOut_barrel->Sumw2();
00429 h_ele_dPhiEleCl_propOut_eg_barrel = new TH1F( "h_ele_dPhiEleCl_propOut_eg_barrel", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven, barrel", nbindphimatch,dphimatchmin,dphimatchmax);
00430 h_ele_dPhiEleCl_propOut_eg_barrel->Sumw2();
00431 h_ele_dPhiEleCl_propOut_endcaps = new TH1F( "h_ele_dPhiEleCl_propOut_endcaps", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00432 h_ele_dPhiEleCl_propOut_endcaps->Sumw2();
00433 h_ele_dPhiEleCl_propOut_eg_endcaps = new TH1F( "h_ele_dPhiEleCl_propOut_eg_endcaps", "ele #phi_{EleCl} - #phi_{tr}, prop from outermost, ecal driven, endcaps", nbindphimatch,dphimatchmin,dphimatchmax);
00434 h_ele_dPhiEleCl_propOut_eg_endcaps->Sumw2();
00435 h_ele_dPhiEleClVsEta_propOut = new TH2F( "h_ele_dPhiEleClVsEta_propOut", "ele #phi_{EleCl} - #phi_{tr} vs eta, prop from out", nbineta2D,etamin,etamax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00436 h_ele_dPhiEleClVsPhi_propOut = new TH2F( "h_ele_dPhiEleClVsPhi_propOut", "ele #phi_{EleCl} - #phi_{tr} vs phi, prop from out", nbinphi2D,phimin,phimax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00437 h_ele_dPhiEleClVsPt_propOut = new TH2F( "h_ele_dPhiSEleClsPt_propOut", "ele #phi_{EleCl} - #phi_{tr} vs pt, prop from out", nbinpt2D,0.,ptmax,nbindphimatch2D,dphimatchmin,dphimatchmax);
00438
00439 h_ele_HoE = new TH1F("h_ele_HoE", "ele hadronic energy / em energy", nbinhoe, hoemin, hoemax) ;
00440 h_ele_HoE->Sumw2();
00441 h_ele_HoE_eg = new TH1F("h_ele_HoE_eg", "ele hadronic energy / em energy, ecal driven", nbinhoe, hoemin, hoemax) ;
00442 h_ele_HoE_eg->Sumw2();
00443 h_ele_HoE_barrel = new TH1F("h_ele_HoE_barrel", "ele hadronic energy / em energy, barrel", nbinhoe, hoemin, hoemax) ;
00444 h_ele_HoE_barrel->Sumw2();
00445 h_ele_HoE_eg_barrel = new TH1F("h_ele_HoE_eg_barrel", "ele hadronic energy / em energy, ecal driven, barrel", nbinhoe, hoemin, hoemax) ;
00446 h_ele_HoE_eg_barrel->Sumw2();
00447 h_ele_HoE_endcaps = new TH1F("h_ele_HoE_endcaps", "ele hadronic energy / em energy, endcaps", nbinhoe, hoemin, hoemax) ;
00448 h_ele_HoE_endcaps->Sumw2();
00449 h_ele_HoE_eg_endcaps = new TH1F("h_ele_HoE_eg_endcaps", "ele hadronic energy / em energy, ecal driven, endcaps", nbinhoe, hoemin, hoemax) ;
00450 h_ele_HoE_eg_endcaps->Sumw2();
00451 h_ele_HoE_fiducial = new TH1F("h_ele_HoE_fiducial", "ele hadronic energy / em energy",nbinhoe, hoemin, hoemax) ;
00452 h_ele_HoEVsEta = new TH2F("h_ele_HoEVsEta", "ele hadronic energy / em energy vs eta", nbineta,etamin,etamax,nbinhoe, hoemin, hoemax) ;
00453 h_ele_HoEVsPhi = new TH2F("h_ele_HoEVsPhi", "ele hadronic energy / em energy vs phi", nbinphi2D,phimin,phimax,nbinhoe, hoemin, hoemax) ;
00454 h_ele_HoEVsE = new TH2F("h_ele_HoEVsE", "ele hadronic energy / em energy vs E", nbinp, 0.,300.,nbinhoe, hoemin, hoemax) ;
00455
00456 h_ele_seed_dphi2_ = new TH1F("h_ele_seedDphi2", "ele seed dphi 2nd layer", 50,-0.003,+0.003) ;
00457 h_ele_seed_dphi2VsEta_ = new TH2F("h_ele_seedDphi2VsEta", "ele seed dphi 2nd layer vs eta", nbineta2D,etamin,etamax,50,-0.003,+0.003) ;
00458 h_ele_seed_dphi2VsPt_ = new TH2F("h_ele_seedDphi2VsPt", "ele seed dphi 2nd layer vs pt", nbinpt2D,0.,ptmax,50,-0.003,+0.003) ;
00459 h_ele_seed_drz2_ = new TH1F("h_ele_seedDrz2", "ele seed dr/dz 2nd layer", 50,-0.03,+0.03) ;
00460 h_ele_seed_drz2VsEta_ = new TH2F("h_ele_seedDrz2VsEta", "ele seed dr/dz 2nd layer vs eta", nbineta2D,etamin,etamax,50,-0.03,+0.03) ;
00461 h_ele_seed_drz2VsPt_ = new TH2F("h_ele_seedDrz2VsPt", "ele seed dr/dz 2nd layer vs pt", nbinpt2D,0.,ptmax,50,-0.03,+0.03) ;
00462 h_ele_seed_subdet2_ = new TH1F("h_ele_seedSubdet2", "ele seed subdet 2nd layer", 10,0.,10.) ;
00463
00464
00465 h_ele_classes = new TH1F( "h_ele_classes", "electron classes", 20,0.0,20.);
00466 h_ele_eta = new TH1F( "h_ele_eta", "ele electron eta", nbineta/2,0.0,etamax);
00467 h_ele_eta_golden = new TH1F( "h_ele_eta_golden", "ele electron eta golden", nbineta/2,0.0,etamax);
00468 h_ele_eta_bbrem = new TH1F( "h_ele_eta_bbrem", "ele electron eta bbrem", nbineta/2,0.0,etamax);
00469 h_ele_eta_narrow = new TH1F( "h_ele_eta_narrow", "ele electron eta narrow", nbineta/2,0.0,etamax);
00470 h_ele_eta_shower = new TH1F( "h_ele_eta_show", "el, electron eta showering", nbineta/2,0.0,etamax);
00471 h_ele_PinVsPoutGolden_mode = new TH2F( "h_ele_PinVsPoutGolden_mode", "ele track inner p vs outer p, golden, mode" ,nbinp2D,0.,pmax,50,0.,pmax);
00472 h_ele_PinVsPoutShowering_mode = new TH2F( "h_ele_PinVsPoutShowering_mode", "ele track inner p vs outer p vs eta, showering, mode" ,nbinp2D,0.,pmax,50,0.,pmax);
00473 h_ele_PinVsPoutGolden_mean = new TH2F( "h_ele_PinVsPoutGolden_mean", "ele track inner p vs outer p, golden, mean" ,nbinp2D,0.,pmax,50,0.,pmax);
00474 h_ele_PinVsPoutShowering_mean = new TH2F( "h_ele_PinVsPoutShowering_mean", "ele track inner p vs outer p, showering, mean" ,nbinp2D,0.,pmax,50,0.,pmax);
00475 h_ele_PtinVsPtoutGolden_mode = new TH2F( "h_ele_PtinVsPtoutGolden_mode", "ele track inner pt vs outer pt, golden, mode" ,nbinpt2D,0.,ptmax,50,0.,ptmax);
00476 h_ele_PtinVsPtoutShowering_mode = new TH2F( "h_ele_PtinVsPtoutShowering_mode", "ele track inner pt vs outer pt, showering, mode" ,nbinpt2D,0.,ptmax,50,0.,ptmax);
00477 h_ele_PtinVsPtoutGolden_mean = new TH2F( "h_ele_PtinVsPtoutGolden_mean", "ele track inner pt vs outer pt, golden, mean" ,nbinpt2D,0.,ptmax,50,0.,ptmax);
00478 h_ele_PtinVsPtoutShowering_mean = new TH2F( "h_ele_PtinVsPtoutShowering_mean", "ele track inner pt vs outer pt, showering, mean" ,nbinpt2D,0.,ptmax,50,0.,ptmax);
00479 histSclEoEmatchingObjectGolden_barrel = new TH1F("h_scl_EoEmatchingObject golden, barrel","ele SC energy over matching jet energy, golden, barrel",100,0.2,1.2);
00480 histSclEoEmatchingObjectGolden_endcaps = new TH1F("h_scl_EoEmatchingObject golden, endcaps","ele SC energy over matching jet energy, golden, endcaps",100,0.2,1.2);
00481 histSclEoEmatchingObjectShowering_barrel = new TH1F("h_scl_EoEmatchingObject showering, barrel","ele SC energy over matching jet energy, showering, barrel",100,0.2,1.2);
00482 histSclEoEmatchingObjectShowering_endcaps = new TH1F("h_scl_EoEmatchingObject showering, endcaps","ele SC energy over matching jet energy, showering, endcaps",100,0.2,1.2);
00483
00484
00485 h_ele_tkSumPt_dr03 = new TH1F("h_ele_tkSumPt_dr03","tk isolation sum, dR=0.3",100,0.0,20.);
00486 h_ele_ecalRecHitSumEt_dr03= new TH1F("h_ele_ecalRecHitSumEt_dr03","ecal isolation sum, dR=0.3",100,0.0,20.);
00487 h_ele_hcalDepth1TowerSumEt_dr03= new TH1F("h_ele_hcalDepth1TowerSumEt_dr03","hcal depth1 isolation sum, dR=0.3",100,0.0,20.);
00488 h_ele_hcalDepth2TowerSumEt_dr03= new TH1F("h_ele_hcalDepth2TowerSumEt_dr03","hcal depth2 isolation sum, dR=0.3",100,0.0,20.);
00489 h_ele_tkSumPt_dr04= new TH1F("h_ele_tkSumPt_dr04","hcal isolation sum",100,0.0,20.);
00490 h_ele_ecalRecHitSumEt_dr04= new TH1F("h_ele_ecalRecHitSumEt_dr04","ecal isolation sum, dR=0.4",100,0.0,20.);
00491 h_ele_hcalDepth1TowerSumEt_dr04= new TH1F("h_ele_hcalDepth1TowerSumEt_dr04","hcal depth1 isolation sum, dR=0.4",100,0.0,20.);
00492 h_ele_hcalDepth2TowerSumEt_dr04= new TH1F("h_ele_hcalDepth2TowerSumEt_dr04","hcal depth2 isolation sum, dR=0.4",100,0.0,20.);
00493
00494
00495 h_ele_fbrem = new TH1F( "h_ele_fbrem","ele brem fraction, mode",100,0.,1.);
00496 h_ele_fbremVsEta_mode = new TProfile( "h_ele_fbremvsEtamode","mean ele brem fraction vs eta, mode",nbineta2D,etamin,etamax,0.,1.);
00497 h_ele_fbremVsEta_mean = new TProfile( "h_ele_fbremvsEtamean","mean ele brem fraction vs eta, mean",nbineta2D,etamin,etamax,0.,1.);
00498
00499
00500 h_ele_mva = new TH1F( "h_ele_mva","ele mva",100,-1.,1.);
00501 h_ele_provenance = new TH1F( "h_ele_provenance","ele provenance",5,-2.,3.);
00502
00503
00504 h_matchingObjectNum -> GetXaxis()-> SetTitle("N_{GenJet}");
00505 h_matchingObjectNum -> GetYaxis()-> SetTitle("Events");
00506 h_matchingObjectEta -> GetXaxis()-> SetTitle("#eta_{GenJet}");
00507 h_matchingObjectEta -> GetYaxis()-> SetTitle("Events");
00508 h_matchingObjectP -> GetXaxis()-> SetTitle("E_{GenJet} (GeV)");
00509 h_matchingObjectP -> GetYaxis()-> SetTitle("Events");
00510 h_ele_foundHits -> GetXaxis()-> SetTitle("N_{hits}");
00511 h_ele_foundHits -> GetYaxis()-> SetTitle("Events");
00512 h_ele_ambiguousTracks -> GetXaxis()-> SetTitle("N_{ambiguous tracks}");
00513 h_ele_ambiguousTracks -> GetYaxis()-> SetTitle("Events");
00514 h_ele_lostHits -> GetXaxis()-> SetTitle("N_{lost hits}");
00515 h_ele_lostHits -> GetYaxis()-> SetTitle("Events");
00516 h_ele_chi2 -> GetXaxis()-> SetTitle("#Chi^{2}");
00517 h_ele_chi2 -> GetYaxis()-> SetTitle("Events");
00518 h_ele_charge -> GetXaxis()-> SetTitle("charge");
00519 h_ele_charge -> GetYaxis()-> SetTitle("Events");
00520 h_ele_vertexP -> GetXaxis()-> SetTitle("p_{vertex} (GeV/c)");
00521 h_ele_vertexP -> GetYaxis()-> SetTitle("Events");
00522 h_ele_vertexPt -> GetXaxis()-> SetTitle("p_{T vertex} (GeV/c)");
00523 h_ele_vertexPt -> GetYaxis()-> SetTitle("Events");
00524 h_ele_vertexEta -> GetXaxis()-> SetTitle("#eta");
00525 h_ele_vertexEta -> GetYaxis()-> SetTitle("Events");
00526 h_ele_vertexPhi -> GetXaxis()-> SetTitle("#phi (rad)");
00527 h_ele_vertexPhi -> GetYaxis()-> SetTitle("Events");
00528 h_ele_PoPmatchingObject -> GetXaxis()-> SetTitle("P/P_{gen jet}");
00529 h_ele_PoPmatchingObject -> GetYaxis()-> SetTitle("Events");
00530 h_ele_PoPmatchingObject_barrel -> GetXaxis()-> SetTitle("P/P_{gen jet}");
00531 h_ele_PoPmatchingObject_barrel -> GetYaxis()-> SetTitle("Events");
00532 h_ele_PoPmatchingObject_endcaps -> GetXaxis()-> SetTitle("P/P_{gen jet}");
00533 h_ele_PoPmatchingObject_endcaps -> GetYaxis()-> SetTitle("Events");
00534 histSclSigIEtaIEta_-> GetXaxis()-> SetTitle("#sigma_{i#eta i#eta}") ;
00535 histSclSigIEtaIEta_-> GetYaxis()-> SetTitle("Events") ;
00536 histSclSigIEtaIEta_barrel_-> GetXaxis()-> SetTitle("#sigma_{i#eta i#eta}") ;
00537 histSclSigIEtaIEta_barrel_-> GetYaxis()-> SetTitle("Events") ;
00538 histSclSigIEtaIEta_endcaps_-> GetXaxis()-> SetTitle("#sigma_{i#eta i#eta}") ;
00539 histSclSigIEtaIEta_endcaps_-> GetYaxis()-> SetTitle("Events") ;
00540 histSclE1x5_-> GetXaxis()-> SetTitle("E1x5 (GeV)") ;
00541 histSclE1x5_-> GetYaxis()-> SetTitle("Events") ;
00542 histSclE1x5_barrel_-> GetXaxis()-> SetTitle("E1x5 (GeV)") ;
00543 histSclE1x5_barrel_-> GetYaxis()-> SetTitle("Events") ;
00544 histSclE1x5_endcaps_-> GetXaxis()-> SetTitle("E1x5 (GeV)") ;
00545 histSclE1x5_endcaps_-> GetYaxis()-> SetTitle("Events") ;
00546 histSclE2x5max_-> GetXaxis()-> SetTitle("E2x5 (GeV)") ;
00547 histSclE2x5max_-> GetYaxis()-> SetTitle("Events") ;
00548 histSclE2x5max_barrel_-> GetXaxis()-> SetTitle("E2x5 (GeV)") ;
00549 histSclE2x5max_barrel_-> GetYaxis()-> SetTitle("Events") ;
00550 histSclE2x5max_endcaps_-> GetXaxis()-> SetTitle("E2x5 (GeV)") ;
00551 histSclE2x5max_endcaps_-> GetYaxis()-> SetTitle("Events") ;
00552 histSclE5x5_-> GetXaxis()-> SetTitle("E5x5 (GeV)") ;
00553 histSclE5x5_-> GetYaxis()-> SetTitle("Events") ;
00554 histSclE5x5_barrel_-> GetXaxis()-> SetTitle("E5x5 (GeV)") ;
00555 histSclE5x5_barrel_-> GetYaxis()-> SetTitle("Events") ;
00556 histSclE5x5_endcaps_-> GetXaxis()-> SetTitle("E5x5 (GeV)") ;
00557 histSclE5x5_endcaps_-> GetYaxis()-> SetTitle("Events") ;
00558 h_ele_EtaMnEtamatchingObject -> GetXaxis()-> SetTitle("#eta_{rec} - #eta_{jet}");
00559 h_ele_EtaMnEtamatchingObject -> GetYaxis()-> SetTitle("Events");
00560 h_ele_PhiMnPhimatchingObject -> GetXaxis()-> SetTitle("#phi_{rec} - #phi_{jet} (rad)");
00561 h_ele_PhiMnPhimatchingObject -> GetYaxis()-> SetTitle("Events");
00562 h_ele_PinMnPout -> GetXaxis()-> SetTitle("P_{vertex} - P_{out} (GeV/c)");
00563 h_ele_PinMnPout -> GetYaxis()-> SetTitle("Events");
00564 h_ele_PinMnPout_mode -> GetXaxis()-> SetTitle("P_{vertex} - P_{out}, mode (GeV/c)");
00565 h_ele_PinMnPout_mode -> GetYaxis()-> SetTitle("Events");
00566 h_ele_outerP -> GetXaxis()-> SetTitle("P_{out} (GeV/c)");
00567 h_ele_outerP -> GetYaxis()-> SetTitle("Events");
00568 h_ele_outerP_mode -> GetXaxis()-> SetTitle("P_{out} (GeV/c)");
00569 h_ele_outerP_mode -> GetYaxis()-> SetTitle("Events");
00570 h_ele_outerPt -> GetXaxis()-> SetTitle("P_{T out} (GeV/c)");
00571 h_ele_outerPt -> GetYaxis()-> SetTitle("Events");
00572 h_ele_outerPt_mode -> GetXaxis()-> SetTitle("P_{T out} (GeV/c)");
00573 h_ele_outerPt_mode -> GetYaxis()-> SetTitle("Events");
00574 h_ele_EoP -> GetXaxis()-> SetTitle("E/P_{vertex}");
00575 h_ele_EoP -> GetYaxis()-> SetTitle("Events");
00576 h_ele_EseedOP -> GetXaxis()-> SetTitle("E_{seed}/P_{vertex}");
00577 h_ele_EseedOP -> GetYaxis()-> SetTitle("Events");
00578 h_ele_EoPout -> GetXaxis()-> SetTitle("E_{seed}/P_{out}");
00579 h_ele_EoPout -> GetYaxis()-> SetTitle("Events");
00580 h_ele_EeleOPout -> GetXaxis()-> SetTitle("E_{ele}/P_{out}");
00581 h_ele_EeleOPout -> GetYaxis()-> SetTitle("Events");
00582 h_ele_EoP_barrel -> GetXaxis()-> SetTitle("E/P_{vertex}");
00583 h_ele_EoP_barrel -> GetYaxis()-> SetTitle("Events");
00584 h_ele_EseedOP_barrel -> GetXaxis()-> SetTitle("E_{seed}/P_{vertex}");
00585 h_ele_EseedOP_barrel -> GetYaxis()-> SetTitle("Events");
00586 h_ele_EoPout_barrel -> GetXaxis()-> SetTitle("E_{seed}/P_{out}");
00587 h_ele_EoPout_barrel -> GetYaxis()-> SetTitle("Events");
00588 h_ele_EeleOPout_barrel -> GetXaxis()-> SetTitle("E_{ele}/P_{out}");
00589 h_ele_EeleOPout_barrel -> GetYaxis()-> SetTitle("Events");
00590 h_ele_EoP_endcaps -> GetXaxis()-> SetTitle("E/P_{vertex}");
00591 h_ele_EoP_endcaps -> GetYaxis()-> SetTitle("Events");
00592 h_ele_EseedOP_endcaps -> GetXaxis()-> SetTitle("E_{seed}/P_{vertex}");
00593 h_ele_EseedOP_endcaps -> GetYaxis()-> SetTitle("Events");
00594 h_ele_EoPout_endcaps -> GetXaxis()-> SetTitle("E_{seed}/P_{out}");
00595 h_ele_EoPout_endcaps -> GetYaxis()-> SetTitle("Events");
00596 h_ele_EeleOPout_endcaps -> GetXaxis()-> SetTitle("E_{ele}/P_{out}");
00597 h_ele_EeleOPout_endcaps -> GetYaxis()-> SetTitle("Events");
00598 h_ele_vertexX-> GetXaxis()-> SetTitle("x (cm)");
00599 h_ele_vertexX-> GetYaxis()-> SetTitle("Events");
00600 h_ele_vertexY-> GetXaxis()-> SetTitle("y (cm)");
00601 h_ele_vertexY-> GetYaxis()-> SetTitle("Events");
00602 h_ele_vertexZ-> GetXaxis()-> SetTitle("z (cm)");
00603 h_ele_vertexZ-> GetYaxis()-> SetTitle("Events");
00604 h_ele_vertexTIP-> GetXaxis()-> SetTitle("TIP (cm)");
00605 h_ele_vertexTIP-> GetYaxis()-> SetTitle("Events");
00606 h_ele_TIP_all-> GetXaxis()-> SetTitle("r_{T} (cm)");
00607 h_ele_TIP_all-> GetYaxis()-> SetTitle("Events");
00608 h_ele_vertexTIPVsEta-> GetYaxis()-> SetTitle("TIP (cm)");
00609 h_ele_vertexTIPVsEta-> GetXaxis()-> SetTitle("#eta");
00610 h_ele_vertexTIPVsPhi-> GetYaxis()-> SetTitle("TIP (cm)");
00611 h_ele_vertexTIPVsPhi-> GetXaxis()-> SetTitle("#phi (rad)");
00612 h_ele_vertexTIPVsPt-> GetYaxis()-> SetTitle("TIP (cm)");
00613 h_ele_vertexTIPVsPt-> GetXaxis()-> SetTitle("p_{T} (GeV/c)");
00614 h_ele_dEtaSc_propVtx-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00615 h_ele_dEtaSc_propVtx-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00616 h_ele_dEtaSc_propVtx-> GetYaxis()-> SetTitle("Events");
00617 h_ele_dEtaCl_propOut-> GetXaxis()-> SetTitle("#eta_{seedcl} - #eta_{tr}");
00618 h_ele_dEtaCl_propOut-> GetYaxis()-> SetTitle("Events");
00619 h_ele_dEtaEleCl_propOut-> GetXaxis()-> SetTitle("#eta_{elecl} - #eta_{tr}");
00620 h_ele_dEtaEleCl_propOut-> GetYaxis()-> SetTitle("Events");
00621 h_ele_dPhiSc_propVtx-> GetXaxis()-> SetTitle("#phi_{sc} - #phi_{tr} (rad)");
00622 h_ele_dPhiSc_propVtx-> GetYaxis()-> SetTitle("Events");
00623 h_ele_dPhiCl_propOut-> GetXaxis()-> SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
00624 h_ele_dPhiCl_propOut-> GetYaxis()-> SetTitle("Events");
00625 h_ele_dPhiEleCl_propOut-> GetXaxis()-> SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
00626 h_ele_dPhiEleCl_propOut-> GetYaxis()-> SetTitle("Events");
00627 h_ele_dEtaSc_propVtx_barrel-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00628 h_ele_dEtaSc_propVtx_barrel-> GetYaxis()-> SetTitle("Events");
00629 h_ele_dEtaCl_propOut_barrel-> GetXaxis()-> SetTitle("#eta_{seedcl} - #eta_{tr}");
00630 h_ele_dEtaCl_propOut_barrel-> GetYaxis()-> SetTitle("Events");
00631 h_ele_dEtaEleCl_propOut_barrel-> GetXaxis()-> SetTitle("#eta_{elecl} - #eta_{tr}");
00632 h_ele_dEtaEleCl_propOut_barrel-> GetYaxis()-> SetTitle("Events");
00633 h_ele_dPhiSc_propVtx_barrel-> GetXaxis()-> SetTitle("#phi_{sc} - #phi_{tr} (rad)");
00634 h_ele_dPhiSc_propVtx_barrel-> GetYaxis()-> SetTitle("Events");
00635 h_ele_dPhiCl_propOut_barrel-> GetXaxis()-> SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
00636 h_ele_dPhiCl_propOut_barrel-> GetYaxis()-> SetTitle("Events");
00637 h_ele_dPhiEleCl_propOut_barrel-> GetXaxis()-> SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
00638 h_ele_dPhiEleCl_propOut_barrel-> GetYaxis()-> SetTitle("Events");
00639 h_ele_dEtaSc_propVtx_endcaps-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00640 h_ele_dEtaSc_propVtx_endcaps-> GetYaxis()-> SetTitle("Events");
00641 h_ele_dEtaCl_propOut_endcaps-> GetXaxis()-> SetTitle("#eta_{seedcl} - #eta_{tr}");
00642 h_ele_dEtaCl_propOut_endcaps-> GetYaxis()-> SetTitle("Events");
00643 h_ele_dEtaEleCl_propOut_endcaps-> GetXaxis()-> SetTitle("#eta_{elecl} - #eta_{tr}");
00644 h_ele_dEtaEleCl_propOut_endcaps-> GetYaxis()-> SetTitle("Events");
00645 h_ele_dPhiSc_propVtx_endcaps-> GetXaxis()-> SetTitle("#phi_{sc} - #phi_{tr} (rad)");
00646 h_ele_dPhiSc_propVtx_endcaps-> GetYaxis()-> SetTitle("Events");
00647 h_ele_dPhiCl_propOut_endcaps-> GetXaxis()-> SetTitle("#phi_{seedcl} - #phi_{tr} (rad)");
00648 h_ele_dPhiCl_propOut_endcaps-> GetYaxis()-> SetTitle("Events");
00649 h_ele_dPhiEleCl_propOut_endcaps-> GetXaxis()-> SetTitle("#phi_{elecl} - #phi_{tr} (rad)");
00650 h_ele_dPhiEleCl_propOut_endcaps-> GetYaxis()-> SetTitle("Events");
00651 h_ele_HoE-> GetXaxis()-> SetTitle("H/E") ;
00652 h_ele_HoE-> GetYaxis()-> SetTitle("Events") ;
00653 h_ele_HoE_barrel-> GetXaxis()-> SetTitle("H/E") ;
00654 h_ele_HoE_barrel-> GetYaxis()-> SetTitle("Events") ;
00655 h_ele_HoE_endcaps-> GetXaxis()-> SetTitle("H/E") ;
00656 h_ele_HoE_endcaps-> GetYaxis()-> SetTitle("Events") ;
00657 h_ele_HoE_fiducial-> GetXaxis()-> SetTitle("H/E") ;
00658 h_ele_HoE_fiducial-> GetYaxis()-> SetTitle("Events") ;
00659 h_ele_fbrem-> GetXaxis()-> SetTitle("P_{in} - P_{out} / P_{in}");
00660 h_ele_fbrem-> GetYaxis()-> SetTitle("Events");
00661 h_ele_seed_dphi2_-> GetXaxis()-> SetTitle("#phi_{hit}-#phi_{pred} (rad)") ;
00662 h_ele_seed_dphi2_-> GetYaxis()-> SetTitle("Events") ;
00663 h_ele_seed_drz2_-> GetXaxis()-> SetTitle("r(z)_{hit}-r(z)_{pred} (cm)") ;
00664 h_ele_seed_drz2_-> GetYaxis()-> SetTitle("Events") ;
00665 h_ele_seed_subdet2_-> GetXaxis()-> SetTitle("2nd hit subdet Id") ;
00666 h_ele_seed_subdet2_-> GetYaxis()-> SetTitle("Events") ;
00667 h_ele_classes-> GetXaxis()-> SetTitle("class Id") ;
00668 h_ele_classes-> GetYaxis()-> SetTitle("Events") ;
00669 h_ele_EoverP_all-> GetXaxis()-> SetTitle("E/P_{vertex}");
00670 h_ele_EoverP_all-> GetYaxis()-> SetTitle("Events");
00671 h_ele_EseedOP_all-> GetXaxis()-> SetTitle("E_{seed}/P_{vertex}");
00672 h_ele_EseedOP_all-> GetYaxis()-> SetTitle("Events");
00673 h_ele_EoPout_all -> GetXaxis()-> SetTitle("E_{seed}/P_{out}");
00674 h_ele_EoPout_all-> GetYaxis()-> SetTitle("Events");
00675 h_ele_EeleOPout_all-> GetXaxis()-> SetTitle("E_{ele}/P_{out}");
00676 h_ele_EeleOPout_all-> GetYaxis()-> SetTitle("Events");
00677 h_ele_dEtaSc_propVtx_all-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00678 h_ele_dEtaSc_propVtx_all-> GetYaxis()-> SetTitle("Events");
00679 h_ele_dPhiSc_propVtx_all-> GetXaxis()-> SetTitle("#phi_{sc} - #phi_{tr} (rad)");
00680 h_ele_dPhiSc_propVtx_all-> GetYaxis()-> SetTitle("Events");
00681 h_ele_dEtaCl_propOut_all-> GetXaxis()-> SetTitle("#eta_{sc} - #eta_{tr}");
00682 h_ele_dEtaCl_propOut_all-> GetYaxis()-> SetTitle("Events");
00683 h_ele_dPhiCl_propOut_all-> GetXaxis()-> SetTitle("#phi_{sc} - #phi_{tr} (rad)");
00684 h_ele_dPhiCl_propOut_all-> GetYaxis()-> SetTitle("Events");
00685 h_ele_HoE_all-> GetXaxis()-> SetTitle("H/E") ;
00686 h_ele_HoE_all-> GetYaxis()-> SetTitle("Events");
00687 h_ele_mee_all-> GetXaxis()-> SetTitle("m_{ee} (GeV/c^{2})");
00688 h_ele_mee_all-> GetYaxis()-> SetTitle("Events");
00689 h_ele_mee_os-> GetXaxis()-> SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
00690 h_ele_mee_os-> GetYaxis()-> SetTitle("Events");
00691 h_ele_E2mnE1vsMee_all-> GetXaxis()-> SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
00692 h_ele_E2mnE1vsMee_all-> GetYaxis()-> SetTitle("E2 - E1 (GeV)");
00693 h_ele_E2mnE1vsMee_egeg_all-> GetXaxis()-> SetTitle("m_{e^{+}e^{-}} (GeV/c^{2})");
00694 h_ele_E2mnE1vsMee_egeg_all-> GetYaxis()-> SetTitle("E2 - E1 (GeV)");
00695 histNum_-> GetXaxis()-> SetTitle("N_{ele}");
00696 histNum_-> GetYaxis()-> SetTitle("Events");
00697 h_ele_fbremVsEta_mode-> GetXaxis()-> SetTitle("#eta");
00698 h_ele_fbremVsEta_mean-> GetXaxis()-> SetTitle("#eta");
00699
00700 }
00701
00702 void
00703 GsfElectronMCFakeAnalyzer::endJob(){
00704
00705 histfile_->cd();
00706 std::cout << "efficiency calculation " << std::endl;
00707
00708 TH1F *h_ele_etaEff = (TH1F*)h_ele_matchingObjectEta_matched->Clone("h_ele_etaEff");
00709 h_ele_etaEff->Reset();
00710 h_ele_etaEff->Divide(h_ele_matchingObjectEta_matched,h_matchingObjectEta,1,1,"b");
00711 h_ele_etaEff->Print();
00712 h_ele_etaEff->GetXaxis()->SetTitle("#eta");
00713 h_ele_etaEff->GetYaxis()->SetTitle("Efficiency");
00714
00715
00716 TH1F *h_ele_zEff = (TH1F*)h_ele_matchingObjectZ_matched->Clone("h_ele_zEff");
00717 h_ele_zEff->Reset();
00718 h_ele_zEff->Divide(h_ele_matchingObjectZ_matched,h_matchingObjectZ,1,1,"b");
00719 h_ele_zEff->Print();
00720 h_ele_zEff->GetXaxis()->SetTitle("z (cm)");
00721 h_ele_zEff->GetYaxis()->SetTitle("Efficiency");
00722
00723
00724 TH1F *h_ele_absetaEff = (TH1F*)h_ele_matchingObjectAbsEta_matched->Clone("h_ele_absetaEff");
00725 h_ele_absetaEff->Reset();
00726 h_ele_absetaEff->Divide(h_ele_matchingObjectAbsEta_matched,h_matchingObjectAbsEta,1,1,"b");
00727 h_ele_absetaEff->GetXaxis()->SetTitle("|#eta|");
00728 h_ele_absetaEff->GetYaxis()->SetTitle("Efficiency");
00729
00730
00731 TH1F *h_ele_ptEff = (TH1F*)h_ele_matchingObjectPt_matched->Clone("h_ele_ptEff");
00732 h_ele_ptEff->Reset();
00733 h_ele_ptEff->Divide(h_ele_matchingObjectPt_matched,h_matchingObjectPt,1,1,"b");
00734 h_ele_ptEff->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00735 h_ele_ptEff->GetYaxis()->SetTitle("Efficiency");
00736
00737
00738 TH1F *h_ele_phiEff = (TH1F*)h_ele_matchingObjectPhi_matched->Clone("h_ele_phiEff");
00739 h_ele_phiEff->Reset();
00740 h_ele_phiEff->Divide(h_ele_matchingObjectPhi_matched,h_matchingObjectPhi,1,1,"b");
00741 h_ele_phiEff->GetXaxis()->SetTitle("#phi (rad)");
00742 h_ele_phiEff->GetYaxis()->SetTitle("Efficiency");
00743
00744
00745 TH1F *h_ele_etaEff_all = (TH1F*)h_ele_vertexEta_all->Clone("h_ele_etaEff_all");
00746 h_ele_etaEff_all->Reset();
00747 h_ele_etaEff_all->Divide(h_ele_vertexEta_all,h_matchingObjectEta,1,1,"b");
00748 h_ele_etaEff_all->Print();
00749 h_ele_etaEff_all->GetXaxis()->SetTitle("#eta");
00750 h_ele_etaEff_all->GetYaxis()->SetTitle("N_{rec}/N_{matching jet}");
00751
00752 TH1F *h_ele_ptEff_all = (TH1F*)h_ele_vertexPt_all->Clone("h_ele_ptEff_all");
00753 h_ele_ptEff_all->Reset();
00754 h_ele_ptEff_all->Divide(h_ele_vertexPt_all,h_matchingObjectPt,1,1,"b");
00755 h_ele_ptEff_all->Print();
00756 h_ele_ptEff_all->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00757 h_ele_ptEff_all->GetYaxis()->SetTitle("N_{rec}/N_{matching gen jet}");
00758
00759
00760 TH1F *h_ele_eta_goldenFrac = (TH1F*)h_ele_eta_golden->Clone("h_ele_eta_goldenFrac");
00761 h_ele_eta_goldenFrac->Reset();
00762 h_ele_eta_goldenFrac->GetXaxis()->SetTitle("|#eta|");
00763 h_ele_eta_goldenFrac->GetYaxis()->SetTitle("Fraction of electrons");
00764 h_ele_eta_goldenFrac->Divide(h_ele_eta_golden,h_ele_eta,1,1);
00765 h_ele_eta_goldenFrac->SetTitle("fraction of golden electrons vs eta");
00766 TH1F *h_ele_eta_bbremFrac = (TH1F*)h_ele_eta_bbrem->Clone("h_ele_eta_bbremFrac");
00767 h_ele_eta_bbremFrac->Reset();
00768 h_ele_eta_bbremFrac->Divide(h_ele_eta_bbrem,h_ele_eta,1,1);
00769 h_ele_eta_bbremFrac->GetXaxis()->SetTitle("|#eta|");
00770 h_ele_eta_bbremFrac->GetYaxis()->SetTitle("Fraction of electrons");
00771 h_ele_eta_bbremFrac->SetTitle("fraction of big brem electrons vs eta");
00772 TH1F *h_ele_eta_narrowFrac = (TH1F*)h_ele_eta_narrow->Clone("h_ele_eta_narrowFrac");
00773 h_ele_eta_narrowFrac->Reset();
00774 h_ele_eta_narrowFrac->Divide(h_ele_eta_narrow,h_ele_eta,1,1);
00775 h_ele_eta_narrowFrac->GetXaxis()->SetTitle("|#eta|");
00776 h_ele_eta_narrowFrac->GetYaxis()->SetTitle("Fraction of electrons");
00777 h_ele_eta_narrowFrac->SetTitle("fraction of narrow electrons vs eta");
00778 TH1F *h_ele_eta_showerFrac = (TH1F*)h_ele_eta_shower->Clone("h_ele_eta_showerFrac");
00779 h_ele_eta_showerFrac->Reset();
00780 h_ele_eta_showerFrac->Divide(h_ele_eta_shower,h_ele_eta,1,1);
00781 h_ele_eta_showerFrac->GetXaxis()->SetTitle("|#eta|");
00782 h_ele_eta_showerFrac->GetYaxis()->SetTitle("Fraction of electrons");
00783 h_ele_eta_showerFrac->SetTitle("fraction of showering electrons vs eta");
00784
00785
00786 TH1F *h_ele_xOverX0VsEta = new TH1F( "h_ele_xOverx0VsEta","mean X/X_0 vs eta",nbineta/2,0.0,2.5);
00787 for (int ibin=1;ibin<h_ele_fbremVsEta_mean->GetNbinsX()+1;ibin++) {
00788 double xOverX0 = 0.;
00789 if (h_ele_fbremVsEta_mean->GetBinContent(ibin)>0.) xOverX0 = -log(h_ele_fbremVsEta_mean->GetBinContent(ibin));
00790 h_ele_xOverX0VsEta->SetBinContent(ibin,xOverX0);
00791 }
00792
00793
00794 TProfile *p_ele_PoPmatchingObjectVsEta = h_ele_PoPmatchingObjectVsEta->ProfileX();
00795 p_ele_PoPmatchingObjectVsEta->SetTitle("mean ele momentum / matching SC energy vs eta");
00796 p_ele_PoPmatchingObjectVsEta->GetXaxis()->SetTitle("#eta");
00797 p_ele_PoPmatchingObjectVsEta->GetYaxis()->SetTitle("<P/E_{matching gen jet}>");
00798 p_ele_PoPmatchingObjectVsEta->Write();
00799 TProfile *p_ele_PoPmatchingObjectVsPhi = h_ele_PoPmatchingObjectVsPhi->ProfileX();
00800 p_ele_PoPmatchingObjectVsPhi->SetTitle("mean ele momentum / gen momentum vs phi");
00801 p_ele_PoPmatchingObjectVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00802 p_ele_PoPmatchingObjectVsPhi->GetYaxis()->SetTitle("<P/E_{matching gen jet}>");
00803 p_ele_PoPmatchingObjectVsPhi->Write();
00804 TProfile *p_ele_EtaMnEtamatchingObjectVsEta = h_ele_EtaMnEtamatchingObjectVsEta->ProfileX();
00805 p_ele_EtaMnEtamatchingObjectVsEta->GetXaxis()->SetTitle("#eta");
00806 p_ele_EtaMnEtamatchingObjectVsEta->GetYaxis()->SetTitle("<#eta_{rec} - #eta_{matching gen jet}>");
00807 p_ele_EtaMnEtamatchingObjectVsEta->Write();
00808 TProfile *p_ele_EtaMnEtamatchingObjectVsPhi = h_ele_EtaMnEtamatchingObjectVsPhi->ProfileX();
00809 p_ele_EtaMnEtamatchingObjectVsPhi-> GetXaxis()-> SetTitle("#phi");
00810 p_ele_EtaMnEtamatchingObjectVsPhi-> GetYaxis()-> SetTitle("<#eta_{rec} - #eta_{matching gen jet}>");
00811 p_ele_EtaMnEtamatchingObjectVsPhi->Write();
00812 TProfile *p_ele_PhiMnPhimatchingObjectVsEta = h_ele_PhiMnPhimatchingObjectVsEta->ProfileX();
00813 p_ele_PhiMnPhimatchingObjectVsEta-> GetXaxis()-> SetTitle("#eta");
00814 p_ele_PhiMnPhimatchingObjectVsEta-> GetYaxis()-> SetTitle("<#phi_{rec} - #phi_{matching gen jet}> (rad)");
00815 p_ele_PhiMnPhimatchingObjectVsEta->Write();
00816 TProfile *p_ele_PhiMnPhimatchingObjectVsPhi = h_ele_PhiMnPhimatchingObjectVsPhi->ProfileX();
00817 p_ele_PhiMnPhimatchingObjectVsPhi-> GetXaxis()-> SetTitle("#phi");
00818 p_ele_PhiMnPhimatchingObjectVsPhi-> GetYaxis()-> SetTitle("<#phi_{rec} - #phi_{matching gen jet}> (rad)");
00819 p_ele_PhiMnPhimatchingObjectVsPhi->Write();
00820 TProfile *p_ele_vertexPtVsEta = h_ele_vertexPtVsEta->ProfileX();
00821 p_ele_vertexPtVsEta->GetXaxis()->SetTitle("#eta");
00822 p_ele_vertexPtVsEta->GetYaxis()->SetTitle("<p_{T}> (GeV/c)");
00823 p_ele_vertexPtVsEta->Write();
00824 TProfile *p_ele_vertexPtVsPhi = h_ele_vertexPtVsPhi->ProfileX();
00825 p_ele_vertexPtVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00826 p_ele_vertexPtVsPhi->GetYaxis()->SetTitle("<p_{T}> (GeV/c)");
00827 p_ele_vertexPtVsPhi->Write();
00828 TProfile *p_ele_EoPVsEta = h_ele_EoPVsEta->ProfileX();
00829 p_ele_EoPVsEta->GetXaxis()->SetTitle("#eta");
00830 p_ele_EoPVsEta->GetYaxis()->SetTitle("<E/P_{vertex}>");
00831 p_ele_EoPVsEta->Write();
00832 TProfile *p_ele_EoPVsPhi = h_ele_EoPVsPhi->ProfileX();
00833 p_ele_EoPVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00834 p_ele_EoPVsPhi->GetYaxis()->SetTitle("<E/P_{vertex}>");
00835 p_ele_EoPVsPhi->Write();
00836 TProfile *p_ele_EoPoutVsEta = h_ele_EoPoutVsEta->ProfileX();
00837 p_ele_EoPoutVsEta->GetXaxis()->SetTitle("#eta");
00838 p_ele_EoPoutVsEta->GetYaxis()->SetTitle("<E_{seed}/P_{out}>");
00839 p_ele_EoPoutVsEta->Write();
00840 TProfile *p_ele_EoPoutVsPhi = h_ele_EoPoutVsPhi->ProfileX();
00841 p_ele_EoPoutVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00842 p_ele_EoPoutVsPhi->GetYaxis()->SetTitle("<E_{seed}/P_{out}>");
00843 p_ele_EoPoutVsPhi->Write();
00844 TProfile *p_ele_EeleOPoutVsEta = h_ele_EeleOPoutVsEta->ProfileX();
00845 p_ele_EeleOPoutVsEta->SetTitle("mean ele Eele/pout vs eta");
00846 p_ele_EeleOPoutVsEta->GetXaxis()->SetTitle("#eta");
00847 p_ele_EeleOPoutVsEta->GetYaxis()->SetTitle("<E_{ele}/P_{out}>");
00848 p_ele_EeleOPoutVsEta->Write();
00849 TProfile *p_ele_EeleOPoutVsPhi = h_ele_EeleOPoutVsPhi->ProfileX();
00850 p_ele_EeleOPoutVsPhi->SetTitle("mean ele Eele/pout vs phi");
00851 p_ele_EeleOPoutVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00852 p_ele_EeleOPoutVsPhi->GetYaxis()->SetTitle("<E_{ele}/P_{out}>");
00853 p_ele_EeleOPoutVsPhi->Write();
00854 TProfile *p_ele_HoEVsEta = h_ele_HoEVsEta->ProfileX();
00855 p_ele_HoEVsEta->GetXaxis()->SetTitle("#eta");
00856 p_ele_HoEVsEta->GetYaxis()->SetTitle("<H/E>");
00857 p_ele_HoEVsEta->Write();
00858 TProfile *p_ele_HoEVsPhi = h_ele_HoEVsPhi->ProfileX();
00859 p_ele_HoEVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00860 p_ele_HoEVsPhi->GetYaxis()->SetTitle("<H/E>");
00861 p_ele_HoEVsPhi->Write();
00862 TProfile *p_ele_chi2VsEta = h_ele_chi2VsEta->ProfileX();
00863 p_ele_chi2VsEta->GetXaxis()->SetTitle("#eta");
00864 p_ele_chi2VsEta->GetYaxis()->SetTitle("<#Chi^{2}>");
00865 p_ele_chi2VsEta->Write();
00866 TProfile *p_ele_chi2VsPhi = h_ele_chi2VsPhi->ProfileX();
00867 p_ele_chi2VsPhi->GetXaxis()->SetTitle("#phi (rad)");
00868 p_ele_chi2VsPhi->GetYaxis()->SetTitle("<#Chi^{2}>");
00869 p_ele_chi2VsPhi->Write();
00870 TProfile *p_ele_foundHitsVsEta = h_ele_foundHitsVsEta->ProfileX();
00871 p_ele_foundHitsVsEta->GetXaxis()->SetTitle("#eta");
00872 p_ele_foundHitsVsEta->GetYaxis()->SetTitle("<N_{hits}>");
00873 p_ele_foundHitsVsEta->Write();
00874 TProfile *p_ele_foundHitsVsPhi = h_ele_foundHitsVsPhi->ProfileX();
00875 p_ele_foundHitsVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00876 p_ele_foundHitsVsPhi->GetYaxis()->SetTitle("<N_{hits}>");
00877 p_ele_foundHitsVsPhi->Write();
00878 TProfile *p_ele_lostHitsVsEta = h_ele_lostHitsVsEta->ProfileX();
00879 p_ele_lostHitsVsEta->GetXaxis()->SetTitle("#eta");
00880 p_ele_lostHitsVsEta->GetYaxis()->SetTitle("<N_{hits}>");
00881 p_ele_lostHitsVsEta->Write();
00882 TProfile *p_ele_lostHitsVsPhi = h_ele_lostHitsVsPhi->ProfileX();
00883 p_ele_lostHitsVsPhi->GetXaxis()->SetTitle("#phi (rad)");
00884 p_ele_lostHitsVsPhi->GetYaxis()->SetTitle("<N_{hits}>");
00885 p_ele_lostHitsVsPhi->Write();
00886 TProfile *p_ele_vertexTIPVsEta = h_ele_vertexTIPVsEta->ProfileX();
00887 p_ele_vertexTIPVsEta->SetTitle("mean tip (wrt gen vtx) vs eta");
00888 p_ele_vertexTIPVsEta->GetXaxis()->SetTitle("#eta");
00889 p_ele_vertexTIPVsEta->GetYaxis()->SetTitle("<TIP> (cm)");
00890 p_ele_vertexTIPVsEta->Write();
00891 TProfile *p_ele_vertexTIPVsPhi = h_ele_vertexTIPVsPhi->ProfileX();
00892 p_ele_vertexTIPVsPhi->SetTitle("mean tip (wrt gen vtx) vs phi");
00893 p_ele_vertexTIPVsPhi->GetXaxis()->SetTitle("#phi");
00894 p_ele_vertexTIPVsPhi->GetYaxis()->SetTitle("<TIP> (cm)");
00895 p_ele_vertexTIPVsPhi->Write();
00896 TProfile *p_ele_vertexTIPVsPt = h_ele_vertexTIPVsPt->ProfileX();
00897 p_ele_vertexTIPVsPt->SetTitle("mean tip (wrt gen vtx) vs phi");
00898 p_ele_vertexTIPVsPt->GetXaxis()->SetTitle("p_{T} (GeV/c)");
00899 p_ele_vertexTIPVsPt->GetYaxis()->SetTitle("<TIP> (cm)");
00900 p_ele_vertexTIPVsPt->Write();
00901
00902
00903
00904 h_matchingObjectNum->Write();
00905
00906
00907
00908 histNum_->Write();
00909
00910
00911 h_matchingObjectEta->Write();
00912 h_matchingObjectAbsEta->Write();
00913 h_matchingObjectP->Write();
00914 h_matchingObjectPt->Write();
00915 h_matchingObjectPhi->Write();
00916 h_matchingObjectZ->Write();
00917
00918
00919 h_ele_EoverP_all->Write();
00920 h_ele_EseedOP_all->Write();
00921 h_ele_EoPout_all->Write();
00922 h_ele_EeleOPout_all ->Write();
00923 h_ele_dEtaSc_propVtx_all->Write();
00924 h_ele_dPhiSc_propVtx_all->Write();
00925 h_ele_dEtaCl_propOut_all ->Write();
00926 h_ele_dPhiCl_propOut_all->Write();
00927 h_ele_HoE_all->Write();
00928 h_ele_TIP_all->Write();
00929 h_ele_vertexPt_all->Write();
00930 h_ele_vertexEta_all->Write();
00931 h_ele_mee_all->Write();
00932 h_ele_mee_os->Write();
00933 h_ele_E2mnE1vsMee_all ->Write();
00934 h_ele_E2mnE1vsMee_egeg_all->Write();
00935
00936
00937 h_ele_charge->Write();
00938 h_ele_chargeVsEta->Write();
00939 h_ele_chargeVsPhi->Write();
00940 h_ele_chargeVsPt->Write();
00941 h_ele_vertexP->Write();
00942 h_ele_vertexPt->Write();
00943 h_ele_vertexPtVsEta->Write();
00944 h_ele_vertexPtVsPhi->Write();
00945 h_ele_matchingObjectPt_matched->Write();
00946 h_ele_vertexEta->Write();
00947 h_ele_vertexEtaVsPhi->Write();
00948 h_ele_matchingObjectAbsEta_matched->Write();
00949 h_ele_matchingObjectEta_matched->Write();
00950 h_ele_vertexPhi->Write();
00951 h_ele_matchingObjectPhi_matched->Write();
00952 h_ele_vertexX->Write();
00953 h_ele_vertexY ->Write();
00954 h_ele_vertexZ->Write();
00955 h_ele_vertexTIP->Write();
00956 h_ele_matchingObjectZ_matched->Write();
00957 h_ele_vertexTIPVsEta->Write();
00958 h_ele_vertexTIPVsPhi->Write();
00959 h_ele_vertexTIPVsPt->Write();
00960 h_ele_PoPmatchingObject->Write();
00961 h_ele_PoPmatchingObjectVsEta ->Write();
00962 h_ele_PoPmatchingObjectVsPhi->Write();
00963 h_ele_PoPmatchingObjectVsPt->Write();
00964 h_ele_PoPmatchingObject_barrel ->Write();
00965 h_ele_PoPmatchingObject_endcaps->Write();
00966 h_ele_EtaMnEtamatchingObject->Write();
00967 h_ele_EtaMnEtamatchingObjectVsEta ->Write();
00968 h_ele_EtaMnEtamatchingObjectVsPhi->Write();
00969 h_ele_EtaMnEtamatchingObjectVsPt->Write();
00970 h_ele_PhiMnPhimatchingObject ->Write();
00971 h_ele_PhiMnPhimatchingObject2 ->Write();
00972 h_ele_PhiMnPhimatchingObjectVsEta->Write();
00973 h_ele_PhiMnPhimatchingObjectVsPhi->Write();
00974 h_ele_PhiMnPhimatchingObjectVsPt->Write();
00975
00976
00977 histSclEn_->Write();
00978 histSclEoEmatchingObject_barrel->Write();
00979 histSclEoEmatchingObject_endcaps->Write();
00980 histSclEt_->Write();
00981 histSclEtVsEta_->Write();
00982 histSclEtVsPhi_->Write();
00983 histSclEtaVsPhi_ ->Write();
00984 histSclEta_->Write();
00985 histSclPhi_->Write();
00986 histSclSigIEtaIEta_->Write();
00987 histSclSigIEtaIEta_barrel_->Write();
00988 histSclSigIEtaIEta_endcaps_->Write();
00989 histSclE1x5_->Write();
00990 histSclE1x5_barrel_->Write();
00991 histSclE1x5_endcaps_->Write();
00992 histSclE2x5max_->Write();
00993 histSclE2x5max_barrel_->Write();
00994 histSclE2x5max_endcaps_->Write();
00995 histSclE5x5_->Write();
00996 histSclE5x5_barrel_->Write();
00997 histSclE5x5_endcaps_->Write();
00998
00999
01000 h_ele_ambiguousTracks->Write();
01001 h_ele_ambiguousTracksVsEta->Write();
01002 h_ele_ambiguousTracksVsPhi->Write();
01003 h_ele_ambiguousTracksVsPt->Write();
01004 h_ele_foundHits->Write();
01005 h_ele_foundHitsVsEta->Write();
01006 h_ele_foundHitsVsPhi->Write();
01007 h_ele_foundHitsVsPt->Write();
01008 h_ele_lostHits->Write();
01009 h_ele_lostHitsVsEta->Write();
01010 h_ele_lostHitsVsPhi->Write();
01011 h_ele_lostHitsVsPt->Write();
01012 h_ele_chi2 ->Write();
01013 h_ele_chi2VsEta ->Write();
01014 h_ele_chi2VsPhi ->Write();
01015 h_ele_chi2VsPt->Write();
01016 h_ele_PinMnPout->Write();
01017 h_ele_PinMnPout_mode->Write();
01018 h_ele_PinMnPoutVsEta_mode->Write();
01019 h_ele_PinMnPoutVsPhi_mode->Write();
01020 h_ele_PinMnPoutVsPt_mode->Write();
01021 h_ele_PinMnPoutVsE_mode->Write();
01022 h_ele_PinMnPoutVsChi2_mode->Write();
01023 h_ele_outerP ->Write();
01024 h_ele_outerP_mode->Write();
01025 h_ele_outerPVsEta_mode->Write();
01026 h_ele_outerPt->Write();
01027 h_ele_outerPt_mode ->Write();
01028 h_ele_outerPtVsEta_mode->Write();
01029 h_ele_outerPtVsPhi_mode->Write();
01030 h_ele_outerPtVsPt_mode->Write();
01031
01032
01033 h_ele_EoP ->Write();
01034 h_ele_EoP_eg ->Write();
01035 h_ele_EoP_barrel ->Write();
01036 h_ele_EoP_eg_barrel ->Write();
01037 h_ele_EoP_endcaps ->Write();
01038 h_ele_EoP_eg_endcaps ->Write();
01039 h_ele_EoPVsEta ->Write();
01040 h_ele_EoPVsPhi->Write();
01041 h_ele_EoPVsE->Write();
01042 h_ele_EseedOP ->Write();
01043 h_ele_EseedOP_eg ->Write();
01044 h_ele_EseedOP_barrel ->Write();
01045 h_ele_EseedOP_eg_barrel ->Write();
01046 h_ele_EseedOP_endcaps ->Write();
01047 h_ele_EseedOP_eg_endcaps ->Write();
01048 h_ele_EseedOPVsEta ->Write();
01049 h_ele_EseedOPVsPhi->Write();
01050 h_ele_EseedOPVsE->Write();
01051 h_ele_EoPout->Write();
01052 h_ele_EoPout_eg->Write();
01053 h_ele_EoPout_barrel->Write();
01054 h_ele_EoPout_eg_barrel->Write();
01055 h_ele_EoPout_endcaps->Write();
01056 h_ele_EoPout_eg_endcaps->Write();
01057 h_ele_EoPoutVsEta->Write();
01058 h_ele_EoPoutVsPhi->Write();
01059 h_ele_EoPoutVsE ->Write();
01060 h_ele_EeleOPout->Write();
01061 h_ele_EeleOPout_eg->Write();
01062 h_ele_EeleOPout_barrel->Write();
01063 h_ele_EeleOPout_eg_barrel->Write();
01064 h_ele_EeleOPout_endcaps->Write();
01065 h_ele_EeleOPout_eg_endcaps->Write();
01066 h_ele_EeleOPoutVsEta->Write();
01067 h_ele_EeleOPoutVsPhi->Write();
01068 h_ele_EeleOPoutVsE ->Write();
01069 h_ele_dEtaSc_propVtx->Write();
01070 h_ele_dEtaSc_propVtx_eg->Write();
01071 h_ele_dEtaSc_propVtx_barrel->Write();
01072 h_ele_dEtaSc_propVtx_eg_barrel->Write();
01073 h_ele_dEtaSc_propVtx_endcaps->Write();
01074 h_ele_dEtaSc_propVtx_eg_endcaps->Write();
01075 h_ele_dEtaScVsEta_propVtx->Write();
01076 h_ele_dEtaScVsPhi_propVtx->Write();
01077 h_ele_dEtaScVsPt_propVtx ->Write();
01078 h_ele_dPhiSc_propVtx->Write();
01079 h_ele_dPhiSc_propVtx_eg->Write();
01080 h_ele_dPhiSc_propVtx_barrel->Write();
01081 h_ele_dPhiSc_propVtx_eg_barrel->Write();
01082 h_ele_dPhiSc_propVtx_endcaps->Write();
01083 h_ele_dPhiSc_propVtx_eg_endcaps->Write();
01084 h_ele_dPhiScVsEta_propVtx ->Write();
01085 h_ele_dPhiScVsPhi_propVtx->Write();
01086 h_ele_dPhiScVsPt_propVtx->Write();
01087 h_ele_dEtaCl_propOut->Write();
01088 h_ele_dEtaCl_propOut_eg->Write();
01089 h_ele_dEtaCl_propOut_barrel->Write();
01090 h_ele_dEtaCl_propOut_eg_barrel->Write();
01091 h_ele_dEtaCl_propOut_endcaps->Write();
01092 h_ele_dEtaCl_propOut_eg_endcaps->Write();
01093 h_ele_dEtaClVsEta_propOut->Write();
01094 h_ele_dEtaClVsPhi_propOut->Write();
01095 h_ele_dEtaClVsPt_propOut->Write();
01096 h_ele_dPhiCl_propOut->Write();
01097 h_ele_dPhiCl_propOut_eg->Write();
01098 h_ele_dPhiCl_propOut_barrel->Write();
01099 h_ele_dPhiCl_propOut_eg_barrel->Write();
01100 h_ele_dPhiCl_propOut_endcaps->Write();
01101 h_ele_dPhiCl_propOut_eg_endcaps->Write();
01102 h_ele_dPhiClVsEta_propOut->Write();
01103 h_ele_dPhiClVsPhi_propOut->Write();
01104 h_ele_dPhiClVsPt_propOut->Write();
01105 h_ele_dEtaEleCl_propOut->Write();
01106 h_ele_dEtaEleCl_propOut_eg->Write();
01107 h_ele_dEtaEleCl_propOut_barrel->Write();
01108 h_ele_dEtaEleCl_propOut_eg_barrel->Write();
01109 h_ele_dEtaEleCl_propOut_endcaps->Write();
01110 h_ele_dEtaEleCl_propOut_eg_endcaps->Write();
01111 h_ele_dEtaEleClVsEta_propOut->Write();
01112 h_ele_dEtaEleClVsPhi_propOut->Write();
01113 h_ele_dEtaEleClVsPt_propOut->Write();
01114 h_ele_dPhiEleCl_propOut->Write();
01115 h_ele_dPhiEleCl_propOut_eg->Write();
01116 h_ele_dPhiEleCl_propOut_barrel->Write();
01117 h_ele_dPhiEleCl_propOut_eg_barrel->Write();
01118 h_ele_dPhiEleCl_propOut_endcaps->Write();
01119 h_ele_dPhiEleCl_propOut_eg_endcaps->Write();
01120 h_ele_dPhiEleClVsEta_propOut->Write();
01121 h_ele_dPhiEleClVsPhi_propOut->Write();
01122 h_ele_dPhiEleClVsPt_propOut->Write();
01123 h_ele_HoE->Write();
01124 h_ele_HoE_eg->Write();
01125 h_ele_HoE_barrel->Write();
01126 h_ele_HoE_eg_barrel->Write();
01127 h_ele_HoE_endcaps->Write();
01128 h_ele_HoE_eg_endcaps->Write();
01129 h_ele_HoE_fiducial->Write();
01130 h_ele_HoEVsEta->Write();
01131 h_ele_HoEVsPhi->Write();
01132 h_ele_HoEVsE->Write();
01133
01134 h_ele_seed_dphi2_->Write();
01135 h_ele_seed_subdet2_->Write();
01136 TProfile *p_ele_seed_dphi2VsEta_ = h_ele_seed_dphi2VsEta_->ProfileX();
01137 p_ele_seed_dphi2VsEta_->SetTitle("mean ele seed dphi 2nd layer vs eta");
01138 p_ele_seed_dphi2VsEta_->GetXaxis()->SetTitle("#eta");
01139 p_ele_seed_dphi2VsEta_->GetYaxis()->SetTitle("<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
01140 p_ele_seed_dphi2VsEta_->SetMinimum(-0.004);
01141 p_ele_seed_dphi2VsEta_->SetMaximum(0.004);
01142 p_ele_seed_dphi2VsEta_->Write();
01143 TProfile *p_ele_seed_dphi2VsPt_ = h_ele_seed_dphi2VsPt_->ProfileX();
01144 p_ele_seed_dphi2VsPt_->SetTitle("mean ele seed dphi 2nd layer vs pt");
01145 p_ele_seed_dphi2VsPt_->GetXaxis()->SetTitle("p_{T} (GeV/c)");
01146 p_ele_seed_dphi2VsPt_->GetYaxis()->SetTitle("<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)");
01147 p_ele_seed_dphi2VsPt_->SetMinimum(-0.004);
01148 p_ele_seed_dphi2VsPt_->SetMaximum(0.004);
01149 p_ele_seed_dphi2VsPt_->Write();
01150 h_ele_seed_drz2_->Write();
01151 TProfile *p_ele_seed_drz2VsEta_ = h_ele_seed_drz2VsEta_->ProfileX();
01152 p_ele_seed_drz2VsEta_->SetTitle("mean ele seed dr(dz) 2nd layer vs eta");
01153 p_ele_seed_drz2VsEta_->GetXaxis()->SetTitle("#eta");
01154 p_ele_seed_drz2VsEta_->GetYaxis()->SetTitle("<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
01155 p_ele_seed_drz2VsEta_->SetMinimum(-0.15);
01156 p_ele_seed_drz2VsEta_->SetMaximum(0.15);
01157 p_ele_seed_drz2VsEta_->Write();
01158 TProfile *p_ele_seed_drz2VsPt_ = h_ele_seed_drz2VsPt_->ProfileX();
01159 p_ele_seed_drz2VsPt_->SetTitle("mean ele seed dr(dz) 2nd layer vs pt");
01160 p_ele_seed_drz2VsPt_->GetXaxis()->SetTitle("p_{T} (GeV/c)");
01161 p_ele_seed_drz2VsPt_->GetYaxis()->SetTitle("<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)");
01162 p_ele_seed_drz2VsPt_->SetMinimum(-0.15);
01163 p_ele_seed_drz2VsPt_->SetMaximum(0.15);
01164 p_ele_seed_drz2VsPt_->Write();
01165
01166
01167 h_ele_classes->Write();
01168 h_ele_eta->Write();
01169 h_ele_eta_golden->Write();
01170 h_ele_eta_bbrem->Write();
01171 h_ele_eta_narrow->Write();
01172 h_ele_eta_shower->Write();
01173 h_ele_PinVsPoutGolden_mode->Write();
01174 h_ele_PinVsPoutShowering_mode->Write();
01175 h_ele_PinVsPoutGolden_mean->Write();
01176 h_ele_PinVsPoutShowering_mean->Write();
01177 h_ele_PtinVsPtoutGolden_mode->Write();
01178 h_ele_PtinVsPtoutShowering_mode->Write();
01179 h_ele_PtinVsPtoutGolden_mean->Write();
01180 h_ele_PtinVsPtoutShowering_mean->Write();
01181 histSclEoEmatchingObjectGolden_barrel->Write();
01182 histSclEoEmatchingObjectGolden_endcaps->Write();
01183 histSclEoEmatchingObjectShowering_barrel->Write();
01184 histSclEoEmatchingObjectShowering_endcaps->Write();
01185
01186
01187 h_ele_fbrem->Write();
01188 h_ele_fbremVsEta_mode->Write();
01189 h_ele_fbremVsEta_mean->Write();
01190 h_ele_etaEff->Write();
01191 h_ele_zEff->Write();
01192 h_ele_phiEff->Write();
01193 h_ele_absetaEff->Write();
01194 h_ele_ptEff->Write();
01195 h_ele_etaEff_all->Write();
01196 h_ele_ptEff_all->Write();
01197 h_ele_eta_goldenFrac->Write();
01198 h_ele_eta_bbremFrac->Write();
01199 h_ele_eta_narrowFrac->Write();
01200 h_ele_eta_showerFrac->Write();
01201 h_ele_xOverX0VsEta->Write();
01202
01203
01204 h_ele_mva->Write();
01205 h_ele_provenance->Write();
01206
01207
01208 h_ele_tkSumPt_dr03->GetXaxis()->SetTitle("TkIsoSum, cone 0.3 (GeV/c)");
01209 h_ele_tkSumPt_dr03->GetYaxis()->SetTitle("Events");
01210 h_ele_tkSumPt_dr03->Write();
01211 h_ele_ecalRecHitSumEt_dr03->GetXaxis()->SetTitle("EcalIsoSum, cone 0.3 (GeV)");
01212 h_ele_ecalRecHitSumEt_dr03->GetYaxis()->SetTitle("Events");
01213 h_ele_ecalRecHitSumEt_dr03->Write();
01214 h_ele_hcalDepth1TowerSumEt_dr03->GetXaxis()->SetTitle("Hcal1IsoSum, cone 0.3 (GeV)");
01215 h_ele_hcalDepth1TowerSumEt_dr03->GetYaxis()->SetTitle("Events");
01216 h_ele_hcalDepth1TowerSumEt_dr03->Write();
01217 h_ele_hcalDepth2TowerSumEt_dr03->GetXaxis()->SetTitle("Hcal2IsoSum, cone 0.3 (GeV)");
01218 h_ele_hcalDepth2TowerSumEt_dr03->GetYaxis()->SetTitle("Events");
01219 h_ele_hcalDepth2TowerSumEt_dr03->Write();
01220 h_ele_tkSumPt_dr04->GetXaxis()->SetTitle("TkIsoSum, cone 0.4 (GeV/c)");
01221 h_ele_tkSumPt_dr04->GetYaxis()->SetTitle("Events");
01222 h_ele_tkSumPt_dr04->Write();
01223 h_ele_ecalRecHitSumEt_dr04->GetXaxis()->SetTitle("EcalIsoSum, cone 0.4 (GeV)");
01224 h_ele_ecalRecHitSumEt_dr04->GetYaxis()->SetTitle("Events");
01225 h_ele_ecalRecHitSumEt_dr04->Write();
01226 h_ele_hcalDepth1TowerSumEt_dr04->GetXaxis()->SetTitle("Hcal1IsoSum, cone 0.4 (GeV)");
01227 h_ele_hcalDepth1TowerSumEt_dr04->GetYaxis()->SetTitle("Events");
01228 h_ele_hcalDepth1TowerSumEt_dr04->Write();
01229 h_ele_hcalDepth2TowerSumEt_dr04->GetXaxis()->SetTitle("Hcal2IsoSum, cone 0.4 (GeV)");
01230 h_ele_hcalDepth2TowerSumEt_dr04->GetYaxis()->SetTitle("Events");
01231 h_ele_hcalDepth2TowerSumEt_dr04->Write();
01232
01233 }
01234
01235 void
01236 GsfElectronMCFakeAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
01237 {
01238 std::cout << "analyzing new event " << std::endl;
01239
01240
01241 edm::Handle<reco::GsfElectronCollection> gsfElectrons;
01242 iEvent.getByLabel(electronCollection_,gsfElectrons);
01243 edm::LogInfo("")<<"\n\n =================> Treating event "<<iEvent.id()<<" Number of electrons "<<gsfElectrons.product()->size();
01244
01245
01246 edm::Handle<reco::GenJetCollection> genJets ;
01247 iEvent.getByLabel(matchingObjectCollection_,genJets);
01248
01249
01250 edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
01251 iEvent.getByLabel(beamSpot_, recoBeamSpotHandle);
01252 const BeamSpot bs = *recoBeamSpotHandle;
01253
01254 histNum_->Fill((*gsfElectrons).size());
01255
01256
01257 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
01258 gsfIter!=gsfElectrons->end(); gsfIter++){
01259
01260 if (gsfIter->pt()>maxPt_ || std::abs(gsfIter->eta())>maxAbsEta_) continue;
01261 h_ele_EoverP_all -> Fill( gsfIter->eSuperClusterOverP() );
01262 h_ele_EseedOP_all -> Fill( gsfIter->eSeedClusterOverP() );
01263 h_ele_EoPout_all -> Fill( gsfIter->eSeedClusterOverPout() );
01264 h_ele_EeleOPout_all -> Fill( gsfIter->eEleClusterOverPout() );
01265 h_ele_dEtaSc_propVtx_all -> Fill(gsfIter->deltaEtaSuperClusterTrackAtVtx());
01266 h_ele_dPhiSc_propVtx_all -> Fill(gsfIter->deltaPhiSuperClusterTrackAtVtx());
01267 h_ele_dEtaCl_propOut_all -> Fill(gsfIter->deltaEtaSeedClusterTrackAtCalo());
01268 h_ele_dPhiCl_propOut_all -> Fill(gsfIter->deltaPhiSeedClusterTrackAtCalo());
01269 h_ele_HoE_all -> Fill( gsfIter->hadronicOverEm() );
01270 double d = gsfIter->vertex().x()*gsfIter->vertex().x()
01271 +gsfIter->vertex().y()*gsfIter->vertex().y();
01272 h_ele_TIP_all -> Fill( sqrt(d) );
01273 h_ele_vertexEta_all -> Fill( gsfIter->eta() );
01274 h_ele_vertexPt_all -> Fill( gsfIter->pt() );
01275 float enrj1=gsfIter->superCluster()->energy();
01276
01277 for (reco::GsfElectronCollection::const_iterator gsfIter2=gsfIter+1;
01278 gsfIter2!=gsfElectrons->end(); gsfIter2++){
01279 math::XYZTLorentzVector p12 = (*gsfIter).p4()+(*gsfIter2).p4();
01280 float mee2 = p12.Dot(p12);
01281 h_ele_mee_all -> Fill(sqrt(mee2));
01282 float enrj2=gsfIter2->superCluster()->energy();
01283 h_ele_E2mnE1vsMee_all->Fill(sqrt(mee2),enrj2-enrj1);
01284 if (gsfIter->ecalDrivenSeed() && gsfIter2->ecalDrivenSeed()) h_ele_E2mnE1vsMee_egeg_all->Fill(sqrt(mee2),enrj2-enrj1);
01285 if (gsfIter->charge()*gsfIter2->charge()<0.) h_ele_mee_os -> Fill(sqrt(mee2));
01286 }
01287 }
01288
01289
01290 int matchingObjectNum=0;
01291
01292 for (reco::GenJetCollection::const_iterator moIter = genJets->begin();
01293 moIter != genJets->end(); ++moIter) {
01294
01295
01296 matchingObjectNum++;
01297
01298 if (moIter->energy()/cosh(moIter->eta())> maxPt_ || std::abs(moIter->eta())> maxAbsEta_) continue;
01299
01300
01301
01302
01303
01304
01305 h_matchingObjectEta -> Fill( moIter->eta() );
01306 h_matchingObjectAbsEta -> Fill( std::abs(moIter->eta()) );
01307 h_matchingObjectP -> Fill( moIter->energy() );
01308 h_matchingObjectPt -> Fill( moIter->energy()/cosh(moIter->eta()) );
01309 h_matchingObjectPhi -> Fill( moIter->phi() );
01310 h_matchingObjectZ -> Fill( moIter->vz() );
01311
01312
01313 bool okGsfFound = false;
01314 double gsfOkRatio = 999999.;
01315
01316
01317 reco::GsfElectron bestGsfElectron;
01318 for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin();
01319 gsfIter!=gsfElectrons->end(); gsfIter++){
01320
01321 double dphi = gsfIter->phi()-moIter->phi();
01322 if (std::abs(dphi)>CLHEP::pi)
01323 dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
01324 double deltaR = sqrt(std::pow((gsfIter->eta()-moIter->eta()),2) + std::pow(dphi,2));
01325 if ( deltaR < deltaR_ ){
01326
01327
01328 double tmpGsfRatio = gsfIter->p()/moIter->energy();
01329 if ( std::abs(tmpGsfRatio-1) < std::abs(gsfOkRatio-1) ) {
01330 gsfOkRatio = tmpGsfRatio;
01331 bestGsfElectron=*gsfIter;
01332 okGsfFound = true;
01333 }
01334
01335 }
01336 }
01337
01338
01339 if (okGsfFound){
01340
01341
01342 h_ele_charge -> Fill( bestGsfElectron.charge() );
01343 h_ele_chargeVsEta -> Fill( bestGsfElectron.eta(),bestGsfElectron.charge() );
01344 h_ele_chargeVsPhi -> Fill( bestGsfElectron.phi(),bestGsfElectron.charge() );
01345 h_ele_chargeVsPt -> Fill( bestGsfElectron.pt(),bestGsfElectron.charge() );
01346 h_ele_vertexP -> Fill( bestGsfElectron.p() );
01347 h_ele_vertexPt -> Fill( bestGsfElectron.pt() );
01348 h_ele_vertexPtVsEta -> Fill( bestGsfElectron.eta(),bestGsfElectron.pt() );
01349 h_ele_vertexPtVsPhi -> Fill( bestGsfElectron.phi(),bestGsfElectron.pt() );
01350 h_ele_vertexEta -> Fill( bestGsfElectron.eta() );
01351
01352 h_ele_matchingObjectPt_matched -> Fill( moIter->energy()/cosh(moIter->eta()) );
01353 h_ele_matchingObjectPhi_matched -> Fill( moIter->phi() );
01354 h_ele_matchingObjectAbsEta_matched -> Fill( std::abs(moIter->eta()) );
01355 h_ele_matchingObjectEta_matched -> Fill( moIter->eta() );
01356 h_ele_vertexEtaVsPhi -> Fill( bestGsfElectron.phi(),bestGsfElectron.eta() );
01357 h_ele_vertexPhi -> Fill( bestGsfElectron.phi() );
01358 h_ele_vertexX -> Fill( bestGsfElectron.vertex().x() );
01359 h_ele_vertexY -> Fill( bestGsfElectron.vertex().y() );
01360 h_ele_vertexZ -> Fill( bestGsfElectron.vertex().z() );
01361 h_ele_matchingObjectZ_matched -> Fill( moIter->vz() );
01362 double d = (bestGsfElectron.vertex().x()-bs.position().x())
01363 *(bestGsfElectron.vertex().x()-bs.position().x())+
01364 (bestGsfElectron.vertex().y()-bs.position().y())
01365 *(bestGsfElectron.vertex().y()-bs.position().y());
01366 d = sqrt(d);
01367 h_ele_vertexTIP -> Fill( d );
01368 h_ele_vertexTIPVsEta -> Fill( bestGsfElectron.eta(), d );
01369 h_ele_vertexTIPVsPhi -> Fill( bestGsfElectron.phi(), d );
01370 h_ele_vertexTIPVsPt -> Fill( bestGsfElectron.pt(), d );
01371 h_ele_EtaMnEtamatchingObject -> Fill( bestGsfElectron.eta()-moIter->eta());
01372 h_ele_EtaMnEtamatchingObjectVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.eta()-moIter->eta());
01373 h_ele_EtaMnEtamatchingObjectVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.eta()-moIter->eta());
01374 h_ele_EtaMnEtamatchingObjectVsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.eta()-moIter->eta());
01375 h_ele_PhiMnPhimatchingObject -> Fill( bestGsfElectron.phi()-moIter->phi());
01376 h_ele_PhiMnPhimatchingObject2 -> Fill( bestGsfElectron.phi()-moIter->phi());
01377 h_ele_PhiMnPhimatchingObjectVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.phi()-moIter->phi());
01378 h_ele_PhiMnPhimatchingObjectVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.phi()-moIter->phi());
01379 h_ele_PhiMnPhimatchingObjectVsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.phi()-moIter->phi());
01380 h_ele_PoPmatchingObject -> Fill( bestGsfElectron.p()/moIter->energy());
01381 h_ele_PoPmatchingObjectVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.p()/moIter->energy());
01382 h_ele_PoPmatchingObjectVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.p()/moIter->energy());
01383 h_ele_PoPmatchingObjectVsPt -> Fill( bestGsfElectron.py(), bestGsfElectron.p()/moIter->energy());
01384 if (bestGsfElectron.isEB()) h_ele_PoPmatchingObject_barrel -> Fill( bestGsfElectron.p()/moIter->energy());
01385 if (bestGsfElectron.isEE()) h_ele_PoPmatchingObject_endcaps -> Fill( bestGsfElectron.p()/moIter->energy());
01386
01387
01388 reco::SuperClusterRef sclRef = bestGsfElectron.superCluster();
01389 if (!bestGsfElectron.ecalDrivenSeed()&&bestGsfElectron.trackerDrivenSeed()) sclRef = bestGsfElectron.pflowSuperCluster();
01390 histSclEn_->Fill(sclRef->energy());
01391 double R=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y() +sclRef->z()*sclRef->z());
01392 double Rt=TMath::Sqrt(sclRef->x()*sclRef->x() + sclRef->y()*sclRef->y());
01393 histSclEt_->Fill(sclRef->energy()*(Rt/R));
01394 histSclEtVsEta_->Fill(sclRef->eta(),sclRef->energy()*(Rt/R));
01395 histSclEtVsPhi_->Fill(sclRef->phi(),sclRef->energy()*(Rt/R));
01396 if (bestGsfElectron.classification() < 100) histSclEoEmatchingObject_barrel->Fill(sclRef->energy()/moIter->energy());
01397 if (bestGsfElectron.classification() >= 100) histSclEoEmatchingObject_endcaps->Fill(sclRef->energy()/moIter->energy());
01398 histSclEta_->Fill(sclRef->eta());
01399 histSclEtaVsPhi_->Fill(sclRef->phi(),sclRef->eta());
01400 histSclPhi_->Fill(sclRef->phi());
01401 histSclSigIEtaIEta_->Fill(bestGsfElectron.scSigmaIEtaIEta());
01402 if (bestGsfElectron.isEB()) histSclSigIEtaIEta_barrel_->Fill(bestGsfElectron.scSigmaIEtaIEta());
01403 if (bestGsfElectron.isEE()) histSclSigIEtaIEta_endcaps_->Fill(bestGsfElectron.scSigmaIEtaIEta());
01404 histSclE1x5_->Fill(bestGsfElectron.scE1x5());
01405 if (bestGsfElectron.isEB()) histSclE1x5_barrel_->Fill(bestGsfElectron.scE1x5());
01406 if (bestGsfElectron.isEE()) histSclE1x5_endcaps_->Fill(bestGsfElectron.scE1x5());
01407 histSclE2x5max_->Fill(bestGsfElectron.scE2x5Max());
01408 if (bestGsfElectron.isEB()) histSclE2x5max_barrel_->Fill(bestGsfElectron.scE2x5Max());
01409 if (bestGsfElectron.isEE()) histSclE2x5max_endcaps_->Fill(bestGsfElectron.scE2x5Max());
01410 histSclE5x5_->Fill(bestGsfElectron.scE5x5());
01411 if (bestGsfElectron.isEB()) histSclE5x5_barrel_->Fill(bestGsfElectron.scE5x5());
01412 if (bestGsfElectron.isEE()) histSclE5x5_endcaps_->Fill(bestGsfElectron.scE5x5());
01413
01414
01415 h_ele_ambiguousTracks -> Fill( bestGsfElectron.ambiguousGsfTracksSize() );
01416 h_ele_ambiguousTracksVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.ambiguousGsfTracksSize() );
01417 h_ele_ambiguousTracksVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.ambiguousGsfTracksSize() );
01418 h_ele_ambiguousTracksVsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.ambiguousGsfTracksSize() );
01419 if (!readAOD_) {
01420 h_ele_foundHits -> Fill( bestGsfElectron.gsfTrack()->numberOfValidHits() );
01421 h_ele_foundHitsVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
01422 h_ele_foundHitsVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
01423 h_ele_foundHitsVsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfValidHits() );
01424 h_ele_lostHits -> Fill( bestGsfElectron.gsfTrack()->numberOfLostHits() );
01425 h_ele_lostHitsVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
01426 h_ele_lostHitsVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
01427 h_ele_lostHitsVsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->numberOfLostHits() );
01428 h_ele_chi2 -> Fill( bestGsfElectron.gsfTrack()->normalizedChi2() );
01429 h_ele_chi2VsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.gsfTrack()->normalizedChi2() );
01430 h_ele_chi2VsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.gsfTrack()->normalizedChi2() );
01431 h_ele_chi2VsPt -> Fill( bestGsfElectron.pt(), bestGsfElectron.gsfTrack()->normalizedChi2() );
01432 }
01433
01434 if (!readAOD_) {
01435 h_ele_PinMnPout -> Fill( bestGsfElectron.gsfTrack()->innerMomentum().R() - bestGsfElectron.gsfTrack()->outerMomentum().R() );
01436 h_ele_outerP -> Fill( bestGsfElectron.gsfTrack()->outerMomentum().R() );
01437 h_ele_outerPt -> Fill( bestGsfElectron.gsfTrack()->outerMomentum().Rho() );
01438 }
01439
01440 h_ele_PinMnPout_mode -> Fill( bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01441 h_ele_PinMnPoutVsEta_mode -> Fill( bestGsfElectron.eta(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01442 h_ele_PinMnPoutVsPhi_mode -> Fill( bestGsfElectron.phi(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01443 h_ele_PinMnPoutVsPt_mode -> Fill( bestGsfElectron.pt(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01444 h_ele_PinMnPoutVsE_mode -> Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01445 if (!readAOD_)
01446 h_ele_PinMnPoutVsChi2_mode -> Fill( bestGsfElectron.gsfTrack()->normalizedChi2(), bestGsfElectron.trackMomentumAtVtx().R() - bestGsfElectron.trackMomentumOut().R() );
01447 h_ele_outerP_mode -> Fill( bestGsfElectron.trackMomentumOut().R() );
01448 h_ele_outerPVsEta_mode -> Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().R() );
01449 h_ele_outerPt_mode -> Fill( bestGsfElectron.trackMomentumOut().Rho() );
01450 h_ele_outerPtVsEta_mode -> Fill(bestGsfElectron.eta(), bestGsfElectron.trackMomentumOut().Rho() );
01451 h_ele_outerPtVsPhi_mode -> Fill(bestGsfElectron.phi(), bestGsfElectron.trackMomentumOut().Rho() );
01452 h_ele_outerPtVsPt_mode -> Fill(bestGsfElectron.pt(), bestGsfElectron.trackMomentumOut().Rho() );
01453
01454 if (!readAOD_) {
01455 edm::RefToBase<TrajectorySeed> seed = bestGsfElectron.gsfTrack()->extra()->seedRef();
01456 ElectronSeedRef elseed=seed.castTo<ElectronSeedRef>();
01457 h_ele_seed_dphi2_-> Fill(elseed->dPhi2());
01458 h_ele_seed_dphi2VsEta_-> Fill(bestGsfElectron.eta(), elseed->dPhi2());
01459 h_ele_seed_dphi2VsPt_-> Fill(bestGsfElectron.pt(), elseed->dPhi2()) ;
01460 h_ele_seed_drz2_-> Fill(elseed->dRz2());
01461 h_ele_seed_drz2VsEta_-> Fill(bestGsfElectron.eta(), elseed->dRz2());
01462 h_ele_seed_drz2VsPt_-> Fill(bestGsfElectron.pt(), elseed->dRz2());
01463 h_ele_seed_subdet2_-> Fill(elseed->subDet2());
01464 }
01465
01466 h_ele_EoP -> Fill( bestGsfElectron.eSuperClusterOverP() );
01467 if (bestGsfElectron.ecalDrivenSeed()) h_ele_EoP_eg -> Fill( bestGsfElectron.eSuperClusterOverP() );
01468 if (bestGsfElectron.isEB()) h_ele_EoP_barrel -> Fill( bestGsfElectron.eSuperClusterOverP() );
01469 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EoP_eg_barrel -> Fill( bestGsfElectron.eSuperClusterOverP() );
01470 if (bestGsfElectron.isEE()) h_ele_EoP_endcaps -> Fill( bestGsfElectron.eSuperClusterOverP() );
01471 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EoP_eg_endcaps -> Fill( bestGsfElectron.eSuperClusterOverP() );
01472 h_ele_EoPVsEta -> Fill(bestGsfElectron.eta(), bestGsfElectron.eSuperClusterOverP() );
01473 h_ele_EoPVsPhi -> Fill(bestGsfElectron.phi(), bestGsfElectron.eSuperClusterOverP() );
01474 h_ele_EoPVsE -> Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSuperClusterOverP() );
01475 h_ele_EseedOP -> Fill( bestGsfElectron.eSeedClusterOverP() );
01476 if (bestGsfElectron.ecalDrivenSeed()) h_ele_EseedOP_eg -> Fill( bestGsfElectron.eSeedClusterOverP() );
01477 if (bestGsfElectron.isEB()) h_ele_EseedOP_barrel -> Fill( bestGsfElectron.eSeedClusterOverP() );
01478 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EseedOP_eg_barrel -> Fill( bestGsfElectron.eSeedClusterOverP() );
01479 if (bestGsfElectron.isEE()) h_ele_EseedOP_endcaps -> Fill( bestGsfElectron.eSeedClusterOverP() );
01480 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EseedOP_eg_endcaps -> Fill( bestGsfElectron.eSeedClusterOverP() );
01481 h_ele_EseedOPVsEta -> Fill(bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverP() );
01482 h_ele_EseedOPVsPhi -> Fill(bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverP() );
01483 h_ele_EseedOPVsE -> Fill(bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverP() );
01484 h_ele_EoPout -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01485 if (bestGsfElectron.ecalDrivenSeed()) h_ele_EoPout_eg -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01486 if (bestGsfElectron.isEB()) h_ele_EoPout_barrel -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01487 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EoPout_eg_barrel -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01488 if (bestGsfElectron.isEE()) h_ele_EoPout_endcaps -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01489 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EoPout_eg_endcaps -> Fill( bestGsfElectron.eSeedClusterOverPout() );
01490 h_ele_EoPoutVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.eSeedClusterOverPout() );
01491 h_ele_EoPoutVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.eSeedClusterOverPout() );
01492 h_ele_EoPoutVsE -> Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.eSeedClusterOverPout() );
01493 h_ele_EeleOPout -> Fill( bestGsfElectron.eEleClusterOverPout() );
01494 if (bestGsfElectron.ecalDrivenSeed()) h_ele_EeleOPout_eg -> Fill( bestGsfElectron.eEleClusterOverPout() );
01495 if (bestGsfElectron.isEB()) h_ele_EeleOPout_barrel -> Fill( bestGsfElectron.eEleClusterOverPout() );
01496 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EeleOPout_eg_barrel -> Fill( bestGsfElectron.eEleClusterOverPout() );
01497 if (bestGsfElectron.isEE()) h_ele_EeleOPout_endcaps -> Fill( bestGsfElectron.eEleClusterOverPout() );
01498 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_EeleOPout_eg_endcaps -> Fill( bestGsfElectron.eEleClusterOverPout() );
01499 h_ele_EeleOPoutVsEta -> Fill( bestGsfElectron.eta(), bestGsfElectron.eEleClusterOverPout() );
01500 h_ele_EeleOPoutVsPhi -> Fill( bestGsfElectron.phi(), bestGsfElectron.eEleClusterOverPout() );
01501 h_ele_EeleOPoutVsE -> Fill( bestGsfElectron.caloEnergy(), bestGsfElectron.eEleClusterOverPout() );
01502 h_ele_dEtaSc_propVtx -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01503 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaSc_propVtx_eg -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01504 if (bestGsfElectron.isEB()) h_ele_dEtaSc_propVtx_barrel -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01505 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaSc_propVtx_eg_barrel -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01506 if (bestGsfElectron.isEE())h_ele_dEtaSc_propVtx_endcaps -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01507 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaSc_propVtx_eg_endcaps -> Fill(bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01508 h_ele_dEtaScVsEta_propVtx -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01509 h_ele_dEtaScVsPhi_propVtx -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01510 h_ele_dEtaScVsPt_propVtx -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaSuperClusterTrackAtVtx());
01511 h_ele_dPhiSc_propVtx -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01512 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiSc_propVtx_eg -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01513 if (bestGsfElectron.isEB()) h_ele_dPhiSc_propVtx_barrel -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01514 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiSc_propVtx_eg_barrel -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01515 if (bestGsfElectron.isEE())h_ele_dPhiSc_propVtx_endcaps -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01516 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiSc_propVtx_eg_endcaps -> Fill(bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01517 h_ele_dPhiScVsEta_propVtx -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01518 h_ele_dPhiScVsPhi_propVtx -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01519 h_ele_dPhiScVsPt_propVtx -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiSuperClusterTrackAtVtx());
01520 h_ele_dEtaCl_propOut -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01521 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaCl_propOut_eg -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01522 if (bestGsfElectron.isEB()) h_ele_dEtaCl_propOut_barrel -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01523 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaCl_propOut_eg_barrel -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01524 if (bestGsfElectron.isEE()) h_ele_dEtaCl_propOut_endcaps -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01525 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaCl_propOut_eg_endcaps -> Fill(bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01526 h_ele_dEtaClVsEta_propOut -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01527 h_ele_dEtaClVsPhi_propOut -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01528 h_ele_dEtaClVsPt_propOut -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaSeedClusterTrackAtCalo());
01529 h_ele_dPhiCl_propOut -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01530 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiCl_propOut_eg -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01531 if (bestGsfElectron.isEB()) h_ele_dPhiCl_propOut_barrel -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01532 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiCl_propOut_eg_barrel -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01533 if (bestGsfElectron.isEE()) h_ele_dPhiCl_propOut_endcaps -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01534 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiCl_propOut_eg_endcaps -> Fill(bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01535 h_ele_dPhiClVsEta_propOut -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01536 h_ele_dPhiClVsPhi_propOut -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01537 h_ele_dPhiClVsPt_propOut -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiSeedClusterTrackAtCalo());
01538 h_ele_dEtaEleCl_propOut -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01539 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaEleCl_propOut_eg -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01540 if (bestGsfElectron.isEB()) h_ele_dEtaEleCl_propOut_barrel -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01541 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaEleCl_propOut_eg_barrel -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01542 if (bestGsfElectron.isEE()) h_ele_dEtaEleCl_propOut_endcaps -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01543 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dEtaEleCl_propOut_eg_endcaps -> Fill(bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01544 h_ele_dEtaEleClVsEta_propOut -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01545 h_ele_dEtaEleClVsPhi_propOut -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01546 h_ele_dEtaEleClVsPt_propOut -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaEtaEleClusterTrackAtCalo());
01547 h_ele_dPhiEleCl_propOut -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01548 if (bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiEleCl_propOut_eg -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01549 if (bestGsfElectron.isEB()) h_ele_dPhiEleCl_propOut_barrel -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01550 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiEleCl_propOut_eg_barrel -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01551 if (bestGsfElectron.isEE()) h_ele_dPhiEleCl_propOut_endcaps -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01552 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_dPhiEleCl_propOut_eg_endcaps -> Fill(bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01553 h_ele_dPhiEleClVsEta_propOut -> Fill( bestGsfElectron.eta(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01554 h_ele_dPhiEleClVsPhi_propOut -> Fill(bestGsfElectron.phi(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01555 h_ele_dPhiEleClVsPt_propOut -> Fill(bestGsfElectron.pt(),bestGsfElectron.deltaPhiEleClusterTrackAtCalo());
01556 h_ele_HoE -> Fill(bestGsfElectron.hadronicOverEm());
01557 if (bestGsfElectron.ecalDrivenSeed()) h_ele_HoE_eg -> Fill(bestGsfElectron.hadronicOverEm());
01558 if (bestGsfElectron.isEB()) h_ele_HoE_barrel -> Fill(bestGsfElectron.hadronicOverEm());
01559 if (bestGsfElectron.isEB()&&bestGsfElectron.ecalDrivenSeed()) h_ele_HoE_eg_barrel -> Fill(bestGsfElectron.hadronicOverEm());
01560 if (bestGsfElectron.isEE()) h_ele_HoE_endcaps -> Fill(bestGsfElectron.hadronicOverEm());
01561 if (bestGsfElectron.isEE()&&bestGsfElectron.ecalDrivenSeed()) h_ele_HoE_eg_endcaps -> Fill(bestGsfElectron.hadronicOverEm());
01562 if (!bestGsfElectron.isEBEtaGap() && !bestGsfElectron.isEBPhiGap()&& !bestGsfElectron.isEBEEGap() &&
01563 !bestGsfElectron.isEERingGap() && !bestGsfElectron.isEEDeeGap()) h_ele_HoE_fiducial -> Fill(bestGsfElectron.hadronicOverEm());
01564 h_ele_HoEVsEta -> Fill( bestGsfElectron.eta(),bestGsfElectron.hadronicOverEm());
01565 h_ele_HoEVsPhi -> Fill(bestGsfElectron.phi(),bestGsfElectron.hadronicOverEm());
01566 h_ele_HoEVsE -> Fill(bestGsfElectron.caloEnergy(),bestGsfElectron.hadronicOverEm());
01567
01568
01569 int eleClass = bestGsfElectron.classification();
01570 if (bestGsfElectron.isEE()) eleClass+=10;
01571 h_ele_classes ->Fill(eleClass);
01572
01573 h_ele_eta->Fill(std::abs(bestGsfElectron.eta()));
01574 if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_ele_eta_golden ->Fill(std::abs(bestGsfElectron.eta()));
01575 if (bestGsfElectron.classification() == GsfElectron::BIGBREM) h_ele_eta_bbrem ->Fill(std::abs(bestGsfElectron.eta()));
01576
01577 if (bestGsfElectron.classification() == GsfElectron::SHOWERING) h_ele_eta_shower ->Fill(std::abs(bestGsfElectron.eta()));
01578
01579
01580 double fbrem_mean=0.;
01581 if (!readAOD_)
01582 fbrem_mean = 1. - bestGsfElectron.gsfTrack()->outerMomentum().R()/bestGsfElectron.gsfTrack()->innerMomentum().R();
01583 double fbrem_mode = bestGsfElectron.fbrem();
01584 h_ele_fbrem->Fill(fbrem_mode);
01585 h_ele_fbremVsEta_mode->Fill(bestGsfElectron.eta(),fbrem_mode);
01586 if (!readAOD_)
01587 h_ele_fbremVsEta_mean->Fill(bestGsfElectron.eta(),fbrem_mean);
01588
01589 if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_ele_PinVsPoutGolden_mode -> Fill(bestGsfElectron.trackMomentumOut().R(), bestGsfElectron.trackMomentumAtVtx().R());
01590 if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
01591 h_ele_PinVsPoutShowering_mode -> Fill(bestGsfElectron.trackMomentumOut().R(), bestGsfElectron.trackMomentumAtVtx().R());
01592 if (!readAOD_)
01593 if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_ele_PinVsPoutGolden_mean -> Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(), bestGsfElectron.gsfTrack()->innerMomentum().R());
01594 if (!readAOD_)
01595 if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
01596 h_ele_PinVsPoutShowering_mean -> Fill(bestGsfElectron.gsfTrack()->outerMomentum().R(), bestGsfElectron.gsfTrack()->innerMomentum().R());
01597 if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_ele_PtinVsPtoutGolden_mode -> Fill(bestGsfElectron.trackMomentumOut().Rho(), bestGsfElectron.trackMomentumAtVtx().Rho());
01598 if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
01599 h_ele_PtinVsPtoutShowering_mode -> Fill(bestGsfElectron.trackMomentumOut().Rho(), bestGsfElectron.trackMomentumAtVtx().Rho());
01600 if (!readAOD_)
01601 if (bestGsfElectron.classification() == GsfElectron::GOLDEN) h_ele_PtinVsPtoutGolden_mean -> Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(), bestGsfElectron.gsfTrack()->innerMomentum().Rho());
01602 if (!readAOD_)
01603 if (bestGsfElectron.classification() == GsfElectron::SHOWERING)
01604 h_ele_PtinVsPtoutShowering_mean -> Fill(bestGsfElectron.gsfTrack()->outerMomentum().Rho(), bestGsfElectron.gsfTrack()->innerMomentum().Rho());
01605
01606 h_ele_mva->Fill(bestGsfElectron.mva());
01607 if (bestGsfElectron.ecalDrivenSeed()) h_ele_provenance->Fill(1.);
01608 if (bestGsfElectron.trackerDrivenSeed()) h_ele_provenance->Fill(-1.);
01609 if (bestGsfElectron.trackerDrivenSeed()||bestGsfElectron.ecalDrivenSeed()) h_ele_provenance->Fill(0.);
01610 if (bestGsfElectron.trackerDrivenSeed()&&!bestGsfElectron.ecalDrivenSeed()) h_ele_provenance->Fill(-2.);
01611 if (!bestGsfElectron.trackerDrivenSeed()&&bestGsfElectron.ecalDrivenSeed()) h_ele_provenance->Fill(2.);
01612
01613 h_ele_tkSumPt_dr03->Fill(bestGsfElectron.dr03TkSumPt());
01614 h_ele_ecalRecHitSumEt_dr03->Fill(bestGsfElectron.dr03EcalRecHitSumEt());
01615 h_ele_hcalDepth1TowerSumEt_dr03->Fill(bestGsfElectron.dr03HcalDepth1TowerSumEt());
01616 h_ele_hcalDepth2TowerSumEt_dr03->Fill(bestGsfElectron.dr03HcalDepth2TowerSumEt());
01617 h_ele_tkSumPt_dr04->Fill(bestGsfElectron.dr04TkSumPt());
01618 h_ele_ecalRecHitSumEt_dr04->Fill(bestGsfElectron.dr04EcalRecHitSumEt());
01619 h_ele_hcalDepth1TowerSumEt_dr04->Fill(bestGsfElectron.dr04HcalDepth1TowerSumEt());
01620 h_ele_hcalDepth2TowerSumEt_dr04->Fill(bestGsfElectron.dr04HcalDepth2TowerSumEt());
01621
01622 }
01623
01624
01625
01626
01627
01628 }
01629
01630 h_matchingObjectNum->Fill(matchingObjectNum);
01631
01632 }
01633
01634