CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EfficiencyPlotter.cc
Go to the documentation of this file.
2 
3 // Framework
10 
11 
16 
17 #include <iostream>
18 #include <stdio.h>
19 #include <string>
20 #include <math.h>
21 #include "TF1.h"
22 #include "TH1F.h"
23 
24 using namespace edm;
25 using namespace std;
26 
27 //#define DEBUG
28 
30 #ifdef DEBUG
31  cout << "EfficiencyPlotter(): Constructor " << endl;
32 #endif
33  parameters = ps;
34 
35  etaBin = parameters.getParameter<int>("etaBin");
36  etaMin = parameters.getParameter<double>("etaMin");
37  etaMax = parameters.getParameter<double>("etaMax");
38 
39  phiBin = parameters.getParameter<int>("phiBin");
40  phiMin = parameters.getParameter<double>("phiMin");
41  phiMax = parameters.getParameter<double>("phiMax");
42 
43  ptBin = parameters.getParameter<int>("ptBin");
44  ptMin = parameters.getParameter<double>("ptMin");
45  ptMax = parameters.getParameter<double>("ptMax");
46 
47  vtxBin = parameters.getParameter<int>("vtxBin");
48  vtxMin = parameters.getParameter<double>("vtxMin");
49  vtxMax = parameters.getParameter<double>("vtxMax");
50 
51 }
53 
55 
56  ibooker.setCurrentFolder("Muons/EfficiencyAnalyzer");
57 
58  // efficiency plot
59  h_eff_eta_TightMu = ibooker.book1D("Eff_eta_TightMu", "TightMu Eff. vs #eta", etaBin, etaMin, etaMax);
60  h_eff_hp_eta_TightMu = ibooker.book1D("Eff_hp_eta_TightMu", "High Pt TightMu Eff. vs #eta", etaBin, etaMin, etaMax);
61  h_eff_phi_TightMu = ibooker.book1D("Eff_phi_TightMu", "TightMu Eff. vs #phi", phiBin, phiMin, phiMax);
62  h_eff_pt_TightMu = ibooker.book1D("Eff_pt_TightMu", "TightMu Eff. vs Pt", ptBin, ptMin, ptMax);
63  h_eff_pt_EB_TightMu = ibooker.book1D("Eff_pt_EB_TightMu", "Barrel: TightMu Eff. vs Pt", ptBin, ptMin, ptMax);
64  h_eff_pt_EE_TightMu = ibooker.book1D("Eff_pt_EE_TightMu", "Endcap: TightMu Eff. vs Pt", ptBin, ptMin, ptMax);
65  h_eff_pt_detIsoTightMu = ibooker.book1D("Eff_pt_detIsoTightMu", "detIsoTightMu Efficiency vs Pt", ptBin, ptMin, ptMax);
66  h_eff_pt_EB_detIsoTightMu = ibooker.book1D("Eff_pt_EB_detIsoTightMu", "Barrel: detIsoTightMu Eff. vs Pt", ptBin, ptMin, ptMax);
67  h_eff_pt_EE_detIsoTightMu = ibooker.book1D("Eff_pt_EE_detIsoTightMu", "Endcap: detIsoTightMu Eff. vs Pt", ptBin, ptMin, ptMax);
68  h_eff_pt_pfIsoTightMu = ibooker.book1D("Eff_pt_pfIsoTightMu", "pfIsoTightMu Eff. vs Pt", ptBin, ptMin, ptMax);
69  h_eff_pt_EB_pfIsoTightMu = ibooker.book1D("Eff_pt_EB_pfIsoTightMu", "Barrel: pfIsoTightMu Eff. vs Pt", ptBin, ptMin, ptMax);
70  h_eff_pt_EE_pfIsoTightMu = ibooker.book1D("Eff_pt_EE_pfIsoTightMu", "Endcap: pfIsoTightMu Eff. vs Pt", ptBin, ptMin, ptMax);
71  h_eff_vtx_detIsoTightMu = ibooker.book1D("Eff_vtx_detIsoTightMu", "detIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
72  h_eff_vtx_pfIsoTightMu = ibooker.book1D("Eff_vtx_pfIsoTightMu", "pfIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
73  h_eff_vtx_EB_detIsoTightMu = ibooker.book1D("Eff_vtx_EB_detIsoTightMu", "Barrel: detIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
74  h_eff_vtx_EB_pfIsoTightMu = ibooker.book1D("Eff_vtx_EB_pfIsoTightMu", "Barrel: pfIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
75  h_eff_vtx_EE_detIsoTightMu = ibooker.book1D("Eff_vtx_EE_detIsoTightMu", "Endcap: detIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
76  h_eff_vtx_EE_pfIsoTightMu = ibooker.book1D("Eff_vtx_EE_pfIsoTightMu", "Endcap: pfIsoTightMu Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
77 
78  h_eff_pt_pfIsodBTightMu = ibooker.book1D("Eff_pt_pfIsodBTightMu", "pfIsoTightMu (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
79  h_eff_pt_EB_pfIsodBTightMu = ibooker.book1D("Eff_pt_EB_pfIsodBTightMu", "Barrel: pfIsoTightMu (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
80  h_eff_pt_EE_pfIsodBTightMu = ibooker.book1D("Eff_pt_EE_pfIsodBTightMu", "Endcap: pfIsoTightMu (deltaBeta) Eff. vs Pt", ptBin, ptMin, ptMax);
81  h_eff_vtx_pfIsodBTightMu = ibooker.book1D("Eff_vtx_pfIsodBTightMu", "pfIsoTightMu (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
82  h_eff_vtx_EB_pfIsodBTightMu = ibooker.book1D("Eff_vtx_EB_pfIsodBTightMu", "Barrel: pfIsoTightMu (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
83  h_eff_vtx_EE_pfIsodBTightMu = ibooker.book1D("Eff_vtx_EE_pfIsodBTightMu", "Endcap: pfIsoTightMu (deltaBeta) Eff. vs nVtx", vtxBin, vtxMin, vtxMax);
84 
85 
86 
87  // This prevents this ME to be normalized when drawn into the GUI
88  h_eff_eta_TightMu ->setEfficiencyFlag();
89  h_eff_hp_eta_TightMu ->setEfficiencyFlag();
90  h_eff_phi_TightMu ->setEfficiencyFlag();
91  h_eff_pt_TightMu ->setEfficiencyFlag();
92  h_eff_pt_EB_TightMu ->setEfficiencyFlag();
93  h_eff_pt_EE_TightMu ->setEfficiencyFlag();
94  h_eff_pt_detIsoTightMu ->setEfficiencyFlag();
95  h_eff_pt_EB_detIsoTightMu ->setEfficiencyFlag();
96  h_eff_pt_EE_detIsoTightMu ->setEfficiencyFlag();
97  h_eff_pt_pfIsoTightMu ->setEfficiencyFlag();
98  h_eff_pt_EB_pfIsoTightMu ->setEfficiencyFlag();
99  h_eff_pt_EE_pfIsoTightMu ->setEfficiencyFlag();
100  h_eff_vtx_detIsoTightMu ->setEfficiencyFlag();
101  h_eff_vtx_pfIsoTightMu ->setEfficiencyFlag();
102  h_eff_vtx_EB_detIsoTightMu->setEfficiencyFlag();
103  h_eff_vtx_EB_pfIsoTightMu ->setEfficiencyFlag();
104  h_eff_vtx_EE_detIsoTightMu->setEfficiencyFlag();
105  h_eff_vtx_EE_pfIsoTightMu ->setEfficiencyFlag();
106 
107  h_eff_pt_pfIsodBTightMu ->setEfficiencyFlag();
108  h_eff_pt_EB_pfIsodBTightMu ->setEfficiencyFlag();
109  h_eff_pt_EE_pfIsodBTightMu ->setEfficiencyFlag();
110  h_eff_vtx_pfIsodBTightMu ->setEfficiencyFlag();
111  h_eff_vtx_EB_pfIsodBTightMu ->setEfficiencyFlag();
112  h_eff_vtx_EE_pfIsodBTightMu ->setEfficiencyFlag();
113 
114 
115 
116  // AXIS TITLES....
117  h_eff_hp_eta_TightMu ->setAxisTitle("#eta", 1);
118  h_eff_eta_TightMu ->setAxisTitle("#eta", 1);
119  h_eff_phi_TightMu ->setAxisTitle("#phi", 1);
120  h_eff_pt_TightMu ->setAxisTitle("p_{T} (GeV)", 1);
121  h_eff_pt_EB_TightMu ->setAxisTitle("p_{T} (GeV)", 1);
122  h_eff_pt_EE_TightMu ->setAxisTitle("p_{T} (GeV)", 1);
123  h_eff_pt_detIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
124  h_eff_pt_EB_detIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
125  h_eff_pt_EE_detIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
126  h_eff_pt_pfIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
127  h_eff_pt_EB_pfIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
128  h_eff_pt_EE_pfIsoTightMu ->setAxisTitle("p_{T} (GeV)", 1);
129  h_eff_vtx_detIsoTightMu ->setAxisTitle("Number of PV", 1);
130  h_eff_vtx_pfIsoTightMu ->setAxisTitle("Number of PV", 1);
131  h_eff_vtx_EB_detIsoTightMu->setAxisTitle("Number of PV", 1);
132  h_eff_vtx_EB_pfIsoTightMu ->setAxisTitle("Number of PV", 1);
133  h_eff_vtx_EE_detIsoTightMu->setAxisTitle("Number of PV", 1);
134  h_eff_vtx_EE_pfIsoTightMu ->setAxisTitle("Number of PV", 1);
135 
136  h_eff_pt_pfIsodBTightMu ->setAxisTitle("p_{T} (GeV)", 1);
137  h_eff_pt_EB_pfIsodBTightMu ->setAxisTitle("p_{T} (GeV)", 1);
138  h_eff_pt_EE_pfIsodBTightMu ->setAxisTitle("p_{T} (GeV)", 1);
139  h_eff_vtx_pfIsodBTightMu ->setAxisTitle("Number of PV", 1);
140  h_eff_vtx_EB_pfIsodBTightMu ->setAxisTitle("Number of PV", 1);
141  h_eff_vtx_EE_pfIsodBTightMu ->setAxisTitle("Number of PV", 1);
142 
143 
145  string numpath_pt = "Muons/EfficiencyAnalyzer/passProbes_TightMu_pt";
146  string denpath_pt = "Muons/EfficiencyAnalyzer/allProbes_pt";
147 
148  MonitorElement *Numerator_pt = igetter.get(numpath_pt);
149  MonitorElement *Denominator_pt = igetter.get(denpath_pt);
150 
151  if (Numerator_pt && Denominator_pt){
152  TH1F *h_numerator_pt = Numerator_pt->getTH1F();
153  TH1F *h_denominator_pt = Denominator_pt->getTH1F();
154  TH1F *h_eff_pt = h_eff_pt_TightMu->getTH1F();
155 
156  if (h_eff_pt->GetSumw2N() == 0) h_eff_pt->Sumw2();
157  h_eff_pt->Divide(h_numerator_pt, h_denominator_pt, 1., 1., "B");
158  }
159 
161  string numpath_EB_pt = "Muons/EfficiencyAnalyzer/passProbes_TightMu_EB_pt";
162  string denpath_EB_pt = "Muons/EfficiencyAnalyzer/allProbes_EB_pt";
163 
164  MonitorElement *Numerator_EB_pt = igetter.get(numpath_EB_pt);
165  MonitorElement *Denominator_EB_pt = igetter.get(denpath_EB_pt);
166 
167  if (Numerator_EB_pt && Denominator_EB_pt){
168  TH1F *h_numerator_EB_pt = Numerator_EB_pt->getTH1F();
169  TH1F *h_denominator_EB_pt = Denominator_EB_pt->getTH1F();
170  TH1F *h_eff_EB_pt = h_eff_pt_EB_TightMu->getTH1F();
171 
172  if (h_eff_EB_pt->GetSumw2N() == 0) h_eff_EB_pt->Sumw2();
173  h_eff_EB_pt->Divide(h_numerator_EB_pt, h_denominator_EB_pt, 1., 1., "B");
174  }
175 
177  string numpath_EE_pt = "Muons/EfficiencyAnalyzer/passProbes_TightMu_EE_pt";
178  string denpath_EE_pt = "Muons/EfficiencyAnalyzer/allProbes_EE_pt";
179 
180  MonitorElement *Numerator_EE_pt = igetter.get(numpath_EE_pt);
181  MonitorElement *Denominator_EE_pt = igetter.get(denpath_EE_pt);
182 
183  if (Numerator_EE_pt && Denominator_EE_pt){
184  TH1F *h_numerator_EE_pt = Numerator_EE_pt->getTH1F();
185  TH1F *h_denominator_EE_pt = Denominator_EE_pt->getTH1F();
186  TH1F *h_eff_EE_pt = h_eff_pt_EE_TightMu->getTH1F();
187 
188  if (h_eff_EE_pt->GetSumw2N() == 0) h_eff_EE_pt->Sumw2();
189  h_eff_EE_pt->Divide(h_numerator_EE_pt, h_denominator_EE_pt, 1., 1., "B");
190  }
191 
193  string numpath_eta = "Muons/EfficiencyAnalyzer/passProbes_TightMu_eta";
194  string denpath_eta = "Muons/EfficiencyAnalyzer/allProbes_eta";
195 
196  MonitorElement *Numerator_eta = igetter.get(numpath_eta);
197  MonitorElement *Denominator_eta = igetter.get(denpath_eta);
198 
199  if (Numerator_eta && Denominator_eta){
200 
201  TH1F *h_numerator_eta = Numerator_eta->getTH1F();
202  TH1F *h_denominator_eta = Denominator_eta->getTH1F();
203 
204  TH1F *h_eff_eta = h_eff_eta_TightMu->getTH1F();
205 
206  if (h_eff_eta->GetSumw2N() == 0) h_eff_eta->Sumw2();
207 
208  h_eff_eta->Divide(h_numerator_eta, h_denominator_eta, 1., 1., "B");
209 
210  }
211 
213 
214  string numpath_hp_eta = "Muons/EfficiencyAnalyzer/passProbes_TightMu_hp_eta";
215  string denpath_hp_eta = "Muons/EfficiencyAnalyzer/allProbes_hp_eta";
216 
217  MonitorElement *Numerator_hp_eta = igetter.get(numpath_hp_eta);
218  MonitorElement *Denominator_hp_eta = igetter.get(denpath_hp_eta);
219 
220  if (Numerator_hp_eta && Denominator_hp_eta){
221 
222  TH1F *h_numerator_hp_eta = Numerator_hp_eta->getTH1F();
223  TH1F *h_denominator_hp_eta = Denominator_hp_eta->getTH1F();
224 
225  TH1F *h_eff_hp_eta = h_eff_hp_eta_TightMu->getTH1F();
226 
227  if (h_eff_hp_eta->GetSumw2N() == 0) h_eff_hp_eta->Sumw2();
228 
229  h_eff_hp_eta->Divide(h_numerator_hp_eta, h_denominator_hp_eta, 1., 1., "B");
230 
231  }
232 
234 
235  string numpath_phi = "Muons/EfficiencyAnalyzer/passProbes_TightMu_phi";
236  string denpath_phi = "Muons/EfficiencyAnalyzer/allProbes_phi";
237 
238  MonitorElement *Numerator_phi = igetter.get(numpath_phi);
239  MonitorElement *Denominator_phi = igetter.get(denpath_phi);
240 
241  if (Numerator_phi && Denominator_phi){
242 
243  TH1F *h_numerator_phi = Numerator_phi->getTH1F();
244  TH1F *h_denominator_phi = Denominator_phi->getTH1F();
245 
246  TH1F *h_eff_phi = h_eff_phi_TightMu->getTH1F();
247 
248  if (h_eff_phi->GetSumw2N() == 0) h_eff_phi->Sumw2();
249 
250  h_eff_phi->Divide(h_numerator_phi, h_denominator_phi, 1., 1., "B");
251 
252  }
253 
254 
256  string numpath_detIso_pt = "Muons/EfficiencyAnalyzer/passProbes_detIsoTightMu_pt";
257  string denpath_detIso_pt = "Muons/EfficiencyAnalyzer/allProbes_TightMu_pt";
258 
259  MonitorElement *Numerator_detIso_pt = igetter.get(numpath_detIso_pt);
260  MonitorElement *Denominator_detIso_pt = igetter.get(denpath_detIso_pt);
261 
262  if (Numerator_detIso_pt && Denominator_detIso_pt){
263 
264  TH1F *h_numerator_detIso_pt = Numerator_detIso_pt->getTH1F();
265  TH1F *h_denominator_detIso_pt = Denominator_detIso_pt->getTH1F();
266 
267  TH1F *h_eff_detIso_pt = h_eff_pt_detIsoTightMu->getTH1F();
268 
269  if (h_eff_detIso_pt->GetSumw2N() == 0) h_eff_detIso_pt->Sumw2();
270  h_eff_detIso_pt->Divide(h_numerator_detIso_pt, h_denominator_detIso_pt, 1., 1., "B");
271 
272  }
273 
274 
276  string numpath_detIso_EB_pt = "Muons/EfficiencyAnalyzer/passProbes_EB_detIsoTightMu_pt";
277  string denpath_detIso_EB_pt = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_pt";
278 
279  MonitorElement *Numerator_detIso_EB_pt = igetter.get(numpath_detIso_EB_pt);
280  MonitorElement *Denominator_detIso_EB_pt = igetter.get(denpath_detIso_EB_pt);
281 
282  if (Numerator_detIso_EB_pt && Denominator_detIso_EB_pt){
283 
284  TH1F *h_numerator_detIso_EB_pt = Numerator_detIso_EB_pt->getTH1F();
285  TH1F *h_denominator_detIso_EB_pt = Denominator_detIso_EB_pt->getTH1F();
286 
287  TH1F *h_eff_detIso_EB_pt = h_eff_pt_EB_detIsoTightMu->getTH1F();
288 
289  if (h_eff_detIso_EB_pt->GetSumw2N() == 0) h_eff_detIso_EB_pt->Sumw2();
290 
291  h_eff_detIso_EB_pt->Divide(h_numerator_detIso_EB_pt, h_denominator_detIso_EB_pt, 1., 1., "B");
292 
293  }
294 
295 
297  string numpath_detIso_EE_pt = "Muons/EfficiencyAnalyzer/passProbes_EE_detIsoTightMu_pt";
298  string denpath_detIso_EE_pt = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_pt";
299 
300  MonitorElement *Numerator_detIso_EE_pt = igetter.get(numpath_detIso_EE_pt);
301  MonitorElement *Denominator_detIso_EE_pt = igetter.get(denpath_detIso_EE_pt);
302 
303  if (Numerator_detIso_EE_pt && Denominator_detIso_EE_pt){
304 
305  TH1F *h_numerator_detIso_EE_pt = Numerator_detIso_EE_pt->getTH1F();
306  TH1F *h_denominator_detIso_EE_pt = Denominator_detIso_EE_pt->getTH1F();
307 
308  TH1F *h_eff_detIso_EE_pt = h_eff_pt_EE_detIsoTightMu->getTH1F();
309 
310  if (h_eff_detIso_EE_pt->GetSumw2N() == 0) h_eff_detIso_EE_pt->Sumw2();
311 
312  h_eff_detIso_EE_pt->Divide(h_numerator_detIso_EE_pt, h_denominator_detIso_EE_pt, 1., 1., "B");
313 
314  }
315 
316 
318  string numpath_pfIso_pt = "Muons/EfficiencyAnalyzer/passProbes_pfIsoTightMu_pt";
319  string denpath_pfIso_pt = "Muons/EfficiencyAnalyzer/allProbes_TightMu_pt";
320 
321  MonitorElement *Numerator_pfIso_pt = igetter.get(numpath_pfIso_pt);
322  MonitorElement *Denominator_pfIso_pt = igetter.get(denpath_pfIso_pt);
323 
324  if (Numerator_pfIso_pt && Denominator_pfIso_pt){
325 
326  TH1F *h_numerator_pfIso_pt = Numerator_pfIso_pt->getTH1F();
327  TH1F *h_denominator_pfIso_pt = Denominator_pfIso_pt->getTH1F();
328 
329  TH1F *h_eff_pfIso_pt = h_eff_pt_pfIsoTightMu->getTH1F();
330 
331  if (h_eff_pfIso_pt->GetSumw2N() == 0) h_eff_pfIso_pt->Sumw2();
332 
333  h_eff_pfIso_pt->Divide(h_numerator_pfIso_pt, h_denominator_pfIso_pt, 1., 1., "B");
334  }
335 
336 
338 
339  string numpath_pfIso_EB_pt = "Muons/EfficiencyAnalyzer/passProbes_EB_pfIsoTightMu_pt";
340  string denpath_pfIso_EB_pt = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_pt";
341 
342  MonitorElement *Numerator_pfIso_EB_pt = igetter.get(numpath_pfIso_EB_pt);
343  MonitorElement *Denominator_pfIso_EB_pt = igetter.get(denpath_pfIso_EB_pt);
344 
345  if (Numerator_pfIso_EB_pt && Denominator_pfIso_EB_pt){
346 
347  TH1F *h_numerator_pfIso_EB_pt = Numerator_pfIso_EB_pt->getTH1F();
348  TH1F *h_denominator_pfIso_EB_pt = Denominator_pfIso_EB_pt->getTH1F();
349 
350  TH1F *h_eff_pfIso_EB_pt = h_eff_pt_EB_pfIsoTightMu->getTH1F();
351 
352  if (h_eff_pfIso_EB_pt->GetSumw2N() == 0) h_eff_pfIso_EB_pt->Sumw2();
353  h_eff_pfIso_EB_pt->Divide(h_numerator_pfIso_EB_pt, h_denominator_pfIso_EB_pt, 1., 1., "B");
354 
355  }
356 
357 
359  string numpath_pfIso_EE_pt = "Muons/EfficiencyAnalyzer/passProbes_EE_pfIsoTightMu_pt";
360  string denpath_pfIso_EE_pt = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_pt";
361 
362  MonitorElement *Numerator_pfIso_EE_pt = igetter.get(numpath_pfIso_EE_pt);
363  MonitorElement *Denominator_pfIso_EE_pt = igetter.get(denpath_pfIso_EE_pt);
364 
365  if (Numerator_pfIso_EE_pt && Denominator_pfIso_EE_pt){
366 
367  TH1F *h_numerator_pfIso_EE_pt = Numerator_pfIso_EE_pt->getTH1F();
368  TH1F *h_denominator_pfIso_EE_pt = Denominator_pfIso_EE_pt->getTH1F();
369 
370  TH1F *h_eff_pfIso_EE_pt = h_eff_pt_EE_pfIsoTightMu->getTH1F();
371 
372  if (h_eff_pfIso_EE_pt->GetSumw2N() == 0) h_eff_pfIso_EE_pt->Sumw2();
373 
374  h_eff_pfIso_EE_pt->Divide(h_numerator_pfIso_EE_pt, h_denominator_pfIso_EE_pt, 1., 1., "B");
375 
376  }
377 
378 
380 
381  string numpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_pfIsoTightMu_nVtx";
382  string denpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_TightMu_nVtx";
383 
384  MonitorElement *Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
385  MonitorElement *Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
386 
387  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
388 
389  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
390  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
391 
392  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_pfIsoTightMu->getTH1F();
393 
394  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
395 
396  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
397 
398  }
399 
400 
401 
403  string numpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_detIsoTightMu_nVtx";
404  string denpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_TightMu_nVtx";
405 
406  MonitorElement *Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
407  MonitorElement *Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
408 
409  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
410 
411  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
412  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
413 
414  TH1F *h_eff_detIso_nvtx = h_eff_vtx_detIsoTightMu->getTH1F();
415 
416  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
417 
418  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
419 
420  }
421 
422 
424  numpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EB_detIsoTightMu_nVtx";
425  denpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_nVtx";
426 
427  Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
428  Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
429 
430  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
431  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
432  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
433 
434  TH1F *h_eff_detIso_nvtx = h_eff_vtx_EB_detIsoTightMu->getTH1F();
435 
436  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
437  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
438  }
439 
441  numpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EE_detIsoTightMu_nVtx";
442  denpath_detIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_nVtx";
443 
444  Numerator_detIso_nvtx = igetter.get(numpath_detIso_nvtx);
445  Denominator_detIso_nvtx = igetter.get(denpath_detIso_nvtx);
446 
447  if (Numerator_detIso_nvtx && Denominator_detIso_nvtx){
448 
449  TH1F *h_numerator_detIso_nvtx = Numerator_detIso_nvtx->getTH1F();
450  TH1F *h_denominator_detIso_nvtx = Denominator_detIso_nvtx->getTH1F();
451 
452  TH1F *h_eff_detIso_nvtx = h_eff_vtx_EE_detIsoTightMu->getTH1F();
453 
454  if (h_eff_detIso_nvtx->GetSumw2N() == 0) h_eff_detIso_nvtx->Sumw2();
455 
456  h_eff_detIso_nvtx->Divide(h_numerator_detIso_nvtx, h_denominator_detIso_nvtx, 1., 1., "B");
457 
458  }
459 
460 
462  numpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EB_pfIsoTightMu_nVtx";
463  denpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_nVtx";
464 
465  Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
466  Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
467 
468  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
469 
470  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
471  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
472 
473  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EB_pfIsoTightMu->getTH1F();
474 
475  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
476 
477  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
478  }
479 
481  numpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EE_pfIsoTightMu_nVtx";
482  denpath_pfIso_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_nVtx";
483 
484  Numerator_pfIso_nvtx = igetter.get(numpath_pfIso_nvtx);
485  Denominator_pfIso_nvtx = igetter.get(denpath_pfIso_nvtx);
486 
487  if (Numerator_pfIso_nvtx && Denominator_pfIso_nvtx){
488 
489  TH1F *h_numerator_pfIso_nvtx = Numerator_pfIso_nvtx->getTH1F();
490  TH1F *h_denominator_pfIso_nvtx = Denominator_pfIso_nvtx->getTH1F();
491 
492  TH1F *h_eff_pfIso_nvtx = h_eff_vtx_EE_pfIsoTightMu->getTH1F();
493 
494  if (h_eff_pfIso_nvtx->GetSumw2N() == 0) h_eff_pfIso_nvtx->Sumw2();
495 
496  h_eff_pfIso_nvtx->Divide(h_numerator_pfIso_nvtx, h_denominator_pfIso_nvtx, 1., 1., "B");
497 
498  }
499 
500 
501 
503  string numpath_pfIsodB_pt = "Muons/EfficiencyAnalyzer/passProbes_pfIsodBTightMu_pt";
504  string denpath_pfIsodB_pt = "Muons/EfficiencyAnalyzer/allProbes_TightMu_pt";
505 
506  MonitorElement *Numerator_pfIsodB_pt = igetter.get(numpath_pfIsodB_pt);
507  MonitorElement *Denominator_pfIsodB_pt = igetter.get(denpath_pfIsodB_pt);
508 
509  if (Numerator_pfIsodB_pt && Denominator_pfIsodB_pt){
510 
511  TH1F *h_numerator_pfIsodB_pt = Numerator_pfIsodB_pt->getTH1F();
512  TH1F *h_denominator_pfIsodB_pt = Denominator_pfIsodB_pt->getTH1F();
513 
514  TH1F *h_eff_pfIsodB_pt = h_eff_pt_pfIsodBTightMu->getTH1F();
515 
516  if (h_eff_pfIsodB_pt->GetSumw2N() == 0) h_eff_pfIsodB_pt->Sumw2();
517 
518  h_eff_pfIsodB_pt->Divide(h_numerator_pfIsodB_pt, h_denominator_pfIsodB_pt, 1., 1., "B");
519  }
520 
521 
523 
524  string numpath_pfIsodB_EB_pt = "Muons/EfficiencyAnalyzer/passProbes_EB_pfIsodBTightMu_pt";
525  string denpath_pfIsodB_EB_pt = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_pt";
526 
527  MonitorElement *Numerator_pfIsodB_EB_pt = igetter.get(numpath_pfIsodB_EB_pt);
528  MonitorElement *Denominator_pfIsodB_EB_pt = igetter.get(denpath_pfIsodB_EB_pt);
529 
530  if (Numerator_pfIsodB_EB_pt && Denominator_pfIsodB_EB_pt){
531 
532  TH1F *h_numerator_pfIsodB_EB_pt = Numerator_pfIsodB_EB_pt->getTH1F();
533  TH1F *h_denominator_pfIsodB_EB_pt = Denominator_pfIsodB_EB_pt->getTH1F();
534 
535  TH1F *h_eff_pfIsodB_EB_pt = h_eff_pt_EB_pfIsodBTightMu->getTH1F();
536 
537  if (h_eff_pfIsodB_EB_pt->GetSumw2N() == 0) h_eff_pfIsodB_EB_pt->Sumw2();
538  h_eff_pfIsodB_EB_pt->Divide(h_numerator_pfIsodB_EB_pt, h_denominator_pfIsodB_EB_pt, 1., 1., "B");
539 
540  }
541 
542 
544  string numpath_pfIsodB_EE_pt = "Muons/EfficiencyAnalyzer/passProbes_EE_pfIsodBTightMu_pt";
545  string denpath_pfIsodB_EE_pt = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_pt";
546 
547  MonitorElement *Numerator_pfIsodB_EE_pt = igetter.get(numpath_pfIsodB_EE_pt);
548  MonitorElement *Denominator_pfIsodB_EE_pt = igetter.get(denpath_pfIsodB_EE_pt);
549 
550  if (Numerator_pfIsodB_EE_pt && Denominator_pfIsodB_EE_pt){
551 
552  TH1F *h_numerator_pfIsodB_EE_pt = Numerator_pfIsodB_EE_pt->getTH1F();
553  TH1F *h_denominator_pfIsodB_EE_pt = Denominator_pfIsodB_EE_pt->getTH1F();
554 
555  TH1F *h_eff_pfIsodB_EE_pt = h_eff_pt_EE_pfIsodBTightMu->getTH1F();
556 
557  if (h_eff_pfIsodB_EE_pt->GetSumw2N() == 0) h_eff_pfIsodB_EE_pt->Sumw2();
558 
559  h_eff_pfIsodB_EE_pt->Divide(h_numerator_pfIsodB_EE_pt, h_denominator_pfIsodB_EE_pt, 1., 1., "B");
560 
561  }
562 
563 
565 
566  string numpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/passProbes_pfIsodBTightMu_nVtx";
567  string denpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/allProbes_TightMu_nVtx";
568 
569  MonitorElement *Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
570  MonitorElement *Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
571 
572  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
573 
574  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
575  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
576 
577  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_pfIsodBTightMu->getTH1F();
578 
579  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
580 
581  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
582 
583  }
584 
585 
587  numpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EB_pfIsodBTightMu_nVtx";
588  denpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EB_TightMu_nVtx";
589 
590  Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
591  Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
592 
593  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
594 
595  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
596  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
597 
598  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EB_pfIsodBTightMu->getTH1F();
599 
600  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
601 
602  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
603  }
604 
605 
607  numpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/passProbes_EE_pfIsodBTightMu_nVtx";
608  denpath_pfIsodB_nvtx = "Muons/EfficiencyAnalyzer/allProbes_EE_TightMu_nVtx";
609 
610  Numerator_pfIsodB_nvtx = igetter.get(numpath_pfIsodB_nvtx);
611  Denominator_pfIsodB_nvtx = igetter.get(denpath_pfIsodB_nvtx);
612 
613  if (Numerator_pfIsodB_nvtx && Denominator_pfIsodB_nvtx){
614 
615  TH1F *h_numerator_pfIsodB_nvtx = Numerator_pfIsodB_nvtx->getTH1F();
616  TH1F *h_denominator_pfIsodB_nvtx = Denominator_pfIsodB_nvtx->getTH1F();
617 
618  TH1F *h_eff_pfIsodB_nvtx = h_eff_vtx_EE_pfIsodBTightMu->getTH1F();
619 
620  if (h_eff_pfIsodB_nvtx->GetSumw2N() == 0) h_eff_pfIsodB_nvtx->Sumw2();
621 
622  h_eff_pfIsodB_nvtx->Divide(h_numerator_pfIsodB_nvtx, h_denominator_pfIsodB_nvtx, 1., 1., "B");
623 
624  }
625 
626 
627 }
628 
dictionary parameters
Definition: Parameters.py:2
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:302
EfficiencyPlotter(const edm::ParameterSet &ps)
Constructor.
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
DQM Client Diagnostic.
virtual ~EfficiencyPlotter()
Destructor.
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
TH1F * getTH1F(void) const
tuple cout
Definition: gather_cfg.py:121
void setEfficiencyFlag(void)