36 cout <<
"TriggerMatchEfficiencyPlotter(): Constructor " << endl;
41 triggerhistName2_ =
parameters.getParameter<
string>(
"triggerhistName2");
42 theFolder =
parameters.getParameter<
string>(
"folder");
51 h_eff_Path1_eta_tight = ibooker.
book1D(
"matchingEff_eta_"+triggerhistName1_+
"_tight",triggerhistName1_+
":matching Eff. vs #eta",8, -2.5, 2.5);
52 h_eff_Path1_pt_tight = ibooker.
book1D(
"matchingEff_pt_"+triggerhistName1_+
"_tight",triggerhistName1_+
":matching Eff. vs pt",10, 20, 220);
53 h_eff_Path1_phi_tight = ibooker.
book1D(
"matchingEff_phi_"+triggerhistName1_+
"_tight",triggerhistName1_+
":matching Eff. vs #phi", 8, -3.0, 3.0);
54 h_eff_Path2_eta_tight = ibooker.
book1D(
"matchingEff_eta_"+triggerhistName2_+
"_tight",triggerhistName2_+
":matching Eff. vs #eta",8, -2.5, 2.5);
55 h_eff_Path2_pt_tight = ibooker.
book1D(
"matchingEff_pt_"+triggerhistName2_+
"_tight",triggerhistName2_+
":matching Eff. vs pt",10, 20, 220);
56 h_eff_Path2_phi_tight = ibooker.
book1D(
"matchingEff_phi_"+triggerhistName2_+
"_tight",triggerhistName2_+
":matching Eff. vs #phi", 8, -3.0, 3.0);
62 h_eff_Path1_pt_tight->setEfficiencyFlag();
63 h_eff_Path1_phi_tight->setEfficiencyFlag();
64 h_eff_Path2_eta_tight->setEfficiencyFlag();
65 h_eff_Path2_pt_tight->setEfficiencyFlag();
66 h_eff_Path2_phi_tight->setEfficiencyFlag();
69 h_eff_Path1_eta_tight ->setAxisTitle(
"#eta", 1);
70 h_eff_Path1_pt_tight ->setAxisTitle(
"pt", 1);
71 h_eff_Path1_phi_tight ->setAxisTitle(
"#phi", 1);
72 h_eff_Path2_eta_tight ->setAxisTitle(
"#eta", 1);
73 h_eff_Path2_pt_tight ->setAxisTitle(
"pt", 1);
74 h_eff_Path2_phi_tight ->setAxisTitle(
"#phi", 1);
79 string inputdir =
"Muons_miniAOD/TriggerMatchMonitor/EfficiencyInput";
80 string numpath_eta_path1 = inputdir+
"/passHLT"+triggerhistName1_+
"_eta_Tight";
81 string denpath_eta_path1 = inputdir+
"/totalHLT"+triggerhistName1_+
"_eta_Tight";
83 string numpath_pt_path1 = inputdir+
"/passHLT"+triggerhistName1_+
"_pt_Tight";
84 string denpath_pt_path1 = inputdir+
"/totalHLT"+triggerhistName1_+
"_pt_Tight";
86 string numpath_phi_path1 = inputdir+
"/passHLT"+triggerhistName1_+
"_phi_Tight";
87 string denpath_phi_path1 = inputdir+
"/totalHLT"+triggerhistName1_+
"_phi_Tight";
89 string numpath_eta_path2 = inputdir+
"/passHLT"+triggerhistName2_+
"_eta_Tight";
90 string denpath_eta_path2 = inputdir+
"/totalHLT"+triggerhistName2_+
"_eta_Tight";
92 string numpath_pt_path2 = inputdir+
"/passHLT"+triggerhistName2_+
"_pt_Tight";
93 string denpath_pt_path2 = inputdir+
"/totalHLT"+triggerhistName2_+
"_pt_Tight";
95 string numpath_phi_path2 = inputdir+
"/passHLT"+triggerhistName2_+
"_phi_Tight";
96 string denpath_phi_path2 = inputdir+
"/totalHLT"+triggerhistName2_+
"_phi_Tight";
116 if (Numerator_eta_path1 && Denominator_eta_path1){
117 TH1F *h_numerator_eta_path1 = Numerator_eta_path1->
getTH1F();
118 TH1F *h_denominator_eta_path1 = Denominator_eta_path1->
getTH1F();
119 TH1F *h_eff_eta_path1 = h_eff_Path1_eta_tight->getTH1F();
121 if (h_eff_eta_path1->GetSumw2N() == 0) h_eff_eta_path1->Sumw2();
122 h_eff_eta_path1->Divide(h_numerator_eta_path1, h_denominator_eta_path1, 1., 1.,
"B");
125 if (Numerator_pt_path1 && Denominator_pt_path1){
126 TH1F *h_numerator_pt_path1 = Numerator_pt_path1->
getTH1F();
127 TH1F *h_denominator_pt_path1 = Denominator_pt_path1->
getTH1F();
128 TH1F *h_eff_pt_path1 = h_eff_Path1_pt_tight->getTH1F();
130 if (h_eff_pt_path1->GetSumw2N() == 0) h_eff_pt_path1->Sumw2();
131 h_eff_pt_path1->Divide(h_numerator_pt_path1, h_denominator_pt_path1, 1., 1.,
"B");
134 if (Numerator_phi_path1 && Denominator_phi_path1){
135 TH1F *h_numerator_phi_path1 = Numerator_phi_path1->
getTH1F();
136 TH1F *h_denominator_phi_path1 = Denominator_phi_path1->
getTH1F();
137 TH1F *h_eff_phi_path1 = h_eff_Path1_phi_tight->getTH1F();
139 if (h_eff_phi_path1->GetSumw2N() == 0) h_eff_phi_path1->Sumw2();
140 h_eff_phi_path1->Divide(h_numerator_phi_path1, h_denominator_phi_path1, 1., 1.,
"B");
144 if (Numerator_eta_path2 && Denominator_eta_path2){
145 TH1F *h_numerator_eta_path2 = Numerator_eta_path2->
getTH1F();
146 TH1F *h_denominator_eta_path2 = Denominator_eta_path2->
getTH1F();
147 TH1F *h_eff_eta_path2 = h_eff_Path2_eta_tight->getTH1F();
149 if (h_eff_eta_path2->GetSumw2N() == 0) h_eff_eta_path2->Sumw2();
150 h_eff_eta_path2->Divide(h_numerator_eta_path2, h_denominator_eta_path2, 1., 1.,
"B");
153 if (Numerator_pt_path2 && Denominator_pt_path2){
154 TH1F *h_numerator_pt_path2 = Numerator_pt_path2->
getTH1F();
155 TH1F *h_denominator_pt_path2 = Denominator_pt_path2->
getTH1F();
156 TH1F *h_eff_pt_path2 = h_eff_Path2_pt_tight->getTH1F();
158 if (h_eff_pt_path2->GetSumw2N() == 0) h_eff_pt_path2->Sumw2();
159 h_eff_pt_path2->Divide(h_numerator_pt_path2, h_denominator_pt_path2, 1., 1.,
"B");
162 if (Numerator_phi_path2 && Denominator_phi_path2){
163 TH1F *h_numerator_phi_path2 = Numerator_phi_path2->
getTH1F();
164 TH1F *h_denominator_phi_path2 = Denominator_phi_path2->
getTH1F();
165 TH1F *h_eff_phi_path2 = h_eff_Path2_phi_tight->getTH1F();
167 if (h_eff_phi_path2->GetSumw2N() == 0) h_eff_phi_path2->Sumw2();
168 h_eff_phi_path2->Divide(h_numerator_phi_path2, h_denominator_phi_path2, 1., 1.,
"B");
T getParameter(std::string const &) const
~TriggerMatchEfficiencyPlotter() override
Destructor.
void setCurrentFolder(std::string const &fullpath)
MonitorElement * book1D(Args &&...args)
MonitorElement * get(std::string const &path)
TriggerMatchEfficiencyPlotter(const edm::ParameterSet &ps)
Constructor.
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
DQM Client Diagnostic.