28 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"efficiency calculation" ;
29 bookH1andDivide(iBooker,iGetter,
"etaEff",
"mc_Eta_matched",
"mc_Eta",
"#eta",
"Efficiency",
"");
30 bookH1andDivide(iBooker,iGetter,
"zEff",
"mc_Z_matched",
"mc_Z",
"z (cm)",
"Efficiency",
"");
31 bookH1andDivide(iBooker,iGetter,
"absetaEff",
"mc_AbsEta_matched",
"mc_AbsEta",
"|#eta|",
"Efficiency",
"");
32 bookH1andDivide(iBooker,iGetter,
"ptEff",
"mc_Pt_matched",
"mc_Pt",
"p_{T} (GeV/c)",
"Efficiency",
"");
33 bookH1andDivide(iBooker,iGetter,
"phiEff",
"mc_Phi_matched",
"mc_Phi",
"#phi (rad)",
"Efficiency",
"");
34 bookH2andDivide(iBooker,iGetter,
"ptEtaEff",
"mc_PtEta_matched",
"mc_PtEta",
"#eta",
"p_{T} (GeV/c)",
"");
36 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"q-misid calculation" ;
37 bookH1andDivide(iBooker,iGetter,
"etaQmisid",
"mc_Eta_matched_qmisid",
"mc_Eta",
"#eta",
"q misId",
"");
38 bookH1andDivide(iBooker,iGetter,
"zQmisid",
"mc_Z_matched_qmisid",
"mc_Z",
"z (cm)",
"q misId",
"");
39 bookH1andDivide(iBooker,iGetter,
"absetaQmisid",
"mc_AbsEta_matched_qmisid",
"mc_AbsEta",
"|#eta|",
"q misId",
"");
40 bookH1andDivide(iBooker,iGetter,
"ptQmisid",
"mc_Pt_matched_qmisid",
"mc_Pt",
"p_{T} (GeV/c)",
"q misId",
"");
42 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"all reco electrons" ;
43 bookH1andDivide(iBooker,iGetter,
"etaEff_all",
"vertexEta_all",
"h_mc_Eta",
"#eta",
"N_{rec}/N_{gen}",
"");
44 bookH1andDivide(iBooker,iGetter,
"ptEff_all",
"vertexPt_all",
"h_mc_Pt",
"p_{T} (GeV/c)",
"N_{rec}/N_{gen}",
"");
46 edm::LogInfo(
"ElectronMcSignalPostValidator::finalize") <<
"classes" ;
47 bookH1andDivide(iBooker,iGetter,
"eta_goldenFrac",
"eta_golden",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of golden electrons vs eta");
48 bookH1andDivide(iBooker,iGetter,
"eta_bbremFrac" ,
"eta_bbrem",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of big brem electrons vs eta");
49 bookH1andDivide(iBooker,iGetter,
"eta_showerFrac",
"eta_shower",
"h_ele_eta",
"|#eta|",
"Fraction of electrons",
"fraction of showering electrons vs eta");
52 MonitorElement * p1_ele_fbremVsEta_mean =
get(iGetter,
"fbremvsEtamean") ;
53 TAxis * etaAxis = p1_ele_fbremVsEta_mean->
getTProfile()->GetXaxis() ;
55 for (
int ibin=1;ibin<etaAxis->GetNbins()+1;ibin++) {
64 profileX(iBooker, iGetter,
"scl_EoEtrueVsrecOfflineVertices",
"E/Etrue vs number of primary vertices",
"N_{primary vertices}",
"E/E_{true}", 0.8);
65 profileX(iBooker, iGetter,
"scl_EoEtrueVsrecOfflineVertices_barrel",
"E/Etrue vs number of primary vertices , barrel",
"N_{primary vertices}",
"E/E_{true}", 0.8);
66 profileX(iBooker, iGetter,
"scl_EoEtrueVsrecOfflineVertices_endcaps",
"E/Etrue vs number of primary vertices , endcaps",
"N_{primary vertices}",
"E/E_{true}", 0.8);
68 profileX(iBooker, iGetter,
"PoPtrueVsEta",
"mean ele momentum / gen momentum vs eta",
"#eta",
"<P/P_{gen}>");
69 profileX(iBooker, iGetter,
"PoPtrueVsPhi",
"mean ele momentum / gen momentum vs phi",
"#phi (rad)",
"<P/P_{gen}>");
70 profileX(iBooker, iGetter,
"EoEtruePfVsEg",
"mean pflow sc energy / true energy vs e/g sc energy",
"E/E_{gen} (e/g)",
"<E/E_{gen}> (pflow)") ;
71 profileY(iBooker, iGetter,
"EoEtruePfVsEg",
"mean e/g sc energy / true energy vs pflow sc energy",
"E/E_{gen} (pflow)",
"<E/E_{gen}> (eg)") ;
72 profileX(iBooker, iGetter,
"EtaMnEtaTrueVsEta",
"mean ele eta - gen eta vs eta",
"#eta",
"<#eta_{rec} - #eta_{gen}>");
73 profileX(iBooker, iGetter,
"EtaMnEtaTrueVsPhi",
"mean ele eta - gen eta vs phi",
"#phi (rad)",
"<#eta_{rec} - #eta_{gen}>");
74 profileX(iBooker, iGetter,
"PhiMnPhiTrueVsEta",
"mean ele phi - gen phi vs eta",
"#eta",
"<#phi_{rec} - #phi_{gen}> (rad)");
75 profileX(iBooker, iGetter,
"PhiMnPhiTrueVsPhi",
"mean ele phi - gen phi vs phi",
"#phi (rad)",
"");
76 profileX(iBooker, iGetter,
"vertexPtVsEta",
"mean ele transverse momentum vs eta",
"#eta",
"<p_{T}> (GeV/c)");
77 profileX(iBooker, iGetter,
"vertexPtVsPhi",
"mean ele transverse momentum vs phi",
"#phi (rad)",
"<p_{T}> (GeV/c)");
78 profileX(iBooker, iGetter,
"EoPVsEta",
"mean ele E/p vs eta",
"#eta",
"<E/P_{vertex}>");
79 profileX(iBooker, iGetter,
"EoPVsPhi",
"mean ele E/p vs phi",
"#phi (rad)",
"<E/P_{vertex}>");
80 profileX(iBooker, iGetter,
"EoPoutVsEta",
"mean ele E/pout vs eta",
"#eta",
"<E_{seed}/P_{out}>");
81 profileX(iBooker, iGetter,
"EoPoutVsPhi",
"mean ele E/pout vs phi",
"#phi (rad)",
"<E_{seed}/P_{out}>");
82 profileX(iBooker, iGetter,
"EeleOPoutVsEta",
"mean ele Eele/pout vs eta",
"#eta",
"<E_{ele}/P_{out}>");
83 profileX(iBooker, iGetter,
"EeleOPoutVsPhi",
"mean ele Eele/pout vs phi",
"#phi (rad)",
"<E_{ele}/P_{out}>");
84 profileX(iBooker, iGetter,
"HoEVsEta",
"mean ele H/E vs eta",
"#eta",
"<H/E>");
85 profileX(iBooker, iGetter,
"HoEVsPhi",
"mean ele H/E vs phi",
"#phi (rad)",
"<H/E>");
86 profileX(iBooker, iGetter,
"chi2VsEta",
"mean ele track chi2 vs eta",
"#eta",
"<#Chi^{2}>");
87 profileX(iBooker, iGetter,
"chi2VsPhi",
"mean ele track chi2 vs phi",
"#phi (rad)",
"<#Chi^{2}>");
88 profileX(iBooker, iGetter,
"ambiguousTracksVsEta",
"mean ele # ambiguous tracks vs eta",
"#eta",
"<N_{ambiguous}>");
89 profileX(iBooker, iGetter,
"foundHitsVsEta",
"mean ele track # found hits vs eta",
"#eta",
"<N_{hits}>");
90 profileX(iBooker, iGetter,
"foundHitsVsPhi",
"mean ele track # found hits vs phi",
"#phi (rad)",
"<N_{hits}>");
91 profileX(iBooker, iGetter,
"lostHitsVsEta",
"mean ele track # lost hits vs eta",
"#eta",
"<N_{hits}>");
92 profileX(iBooker, iGetter,
"lostHitsVsPhi",
"mean ele track # lost hits vs phi",
"#phi (rad)",
"<N_{hits}>");
93 profileX(iBooker, iGetter,
"vertexTIPVsEta",
"mean tip (wrt gen vtx) vs eta",
"#eta",
"<TIP> (cm)");
94 profileX(iBooker, iGetter,
"vertexTIPVsPhi",
"mean tip (wrt gen vtx) vs phi",
"#phi",
"<TIP> (cm)");
95 profileX(iBooker, iGetter,
"vertexTIPVsPt",
"mean tip (wrt gen vtx) vs phi",
"p_{T} (GeV/c)",
"<TIP> (cm)");
96 profileX(iBooker, iGetter,
"seedDphi2_VsEta",
"mean ele seed dphi 2nd layer vs eta",
"#eta",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
97 profileX(iBooker, iGetter,
"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);
98 profileX(iBooker, iGetter,
"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);
99 profileX(iBooker, iGetter,
"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);
100 profileX(iBooker, iGetter,
"seedDphi2Pos_VsEta",
"mean ele seed dphi 2nd layer positron vs eta",
"#eta",
"<#phi_{pred} - #phi_{hit}, 2nd layer> (rad)",-0.004,0.004);
101 profileX(iBooker, iGetter,
"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);
102 profileX(iBooker, iGetter,
"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);
103 profileX(iBooker, iGetter,
"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);
T getParameter(std::string const &) const
void setBinContent(int binx, double content)
set content of bin (1-D)
void setBookPrefix(const std::string &)
ElectronMcSignalPostValidator(const edm::ParameterSet &conf)
MonitorElement * profileX(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
void setBookStatOverflowFlag(const bool &)
void setBookEfficiencyFlag(const bool &)
virtual ~ElectronMcSignalPostValidator()
MonitorElement * bookH1withSumw2(DQMStore::IBooker &, 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")
MonitorElement * bookH1andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, 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 * h1_ele_xOverX0VsEta
bool set_StatOverflowFlag
virtual void finalize(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
MonitorElement * profileY(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, MonitorElement *me2d, const std::string &title="", const std::string &titleX="", const std::string &titleY="", Double_t minimum=-1111, Double_t maximum=-1111)
MonitorElement * bookH2andDivide(DQMStore::IBooker &iBooker, DQMStore::IGetter &, const std::string &name, MonitorElement *num, MonitorElement *denom, const std::string &titleX, const std::string &titleY, const std::string &title="")