20 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"efficiency calculation" ;
21 bookH1andDivide(
"etaEff",
"mc_Eta_matched",
"mc_Eta",
"#eta",
"Efficiency",
"");
23 bookH1andDivide(
"absetaEff",
"mc_AbsEta_matched",
"mc_AbsEta",
"|#eta|",
"Efficiency");
24 bookH1andDivide(
"ptEff",
"mc_Pt_matched",
"mc_Pt",
"p_{T} (GeV/c)",
"Efficiency");
25 bookH1andDivide(
"phiEff",
"mc_Phi_matched",
"mc_Phi",
"#phi (rad)",
"Efficiency");
26 bookH2andDivide(
"ptEtaEff",
"mc_PtEta_matched",
"mc_PtEta",
"#eta",
"p_{T} (GeV/c)");
28 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"q-misid calculation" ;
29 bookH1andDivide(
"etaQmisid",
"mc_Eta_matched_qmisid",
"mc_Eta",
"#eta",
"q misId",
"");
30 bookH1andDivide(
"zQmisid",
"mc_Z_matched_qmisid",
"mc_Z",
"z (cm)",
"q misId",
"");
31 bookH1andDivide(
"absetaQmisid",
"mc_AbsEta_matched_qmisid",
"mc_AbsEta",
"|#eta|",
"q misId");
32 bookH1andDivide(
"ptQmisid",
"mc_Pt_matched_qmisid",
"mc_Pt",
"p_{T} (GeV/c)",
"q misId");
34 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"all reco electrons" ;
35 bookH1andDivide(
"etaEff_all",
"vertexEta_all",
"h_mc_Eta",
"#eta",
"N_{rec}/N_{gen}",
"");
36 bookH1andDivide(
"ptEff_all",
"vertexPt_all",
"h_mc_Pt",
"p_{T} (GeV/c)",
"N_{rec}/N_{gen}",
"");
38 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"classes" ;
39 bookH1andDivide(
"eta_goldenFrac",
"eta_golden",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of golden electrons vs eta");
40 bookH1andDivide(
"eta_bbremFrac" ,
"eta_bbrem",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of big brem electrons vs eta");
41 bookH1andDivide(
"eta_showerFrac",
"eta_shower",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of showering electrons vs eta");
45 TAxis * etaAxis = p1_ele_fbremVsEta_mean->
getTProfile()->GetXaxis() ;
46 MonitorElement * h1_ele_xOverX0VsEta =
bookH1withSumw2(
"xOverx0VsEta",
"mean X/X_0 vs eta",etaAxis->GetNbins(),etaAxis->GetXmin(),etaAxis->GetXmax());
47 for (
int ibin=1;ibin<etaAxis->GetNbins()+1;ibin++) {
55 profileX(
"PoPtrueVsEta",
"mean ele momentum / gen momentum vs eta",
"#eta",
"<P/P_{gen}>");
56 profileX(
"PoPtrueVsPhi",
"mean ele momentum / gen momentum vs phi",
"#phi (rad)",
"<P/P_{gen}>");
57 profileX(
"EoEtruePfVsEg",
"mean pflow sc energy / true energy vs e/g sc energy",
"E/E_{gen} (e/g)",
"<E/E_{gen}> (pflow)") ;
58 profileY(
"EoEtruePfVsEg",
"mean e/g sc energy / true energy vs pflow sc energy",
"E/E_{gen} (pflow)",
"<E/E_{gen}> (eg)") ;
59 profileX(
"EtaMnEtaTrueVsEta",
"mean ele eta - gen eta vs eta",
"#eta",
"<#eta_{rec} - #eta_{gen}>");
60 profileX(
"EtaMnEtaTrueVsPhi",
"mean ele eta - gen eta vs phi",
"#phi (rad)",
"<#eta_{rec} - #eta_{gen}>");
61 profileX(
"PhiMnPhiTrueVsEta",
"mean ele phi - gen phi vs eta",
"#eta",
"<#phi_{rec} - #phi_{gen}> (rad)");
62 profileX(
"PhiMnPhiTrueVsPhi",
"mean ele phi - gen phi vs phi",
"#phi (rad)",
"");
63 profileX(
"vertexPtVsEta",
"mean ele transverse momentum vs eta",
"#eta",
"<p_{T}> (GeV/c)");
64 profileX(
"vertexPtVsPhi",
"mean ele transverse momentum vs phi",
"#phi (rad)",
"<p_{T}> (GeV/c)");
65 profileX(
"EoPVsEta",
"mean ele E/p vs eta",
"#eta",
"<E/P_{vertex}>");
66 profileX(
"EoPVsPhi",
"mean ele E/p vs phi",
"#phi (rad)",
"<E/P_{vertex}>");
67 profileX(
"EoPoutVsEta",
"mean ele E/pout vs eta",
"#eta",
"<E_{seed}/P_{out}>");
68 profileX(
"EoPoutVsPhi",
"mean ele E/pout vs phi",
"#phi (rad)",
"<E_{seed}/P_{out}>");
69 profileX(
"EeleOPoutVsEta",
"mean ele Eele/pout vs eta",
"#eta",
"<E_{ele}/P_{out}>");
70 profileX(
"EeleOPoutVsPhi",
"mean ele Eele/pout vs phi",
"#phi (rad)",
"<E_{ele}/P_{out}>");
71 profileX(
"HoEVsEta",
"mean ele H/E vs eta",
"#eta",
"<H/E>");
72 profileX(
"HoEVsPhi",
"mean ele H/E vs phi",
"#phi (rad)",
"<H/E>");
73 profileX(
"chi2VsEta",
"mean ele track chi2 vs eta",
"#eta",
"<#Chi^{2}>");
74 profileX(
"chi2VsPhi",
"mean ele track chi2 vs phi",
"#phi (rad)",
"<#Chi^{2}>");
75 profileX(
"ambiguousTracksVsEta",
"mean ele # ambiguous tracks vs eta",
"#eta",
"<N_{ambiguous}>");
76 profileX(
"foundHitsVsEta",
"mean ele track # found hits vs eta",
"#eta",
"<N_{hits}>");
77 profileX(
"foundHitsVsPhi",
"mean ele track # found hits vs phi",
"#phi (rad)",
"<N_{hits}>");
78 profileX(
"lostHitsVsEta",
"mean ele track # lost hits vs eta",
"#eta",
"<N_{hits}>");
79 profileX(
"lostHitsVsPhi",
"mean ele track # lost hits vs phi",
"#phi (rad)",
"<N_{hits}>");
80 profileX(
"vertexTIPVsEta",
"mean tip (wrt gen vtx) vs eta",
"#eta",
"<TIP> (cm)");
81 profileX(
"vertexTIPVsPhi",
"mean tip (wrt gen vtx) vs phi",
"#phi",
"<TIP> (cm)");
82 profileX(
"vertexTIPVsPt",
"mean tip (wrt gen vtx) vs phi",
"p_{T} (GeV/c)",
"<TIP> (cm)");
83 profileX(
"seedDphi2_VsEta",
"mean ele seed dphi 2nd layer vs eta",
"#eta",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
84 profileX(
"seedDphi2_VsPt",
"mean ele seed dphi 2nd layer vs pt",
"p_{T} (GeV/c)",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
85 profileX(
"seedDrz2_VsEta",
"mean ele seed dr(dz) 2nd layer vs eta",
"#eta",
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)",-0.15,0.15);
86 profileX(
"seedDrz2_VsPt",
"mean ele seed dr(dz) 2nd layer vs pt",
"p_{T} (GeV/c)",
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)",-0.15,0.15);
87 profileX(
"seedDphi2Pos_VsEta",
"mean ele seed dphi 2nd layer positron vs eta",
"#eta",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
88 profileX(
"seedDphi2Pos_VsPt",
"mean ele seed dphi 2nd layer positron vs pt",
"p_{T} (GeV/c)",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
89 profileX(
"seedDrz2Pos_VsEta",
"mean ele seed dr(dz) 2nd layer positron vs eta",
"#eta",
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)",-0.15,0.15);
90 profileX(
"seedDrz2Pos_VsPt",
"mean ele seed dr(dz) 2nd layer positron vs pt",
"p_{T} (GeV/c)",
"<r(z)_{pred} - r(z)_{hit}, 2nd layer> (cm)",-0.15,0.15);
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * profileY(MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
MonitorElement * bookH1withSumw2(const std::string &name, const std::string &title, int nchX, double lowX, double highX, const std::string &titleX="", const std::string &titleY="Events", Option_t *option="E1 P")
ElectronMcSignalPostValidator(const edm::ParameterSet &conf)
MonitorElement * profileX(MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
void setBookPrefix(const std::string &)
virtual ~ElectronMcSignalPostValidator()
MonitorElement * bookH2andDivide(const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")
double getBinContent(int binx) const
get content of bin (1-D)
TProfile * getTProfile(void) const
MonitorElement * bookH1andDivide(const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")