CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MtdTracksHarvester.cc
Go to the documentation of this file.
1 #include <string>
2 
7 
10 
12 
14 public:
15  explicit MtdTracksHarvester(const edm::ParameterSet& iConfig);
16  ~MtdTracksHarvester() override;
17 
18  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
19 
20 protected:
22 
23 private:
25  void normalize(MonitorElement* h, double scale);
26 
28 
29  // --- Histograms
41 
52 
53  // - BTL track-mtd matching efficiencies
60 
67 
74 
77 
78  // - ETL track-mtd matching efficiencies
85 
92 
99 
102 
103  // -
112 };
113 
114 // ------------ constructor and destructor --------------
116  : folder_(iConfig.getParameter<std::string>("folder")) {}
117 
119 
120 // auxiliary method to compute efficiency from the ratio of two 1D MonitorElement
122  for (int ibin = 1; ibin <= den->getNbinsX(); ibin++) {
123  double eff = num->getBinContent(ibin) / den->getBinContent(ibin);
124  double bin_err = sqrt((num->getBinContent(ibin) * (den->getBinContent(ibin) - num->getBinContent(ibin))) /
125  pow(den->getBinContent(ibin), 3));
126  if (den->getBinContent(ibin) == 0) {
127  eff = 0;
128  bin_err = 0;
129  }
130  result->setBinContent(ibin, eff);
131  result->setBinError(ibin, bin_err);
132  }
133 }
134 
136  double integral = h->getTH1F()->Integral();
137  double norma = (integral > 0.) ? scale / integral : 0.;
138  for (int ibin = 1; ibin <= h->getNbinsX(); ibin++) {
139  double eff = h->getBinContent(ibin) * norma;
140  double bin_err = h->getBinError(ibin) * norma;
141  h->setBinContent(ibin, eff);
142  h->setBinError(ibin, bin_err);
143  }
144 }
145 
146 // ------------ endjob tasks ----------------------------
148  // --- Get the monitoring histograms
149  MonitorElement* meBTLTrackEtaTot = igetter.get(folder_ + "TrackBTLEtaTot");
150  MonitorElement* meBTLTrackPhiTot = igetter.get(folder_ + "TrackBTLPhiTot");
151  MonitorElement* meBTLTrackPtTot = igetter.get(folder_ + "TrackBTLPtTot");
152  MonitorElement* meBTLTrackEtaMtd = igetter.get(folder_ + "TrackBTLEtaMtd");
153  MonitorElement* meBTLTrackPhiMtd = igetter.get(folder_ + "TrackBTLPhiMtd");
154  MonitorElement* meBTLTrackPtMtd = igetter.get(folder_ + "TrackBTLPtMtd");
155 
156  MonitorElement* meETLTrackEtaTot = igetter.get(folder_ + "TrackETLEtaTot");
157  MonitorElement* meETLTrackPhiTot = igetter.get(folder_ + "TrackETLPhiTot");
158  MonitorElement* meETLTrackPtTot = igetter.get(folder_ + "TrackETLPtTot");
159  MonitorElement* meETLTrackEtaMtd = igetter.get(folder_ + "TrackETLEtaMtd");
160  MonitorElement* meETLTrackPhiMtd = igetter.get(folder_ + "TrackETLPhiMtd");
161  MonitorElement* meETLTrackPtMtd = igetter.get(folder_ + "TrackETLPtMtd");
162  MonitorElement* meETLTrackEta2Mtd = igetter.get(folder_ + "TrackETLEta2Mtd");
163  MonitorElement* meETLTrackPhi2Mtd = igetter.get(folder_ + "TrackETLPhi2Mtd");
164  MonitorElement* meETLTrackPt2Mtd = igetter.get(folder_ + "TrackETLPt2Mtd");
165 
166  MonitorElement* meETLTrackEtaTotLowPt0 = igetter.get(folder_ + "TrackETLEtaTotLowPt0");
167  MonitorElement* meETLTrackEtaTotLowPt1 = igetter.get(folder_ + "TrackETLEtaTotLowPt1");
168  MonitorElement* meETLTrackEtaMtdLowPt0 = igetter.get(folder_ + "TrackETLEtaMtdLowPt0");
169  MonitorElement* meETLTrackEtaMtdLowPt1 = igetter.get(folder_ + "TrackETLEtaMtdLowPt1");
170  MonitorElement* meETLTrackEta2MtdLowPt0 = igetter.get(folder_ + "TrackETLEta2MtdLowPt0");
171  MonitorElement* meETLTrackEta2MtdLowPt1 = igetter.get(folder_ + "TrackETLEta2MtdLowPt1");
172 
173  MonitorElement* meExtraPtMtd = igetter.get(folder_ + "ExtraPtMtd");
174  MonitorElement* meExtraPtEtl2Mtd = igetter.get(folder_ + "ExtraPtEtl2Mtd");
175  MonitorElement* meTrackMatchedTPPtTotLV = igetter.get(folder_ + "MatchedTPPtTotLV");
176  MonitorElement* meExtraEtaMtd = igetter.get(folder_ + "ExtraEtaMtd");
177  MonitorElement* meExtraEtaEtl2Mtd = igetter.get(folder_ + "ExtraEtaEtl2Mtd");
178  MonitorElement* meTrackMatchedTPEtaTotLV = igetter.get(folder_ + "MatchedTPEtaTotLV");
179 
180  MonitorElement* meBTLTrackMatchedTPPtTot = igetter.get(folder_ + "BTLTrackMatchedTPPtTot");
181  MonitorElement* meBTLTrackMatchedTPPtMtd = igetter.get(folder_ + "BTLTrackMatchedTPPtMtd");
182  MonitorElement* meBTLTrackMatchedTPEtaTot = igetter.get(folder_ + "BTLTrackMatchedTPEtaTot");
183  MonitorElement* meBTLTrackMatchedTPEtaMtd = igetter.get(folder_ + "BTLTrackMatchedTPEtaMtd");
184  MonitorElement* meETLTrackMatchedTPPtTot = igetter.get(folder_ + "ETLTrackMatchedTPPtTot");
185  MonitorElement* meETLTrackMatchedTPPtMtd = igetter.get(folder_ + "ETLTrackMatchedTPPtMtd");
186  MonitorElement* meETLTrackMatchedTPPt2Mtd = igetter.get(folder_ + "ETLTrackMatchedTPPt2Mtd");
187  MonitorElement* meETLTrackMatchedTPEtaTot = igetter.get(folder_ + "ETLTrackMatchedTPEtaTot");
188  MonitorElement* meETLTrackMatchedTPEtaMtd = igetter.get(folder_ + "ETLTrackMatchedTPEtaMtd");
189  MonitorElement* meETLTrackMatchedTPEta2Mtd = igetter.get(folder_ + "ETLTrackMatchedTPEta2Mtd");
190 
191  //
192  MonitorElement* meBTLTrackMatchedTPmtdDirectEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectEta");
193  MonitorElement* meBTLTrackMatchedTPmtdDirectPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectPt");
194  MonitorElement* meBTLTrackMatchedTPmtdOtherEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherEta");
195  MonitorElement* meBTLTrackMatchedTPmtdOtherPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherPt");
196  ;
197  MonitorElement* meBTLTrackMatchedTPnomtdEta = igetter.get(folder_ + "BTLTrackMatchedTPnomtdEta");
198  MonitorElement* meBTLTrackMatchedTPnomtdPt = igetter.get(folder_ + "BTLTrackMatchedTPnomtdPt");
199 
200  MonitorElement* meBTLTrackMatchedTPmtdDirectCorrectAssocEta =
201  igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectCorrectAssocEta");
202  MonitorElement* meBTLTrackMatchedTPmtdDirectCorrectAssocPt =
203  igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectCorrectAssocPt");
204  MonitorElement* meBTLTrackMatchedTPmtdDirectWrongAssocEta =
205  igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectWrongAssocEta");
206  MonitorElement* meBTLTrackMatchedTPmtdDirectWrongAssocPt =
207  igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectWrongAssocPt");
208  MonitorElement* meBTLTrackMatchedTPmtdDirectNoAssocEta =
209  igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectNoAssocEta");
210  MonitorElement* meBTLTrackMatchedTPmtdDirectNoAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdDirectNoAssocPt");
211 
212  MonitorElement* meBTLTrackMatchedTPmtdOtherCorrectAssocEta =
213  igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherCorrectAssocEta");
214  MonitorElement* meBTLTrackMatchedTPmtdOtherCorrectAssocPt =
215  igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherCorrectAssocPt");
216  MonitorElement* meBTLTrackMatchedTPmtdOtherWrongAssocEta =
217  igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherWrongAssocEta");
218  MonitorElement* meBTLTrackMatchedTPmtdOtherWrongAssocPt =
219  igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherWrongAssocPt");
220  MonitorElement* meBTLTrackMatchedTPmtdOtherNoAssocEta = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherNoAssocEta");
221  MonitorElement* meBTLTrackMatchedTPmtdOtherNoAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPmtdOtherNoAssocPt");
222 
223  MonitorElement* meBTLTrackMatchedTPnomtdAssocEta = igetter.get(folder_ + "BTLTrackMatchedTPnomtdAssocEta");
224  MonitorElement* meBTLTrackMatchedTPnomtdAssocPt = igetter.get(folder_ + "BTLTrackMatchedTPnomtdAssocPt");
225 
226  MonitorElement* meETLTrackMatchedTPmtd1Eta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1Eta");
227  MonitorElement* meETLTrackMatchedTPmtd1Pt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1Pt");
228  MonitorElement* meETLTrackMatchedTPmtd2Eta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2Eta");
229  MonitorElement* meETLTrackMatchedTPmtd2Pt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2Pt");
230  ;
231  MonitorElement* meETLTrackMatchedTPnomtdEta = igetter.get(folder_ + "ETLTrackMatchedTPnomtdEta");
232  MonitorElement* meETLTrackMatchedTPnomtdPt = igetter.get(folder_ + "ETLTrackMatchedTPnomtdPt");
233 
234  MonitorElement* meETLTrackMatchedTPmtd1CorrectAssocEta =
235  igetter.get(folder_ + "ETLTrackMatchedTPmtd1CorrectAssocEta");
236  MonitorElement* meETLTrackMatchedTPmtd1CorrectAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1CorrectAssocPt");
237  MonitorElement* meETLTrackMatchedTPmtd1WrongAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1WrongAssocEta");
238  MonitorElement* meETLTrackMatchedTPmtd1WrongAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1WrongAssocPt");
239  MonitorElement* meETLTrackMatchedTPmtd1NoAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd1NoAssocEta");
240  MonitorElement* meETLTrackMatchedTPmtd1NoAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd1NoAssocPt");
241 
242  MonitorElement* meETLTrackMatchedTPmtd2CorrectAssocEta =
243  igetter.get(folder_ + "ETLTrackMatchedTPmtd2CorrectAssocEta");
244  MonitorElement* meETLTrackMatchedTPmtd2CorrectAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2CorrectAssocPt");
245  MonitorElement* meETLTrackMatchedTPmtd2WrongAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2WrongAssocEta");
246  MonitorElement* meETLTrackMatchedTPmtd2WrongAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2WrongAssocPt");
247  MonitorElement* meETLTrackMatchedTPmtd2NoAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPmtd2NoAssocEta");
248  MonitorElement* meETLTrackMatchedTPmtd2NoAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPmtd2NoAssocPt");
249 
250  MonitorElement* meETLTrackMatchedTPnomtdAssocEta = igetter.get(folder_ + "ETLTrackMatchedTPnomtdAssocEta");
251  MonitorElement* meETLTrackMatchedTPnomtdAssocPt = igetter.get(folder_ + "ETLTrackMatchedTPnomtdAssocPt");
252 
253  //
254  MonitorElement* meTrackNumHits = igetter.get(folder_ + "TrackNumHits");
255  MonitorElement* meTrackNumHitsNT = igetter.get(folder_ + "TrackNumHitsNT");
256  MonitorElement* meExtraPhiAtBTL = igetter.get(folder_ + "ExtraPhiAtBTL");
257  MonitorElement* meExtraPhiAtBTLmatched = igetter.get(folder_ + "ExtraPhiAtBTLmatched");
258  MonitorElement* meExtraBTLeneInCone = igetter.get(folder_ + "ExtraBTLeneInCone");
259  MonitorElement* meExtraMTDfailExtenderEta = igetter.get(folder_ + "ExtraMTDfailExtenderEta");
260  MonitorElement* meExtraMTDfailExtenderPt = igetter.get(folder_ + "ExtraMTDfailExtenderPt");
261 
262  if (!meBTLTrackEtaTot || !meBTLTrackPhiTot || !meBTLTrackPtTot || !meBTLTrackEtaMtd || !meBTLTrackPhiMtd ||
263  !meBTLTrackPtMtd || !meETLTrackEtaTot || !meETLTrackPhiTot || !meETLTrackPtTot || !meETLTrackEtaMtd ||
264  !meETLTrackPhiMtd || !meETLTrackPtMtd || !meETLTrackEta2Mtd || !meETLTrackPhi2Mtd || !meETLTrackPt2Mtd ||
265  !meETLTrackEtaTotLowPt0 || !meETLTrackEtaTotLowPt1 || !meETLTrackEtaMtdLowPt0 || !meETLTrackEtaMtdLowPt1 ||
266  !meETLTrackEta2MtdLowPt0 || !meETLTrackEta2MtdLowPt1 || !meTrackMatchedTPPtTotLV || !meTrackMatchedTPEtaTotLV ||
267 
268  !meBTLTrackMatchedTPPtTot || !meBTLTrackMatchedTPPtMtd || !meBTLTrackMatchedTPEtaTot ||
269  !meBTLTrackMatchedTPEtaMtd || !meETLTrackMatchedTPPtTot || !meETLTrackMatchedTPPtMtd ||
270  !meETLTrackMatchedTPPt2Mtd || !meETLTrackMatchedTPEtaTot || !meETLTrackMatchedTPEtaMtd ||
271  !meETLTrackMatchedTPEta2Mtd ||
272 
273  !meBTLTrackMatchedTPmtdDirectEta || !meBTLTrackMatchedTPmtdDirectPt || !meBTLTrackMatchedTPmtdOtherEta ||
274  !meBTLTrackMatchedTPmtdOtherPt || !meBTLTrackMatchedTPnomtdEta || !meBTLTrackMatchedTPnomtdPt ||
275  !meBTLTrackMatchedTPmtdDirectCorrectAssocEta || !meBTLTrackMatchedTPmtdDirectCorrectAssocPt ||
276  !meBTLTrackMatchedTPmtdDirectWrongAssocEta || !meBTLTrackMatchedTPmtdDirectWrongAssocPt ||
277  !meBTLTrackMatchedTPmtdDirectNoAssocEta || !meBTLTrackMatchedTPmtdDirectNoAssocPt ||
278  !meBTLTrackMatchedTPmtdOtherCorrectAssocEta || !meBTLTrackMatchedTPmtdOtherCorrectAssocPt ||
279  !meBTLTrackMatchedTPmtdOtherWrongAssocEta || !meBTLTrackMatchedTPmtdOtherWrongAssocPt ||
280  !meBTLTrackMatchedTPmtdOtherNoAssocEta || !meBTLTrackMatchedTPmtdOtherNoAssocPt ||
281  !meBTLTrackMatchedTPnomtdAssocEta || !meBTLTrackMatchedTPnomtdAssocPt || !meETLTrackMatchedTPmtd1Eta ||
282  !meETLTrackMatchedTPmtd1Pt || !meETLTrackMatchedTPmtd2Eta || !meETLTrackMatchedTPmtd2Pt ||
283  !meETLTrackMatchedTPnomtdEta || !meETLTrackMatchedTPnomtdPt || !meETLTrackMatchedTPmtd1CorrectAssocEta ||
284  !meETLTrackMatchedTPmtd1CorrectAssocPt || !meETLTrackMatchedTPmtd1WrongAssocEta ||
285  !meETLTrackMatchedTPmtd1WrongAssocPt || !meETLTrackMatchedTPmtd1NoAssocEta || !meETLTrackMatchedTPmtd1NoAssocPt ||
286  !meETLTrackMatchedTPmtd2CorrectAssocEta || !meETLTrackMatchedTPmtd2CorrectAssocPt ||
287  !meETLTrackMatchedTPmtd2WrongAssocEta || !meETLTrackMatchedTPmtd2WrongAssocPt ||
288  !meETLTrackMatchedTPmtd2NoAssocEta || !meETLTrackMatchedTPmtd2NoAssocPt || !meETLTrackMatchedTPnomtdAssocEta ||
289  !meETLTrackMatchedTPnomtdAssocPt || !meTrackNumHits || !meTrackNumHitsNT || !meExtraPtMtd || !meExtraPtEtl2Mtd ||
290  !meExtraEtaMtd || !meExtraEtaEtl2Mtd || !meExtraPhiAtBTL || !meExtraPhiAtBTLmatched || !meExtraBTLeneInCone ||
291  !meExtraMTDfailExtenderEta || !meExtraMTDfailExtenderPt) {
292  edm::LogError("MtdTracksHarvester") << "Monitoring histograms not found!" << std::endl;
293  return;
294  }
295 
296  // --- Book histograms
297  ibook.cd(folder_);
298  meBtlEtaEff_ = ibook.book1D("BtlEtaEff",
299  " Track Efficiency VS Eta;#eta;Efficiency",
300  meBTLTrackEtaTot->getNbinsX(),
301  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
302  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
303  meBtlEtaEff_->getTH1()->SetMinimum(0.);
304  computeEfficiency1D(meBTLTrackEtaMtd, meBTLTrackEtaTot, meBtlEtaEff_);
305 
306  meBtlPhiEff_ = ibook.book1D("BtlPhiEff",
307  "Track Efficiency VS Phi;#phi [rad];Efficiency",
308  meBTLTrackPhiTot->getNbinsX(),
309  meBTLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
310  meBTLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
311  meBtlPhiEff_->getTH1()->SetMinimum(0.);
312  computeEfficiency1D(meBTLTrackPhiMtd, meBTLTrackPhiTot, meBtlPhiEff_);
313 
314  meBtlPtEff_ = ibook.book1D("BtlPtEff",
315  "Track Efficiency VS Pt;Pt [GeV];Efficiency",
316  meBTLTrackPtTot->getNbinsX(),
317  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
318  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
319  meBtlPtEff_->getTH1()->SetMinimum(0.);
320  computeEfficiency1D(meBTLTrackPtMtd, meBTLTrackPtTot, meBtlPtEff_);
321 
322  meEtlEtaEff_ = ibook.book1D("EtlEtaEff",
323  " Track Efficiency VS Eta;#eta;Efficiency",
324  meETLTrackEtaTot->getNbinsX(),
325  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
326  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
327  meEtlEtaEff_->getTH1()->SetMinimum(0.);
328  computeEfficiency1D(meETLTrackEtaMtd, meETLTrackEtaTot, meEtlEtaEff_);
329 
330  meEtlPhiEff_ = ibook.book1D("EtlPhiEff",
331  "Track Efficiency VS Phi;#phi [rad];Efficiency",
332  meETLTrackPhiTot->getNbinsX(),
333  meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
334  meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
335  meEtlPhiEff_->getTH1()->SetMinimum(0.);
336  computeEfficiency1D(meETLTrackPhiMtd, meETLTrackPhiTot, meEtlPhiEff_);
337 
338  meEtlPtEff_ = ibook.book1D("EtlPtEff",
339  "Track Efficiency VS Pt;Pt [GeV];Efficiency",
340  meETLTrackPtTot->getNbinsX(),
341  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
342  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
343  meEtlPtEff_->getTH1()->SetMinimum(0.);
344  computeEfficiency1D(meETLTrackPtMtd, meETLTrackPtTot, meEtlPtEff_);
345 
346  meEtlEtaEff2_ = ibook.book1D("EtlEtaEff2",
347  " Track Efficiency VS Eta (2 hits);#eta;Efficiency",
348  meETLTrackEtaTot->getNbinsX(),
349  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
350  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
351  meEtlEtaEff2_->getTH1()->SetMinimum(0.);
352  computeEfficiency1D(meETLTrackEta2Mtd, meETLTrackEtaTot, meEtlEtaEff2_);
353 
354  meEtlPhiEff2_ = ibook.book1D("EtlPhiEff2",
355  "Track Efficiency VS Phi (2 hits);#phi [rad];Efficiency",
356  meETLTrackPhiTot->getNbinsX(),
357  meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmin(),
358  meETLTrackPhiTot->getTH1()->GetXaxis()->GetXmax());
359  meEtlPhiEff2_->getTH1()->SetMinimum(0.);
360  computeEfficiency1D(meETLTrackPhi2Mtd, meETLTrackPhiTot, meEtlPhiEff2_);
361 
362  meEtlPtEff2_ = ibook.book1D("EtlPtEff2",
363  "Track Efficiency VS Pt (2 hits);Pt [GeV];Efficiency",
364  meETLTrackPtTot->getNbinsX(),
365  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
366  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
367  meEtlPtEff2_->getTH1()->SetMinimum(0.);
368  computeEfficiency1D(meETLTrackPt2Mtd, meETLTrackPtTot, meEtlPtEff2_);
369 
370  // low pT
371  meEtlEtaEffLowPt_[0] = ibook.book1D("EtlEtaEffLowPt0",
372  " Track Efficiency VS Eta, 0.2 < pt < 0.45;#eta;Efficiency",
373  meETLTrackEtaTotLowPt0->getNbinsX(),
374  meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmin(),
375  meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmax());
376  meEtlEtaEffLowPt_[0]->getTH1()->SetMinimum(0.);
377  computeEfficiency1D(meETLTrackEtaMtdLowPt0, meETLTrackEtaTotLowPt0, meEtlEtaEffLowPt_[0]);
378 
379  meEtlEtaEffLowPt_[1] = ibook.book1D("EtlEtaEffLowPt1",
380  " Track Efficiency VS Eta, 0.45 < pt < 0.7;#eta;Efficiency",
381  meETLTrackEtaTotLowPt1->getNbinsX(),
382  meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmin(),
383  meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmax());
384  meEtlEtaEffLowPt_[1]->getTH1()->SetMinimum(0.);
385  computeEfficiency1D(meETLTrackEtaMtdLowPt1, meETLTrackEtaTotLowPt1, meEtlEtaEffLowPt_[1]);
386 
387  meEtlEtaEff2LowPt_[0] = ibook.book1D("EtlEtaEff2LowPt0",
388  " Track Efficiency VS Eta (2 hits), 0.2 < pt < 0.45;#eta;Efficiency",
389  meETLTrackEtaTotLowPt0->getNbinsX(),
390  meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmin(),
391  meETLTrackEtaTotLowPt0->getTH1()->GetXaxis()->GetXmax());
392  meEtlEtaEff2LowPt_[0]->getTH1()->SetMinimum(0.);
393  computeEfficiency1D(meETLTrackEta2MtdLowPt0, meETLTrackEtaTotLowPt0, meEtlEtaEff2LowPt_[0]);
394 
395  meEtlEtaEff2LowPt_[1] = ibook.book1D("EtlEtaEff2LowPt1",
396  " Track Efficiency VS Eta (2 hits), 0.45 < pt < 0.7;#eta;Efficiency",
397  meETLTrackEtaTotLowPt1->getNbinsX(),
398  meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmin(),
399  meETLTrackEtaTotLowPt1->getTH1()->GetXaxis()->GetXmax());
400  meEtlEtaEff2LowPt_[1]->getTH1()->SetMinimum(0.);
401  computeEfficiency1D(meETLTrackEta2MtdLowPt1, meETLTrackEtaTotLowPt1, meEtlEtaEff2LowPt_[1]);
402 
403  meExtraPtEff_ =
404  ibook.book1D("ExtraPtEff",
405  "MTD matching efficiency wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
406  meTrackMatchedTPPtTotLV->getNbinsX(),
407  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
408  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
409  meExtraPtEff_->getTH1()->SetMinimum(0.);
410  computeEfficiency1D(meExtraPtMtd, meTrackMatchedTPPtTotLV, meExtraPtEff_);
411 
413  ibook.book1D("ExtraPtEtl2Eff",
414  "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
415  meTrackMatchedTPPtTotLV->getNbinsX(),
416  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
417  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
418  meExtraPtEtl2Eff_->getTH1()->SetMinimum(0.);
419  computeEfficiency1D(meExtraPtEtl2Mtd, meTrackMatchedTPPtTotLV, meExtraPtEtl2Eff_);
420 
421  meExtraEtaEff_ = ibook.book1D("ExtraEtaEff",
422  "MTD matching efficiency wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
423  meTrackMatchedTPEtaTotLV->getNbinsX(),
424  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
425  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
426  meExtraEtaEff_->getTH1()->SetMinimum(0.);
427  computeEfficiency1D(meExtraEtaMtd, meTrackMatchedTPEtaTotLV, meExtraEtaEff_);
428 
430  ibook.book1D("ExtraEtaEtl2Eff",
431  "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
432  meTrackMatchedTPEtaTotLV->getNbinsX(),
433  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
434  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
435  meExtraEtaEtl2Eff_->getTH1()->SetMinimum(0.);
436  computeEfficiency1D(meExtraEtaEtl2Mtd, meTrackMatchedTPEtaTotLV, meExtraEtaEtl2Eff_);
437 
438  // Efficiency for TP matched tracks
439  meBTLTPPtSelEff_ = ibook.book1D("BTLTPPtSelEff",
440  "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
441  meBTLTrackPtTot->getNbinsX(),
442  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
443  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
444  meBTLTPPtSelEff_->getTH1()->SetMinimum(0.);
445  computeEfficiency1D(meBTLTrackMatchedTPPtTot, meBTLTrackPtTot, meBTLTPPtSelEff_);
446 
447  meBTLTPEtaSelEff_ = ibook.book1D("BTLTPEtaSelEff",
448  "Track selected efficiency TP VS Eta;Eta;Efficiency",
449  meBTLTrackEtaTot->getNbinsX(),
450  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
451  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
452  meBTLTPEtaSelEff_->getTH1()->SetMinimum(0.);
453  computeEfficiency1D(meBTLTrackMatchedTPEtaTot, meBTLTrackEtaTot, meBTLTPEtaSelEff_);
454 
455  meBTLTPPtMatchEff_ = ibook.book1D("BTLTPPtMatchEff",
456  "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
457  meBTLTrackMatchedTPPtTot->getNbinsX(),
458  meBTLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
459  meBTLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
460  meBTLTPPtMatchEff_->getTH1()->SetMinimum(0.);
461  computeEfficiency1D(meBTLTrackMatchedTPPtMtd, meBTLTrackMatchedTPPtTot, meBTLTPPtMatchEff_);
462 
463  meBTLTPEtaMatchEff_ = ibook.book1D("BTLTPEtaMatchEff",
464  "Track matched to TP efficiency VS Eta;Eta;Efficiency",
465  meBTLTrackMatchedTPEtaTot->getNbinsX(),
466  meBTLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
467  meBTLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
468  meBTLTPEtaMatchEff_->getTH1()->SetMinimum(0.);
469  computeEfficiency1D(meBTLTrackMatchedTPEtaMtd, meBTLTrackMatchedTPEtaTot, meBTLTPEtaMatchEff_);
470 
471  meETLTPPtSelEff_ = ibook.book1D("ETLTPPtSelEff",
472  "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
473  meETLTrackPtTot->getNbinsX(),
474  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
475  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
476  meETLTPPtSelEff_->getTH1()->SetMinimum(0.);
477  computeEfficiency1D(meETLTrackMatchedTPPtTot, meETLTrackPtTot, meETLTPPtSelEff_);
478 
479  meETLTPEtaSelEff_ = ibook.book1D("ETLTPEtaSelEff",
480  "Track selected efficiency TP VS Eta;Eta;Efficiency",
481  meETLTrackEtaTot->getNbinsX(),
482  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
483  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
484  meETLTPEtaSelEff_->getTH1()->SetMinimum(0.);
485  computeEfficiency1D(meETLTrackMatchedTPEtaTot, meETLTrackEtaTot, meETLTPEtaSelEff_);
486 
487  meETLTPPtMatchEff_ = ibook.book1D("ETLTPPtMatchEff",
488  "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
489  meETLTrackMatchedTPPtTot->getNbinsX(),
490  meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
491  meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
492  meETLTPPtMatchEff_->getTH1()->SetMinimum(0.);
493  computeEfficiency1D(meETLTrackMatchedTPPtMtd, meETLTrackMatchedTPPtTot, meETLTPPtMatchEff_);
494 
495  meETLTPEtaMatchEff_ = ibook.book1D("ETLTPEtaMatchEff",
496  "Track matched to TP efficiency VS Eta;Eta;Efficiency",
497  meETLTrackMatchedTPEtaTot->getNbinsX(),
498  meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
499  meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
500  meETLTPEtaMatchEff_->getTH1()->SetMinimum(0.);
501  computeEfficiency1D(meETLTrackMatchedTPEtaMtd, meETLTrackMatchedTPEtaTot, meETLTPEtaMatchEff_);
502 
503  meETLTPPtMatchEff2_ = ibook.book1D("ETLTPPtMatchEff2",
504  "Track matched to TP efficiency VS Pt (2 ETL hits);Pt [GeV];Efficiency",
505  meETLTrackMatchedTPPtTot->getNbinsX(),
506  meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmin(),
507  meETLTrackMatchedTPPtTot->getTH1()->GetXaxis()->GetXmax());
508  meETLTPPtMatchEff2_->getTH1()->SetMinimum(0.);
509  computeEfficiency1D(meETLTrackMatchedTPPt2Mtd, meETLTrackMatchedTPPtTot, meETLTPPtMatchEff2_);
510 
511  meETLTPEtaMatchEff2_ = ibook.book1D("ETLTPEtaMatchEff2",
512  "Track matched to TP efficiency VS Eta (2 hits);Eta;Efficiency",
513  meETLTrackMatchedTPEtaTot->getNbinsX(),
514  meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmin(),
515  meETLTrackMatchedTPEtaTot->getTH1()->GetXaxis()->GetXmax());
516  meETLTPEtaMatchEff2_->getTH1()->SetMinimum(0.);
517  computeEfficiency1D(meETLTrackMatchedTPEta2Mtd, meETLTrackMatchedTPEtaTot, meETLTPEtaMatchEff2_);
518 
519  // == Track-cluster matching efficiencies based on mc truth
520  // -- BTL
521  meBTLTPmtdDirectEtaSelEff_ = ibook.book1D("BTLTPmtdDirectEtaSelEff",
522  "Track selected efficiency TP-mtd hit (direct) VS Eta",
523  meBTLTrackEtaTot->getNbinsX(),
524  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
525  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
526  meBTLTPmtdDirectEtaSelEff_->getTH1()->SetMinimum(0.);
527  computeEfficiency1D(meBTLTrackMatchedTPmtdDirectEta, meBTLTrackEtaTot, meBTLTPmtdDirectEtaSelEff_);
528 
529  meBTLTPmtdDirectPtSelEff_ = ibook.book1D("BTLTPmtdDirectPtSelEff",
530  "Track selected efficiency TP-mtd hit (direct) VS Pt",
531  meBTLTrackPtTot->getNbinsX(),
532  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
533  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
534  meBTLTPmtdDirectPtSelEff_->getTH1()->SetMinimum(0.);
535  computeEfficiency1D(meBTLTrackMatchedTPmtdDirectPt, meBTLTrackPtTot, meBTLTPmtdDirectPtSelEff_);
536 
537  meBTLTPmtdOtherEtaSelEff_ = ibook.book1D("BTLTPmtdOtherEtaSelEff",
538  "Track selected efficiency TP-mtd hit (other) VS Eta",
539  meBTLTrackEtaTot->getNbinsX(),
540  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
541  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
542  meBTLTPmtdOtherEtaSelEff_->getTH1()->SetMinimum(0.);
543  computeEfficiency1D(meBTLTrackMatchedTPmtdOtherEta, meBTLTrackEtaTot, meBTLTPmtdOtherEtaSelEff_);
544 
545  meBTLTPmtdOtherPtSelEff_ = ibook.book1D("BTLTPmtdOtherPtSelEff",
546  "Track selected efficiency TP-mtd hit (other) VS Pt",
547  meBTLTrackPtTot->getNbinsX(),
548  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
549  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
550  meBTLTPmtdOtherPtSelEff_->getTH1()->SetMinimum(0.);
551  computeEfficiency1D(meBTLTrackMatchedTPmtdOtherPt, meBTLTrackPtTot, meBTLTPmtdOtherPtSelEff_);
552 
553  meBTLTPnomtdEtaSelEff_ = ibook.book1D("BTLTPnomtdEtaSelEff",
554  "Track selected efficiency TP-no mtd hit VS Eta",
555  meBTLTrackEtaTot->getNbinsX(),
556  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
557  meBTLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
558  meBTLTPnomtdEtaSelEff_->getTH1()->SetMinimum(0.);
559  computeEfficiency1D(meBTLTrackMatchedTPnomtdEta, meBTLTrackEtaTot, meBTLTPnomtdEtaSelEff_);
560 
561  meBTLTPnomtdPtSelEff_ = ibook.book1D("BTLTPnomtdPtSelEff",
562  "Track selected efficiency TP-no mtd hit VS Pt",
563  meBTLTrackPtTot->getNbinsX(),
564  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
565  meBTLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
566  meBTLTPnomtdPtSelEff_->getTH1()->SetMinimum(0.);
567  computeEfficiency1D(meBTLTrackMatchedTPnomtdPt, meBTLTrackPtTot, meBTLTPnomtdPtSelEff_);
568 
570  ibook.book1D("BTLTPmtdDirectCorrectAssocEtaMatchEff",
571  "Track efficiency TP-mtd hit (direct), correct reco match VS Eta",
572  meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
573  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
574  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
576  computeEfficiency1D(meBTLTrackMatchedTPmtdDirectCorrectAssocEta,
577  meBTLTrackMatchedTPmtdDirectEta,
579 
581  ibook.book1D("BTLTPmtdDirectCorrectAssocPtMatchEff",
582  "Track efficiency TP-mtd hit (direct), correct reco match VS Pt",
583  meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
584  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
585  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
587  computeEfficiency1D(meBTLTrackMatchedTPmtdDirectCorrectAssocPt,
588  meBTLTrackMatchedTPmtdDirectPt,
590 
592  ibook.book1D("BTLTPmtdDirectWrongAssocEtaMatchEff",
593  "Track efficiency TP-mtd hit (direct), incorrect reco match VS Eta",
594  meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
595  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
596  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
598  computeEfficiency1D(meBTLTrackMatchedTPmtdDirectWrongAssocEta,
599  meBTLTrackMatchedTPmtdDirectEta,
601 
603  ibook.book1D("BTLTPmtdDirectWrongAssocPtMatchEff",
604  "Track efficiency TP-mtd hit (direct), incorrect reco match VS Pt",
605  meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
606  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
607  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
610  meBTLTrackMatchedTPmtdDirectWrongAssocPt, meBTLTrackMatchedTPmtdDirectPt, meBTLTPmtdDirectWrongAssocPtMatchEff_);
611 
612  meBTLTPmtdDirectNoAssocEtaMatchEff_ = ibook.book1D("BTLTPmtdDirectNoAssocEtaMatchEff",
613  "Track efficiency TP-mtd hit (direct), no reco match VS Eta",
614  meBTLTrackMatchedTPmtdDirectEta->getNbinsX(),
615  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmin(),
616  meBTLTrackMatchedTPmtdDirectEta->getTH1()->GetXaxis()->GetXmax());
617  meBTLTPmtdDirectNoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
619  meBTLTrackMatchedTPmtdDirectNoAssocEta, meBTLTrackMatchedTPmtdDirectEta, meBTLTPmtdDirectNoAssocEtaMatchEff_);
620 
621  meBTLTPmtdDirectNoAssocPtMatchEff_ = ibook.book1D("BTLTPmtdDirectNoAssocPtMatchEff",
622  "Track efficiency TP-mtd hit (direct), no reco match VS Pt",
623  meBTLTrackMatchedTPmtdDirectPt->getNbinsX(),
624  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmin(),
625  meBTLTrackMatchedTPmtdDirectPt->getTH1()->GetXaxis()->GetXmax());
626  meBTLTPmtdDirectNoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
628  meBTLTrackMatchedTPmtdDirectNoAssocPt, meBTLTrackMatchedTPmtdDirectPt, meBTLTPmtdDirectNoAssocPtMatchEff_);
629 
631  ibook.book1D("BTLTPmtdOtherCorrectAssocEtaMatchEff",
632  "Track efficiency TP-mtd hit (other), correct reco match VS Eta",
633  meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
634  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
635  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
637  computeEfficiency1D(meBTLTrackMatchedTPmtdOtherCorrectAssocEta,
638  meBTLTrackMatchedTPmtdOtherEta,
640 
641  meBTLTPmtdOtherCorrectAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherCorrectAssocPtMatchEff",
642  "Track efficiency TP-mtd hit (other), correct reco match VS Pt",
643  meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
644  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
645  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
648  meBTLTrackMatchedTPmtdOtherCorrectAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherCorrectAssocPtMatchEff_);
649 
651  ibook.book1D("BTLTPmtdOtherWrongAssocEtaMatchEff",
652  "Track efficiency TP-mtd hit (other), incorrect reco match VS Eta",
653  meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
654  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
655  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
658  meBTLTrackMatchedTPmtdOtherWrongAssocEta, meBTLTrackMatchedTPmtdOtherEta, meBTLTPmtdOtherWrongAssocEtaMatchEff_);
659 
660  meBTLTPmtdOtherWrongAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherWrongAssocPtMatchEff",
661  "Track efficiency TP-mtd hit (other), incorrect reco match VS Pt",
662  meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
663  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
664  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
665  meBTLTPmtdOtherWrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
667  meBTLTrackMatchedTPmtdOtherWrongAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherWrongAssocPtMatchEff_);
668 
669  meBTLTPmtdOtherNoAssocEtaMatchEff_ = ibook.book1D("BTLTPmtdOtherNoAssocEtaMatchEff",
670  "Track efficiency TP-mtd hit (other), no reco match VS Eta",
671  meBTLTrackMatchedTPmtdOtherEta->getNbinsX(),
672  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmin(),
673  meBTLTrackMatchedTPmtdOtherEta->getTH1()->GetXaxis()->GetXmax());
674  meBTLTPmtdOtherNoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
676  meBTLTrackMatchedTPmtdOtherNoAssocEta, meBTLTrackMatchedTPmtdOtherEta, meBTLTPmtdOtherNoAssocEtaMatchEff_);
677 
678  meBTLTPmtdOtherNoAssocPtMatchEff_ = ibook.book1D("BTLTPmtdOtherNoAssocPtMatchEff",
679  "Track efficiency TP-mtd hit (other), no reco match VS Pt",
680  meBTLTrackMatchedTPmtdOtherPt->getNbinsX(),
681  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmin(),
682  meBTLTrackMatchedTPmtdOtherPt->getTH1()->GetXaxis()->GetXmax());
683  meBTLTPmtdOtherNoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
685  meBTLTrackMatchedTPmtdOtherNoAssocPt, meBTLTrackMatchedTPmtdOtherPt, meBTLTPmtdOtherNoAssocPtMatchEff_);
686 
687  meBTLTPnomtdEtaMatchEff_ = ibook.book1D("BTLTPnomtdEtaMatchEff",
688  "Track efficiency TP- no mtd hit, with reco match VS Eta",
689  meBTLTrackMatchedTPnomtdEta->getNbinsX(),
690  meBTLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmin(),
691  meBTLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmax());
692  meBTLTPnomtdEtaMatchEff_->getTH1()->SetMinimum(0.);
693  computeEfficiency1D(meBTLTrackMatchedTPnomtdAssocEta, meBTLTrackMatchedTPnomtdEta, meBTLTPnomtdEtaMatchEff_);
694 
695  meBTLTPnomtdPtMatchEff_ = ibook.book1D("BTLTPnomtdPtMatchEff",
696  "Track efficiency TP- no mtd hit, with reco match VS Pt",
697  meBTLTrackMatchedTPnomtdPt->getNbinsX(),
698  meBTLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmin(),
699  meBTLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmax());
700  meBTLTPnomtdPtMatchEff_->getTH1()->SetMinimum(0.);
701  computeEfficiency1D(meBTLTrackMatchedTPnomtdAssocPt, meBTLTrackMatchedTPnomtdPt, meBTLTPnomtdPtMatchEff_);
702 
703  // -- ETL
704  meETLTPmtd1EtaSelEff_ = ibook.book1D("ETLTPmtd1EtaSelEff",
705  "Track selected efficiency TP-mtd hit (>=1 sim hit) VS Eta",
706  meETLTrackEtaTot->getNbinsX(),
707  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
708  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
709  meETLTPmtd1EtaSelEff_->getTH1()->SetMinimum(0.);
710  computeEfficiency1D(meETLTrackMatchedTPmtd1Eta, meETLTrackEtaTot, meETLTPmtd1EtaSelEff_);
711 
712  meETLTPmtd1PtSelEff_ = ibook.book1D("ETLTPmtd1PtSelEff",
713  "Track selected efficiency TP-mtd hit (>=1 sim hit) VS Pt",
714  meETLTrackPtTot->getNbinsX(),
715  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
716  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
717  meETLTPmtd1PtSelEff_->getTH1()->SetMinimum(0.);
718  computeEfficiency1D(meETLTrackMatchedTPmtd1Pt, meETLTrackPtTot, meETLTPmtd1PtSelEff_);
719 
720  meETLTPmtd2EtaSelEff_ = ibook.book1D("ETLTPmtd2EtaSelEff",
721  "Track selected efficiency TP-mtd hit (2 sim hits) VS Eta",
722  meETLTrackEtaTot->getNbinsX(),
723  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
724  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
725  meETLTPmtd2EtaSelEff_->getTH1()->SetMinimum(0.);
726  computeEfficiency1D(meETLTrackMatchedTPmtd2Eta, meETLTrackEtaTot, meETLTPmtd2EtaSelEff_);
727 
728  meETLTPmtd2PtSelEff_ = ibook.book1D("ETLTPmtd2PtSelEff",
729  "Track selected efficiency TP-mtd hit (2 sim hits) VS Pt",
730  meETLTrackPtTot->getNbinsX(),
731  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
732  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
733  meETLTPmtd2PtSelEff_->getTH1()->SetMinimum(0.);
734  computeEfficiency1D(meETLTrackMatchedTPmtd2Pt, meETLTrackPtTot, meETLTPmtd2PtSelEff_);
735 
736  meETLTPnomtdEtaSelEff_ = ibook.book1D("ETLTPnomtdEtaSelEff",
737  "Track selected efficiency TP-no mtd hit VS Eta",
738  meETLTrackEtaTot->getNbinsX(),
739  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmin(),
740  meETLTrackEtaTot->getTH1()->GetXaxis()->GetXmax());
741  meETLTPnomtdEtaSelEff_->getTH1()->SetMinimum(0.);
742  computeEfficiency1D(meETLTrackMatchedTPnomtdEta, meETLTrackEtaTot, meETLTPnomtdEtaSelEff_);
743 
744  meETLTPnomtdPtSelEff_ = ibook.book1D("ETLTPnomtdPtSelEff",
745  "Track selected efficiency TP-no mtd hit VS Pt",
746  meETLTrackPtTot->getNbinsX(),
747  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmin(),
748  meETLTrackPtTot->getTH1()->GetXaxis()->GetXmax());
749  meETLTPnomtdPtSelEff_->getTH1()->SetMinimum(0.);
750  computeEfficiency1D(meETLTrackMatchedTPnomtdPt, meETLTrackPtTot, meETLTPnomtdPtSelEff_);
751 
753  ibook.book1D("ETLTPmtd1CorrectAssocEtaMatchEff",
754  "Track efficiency TP-mtd hit (>=1 sim hit), correct reco match VS Eta",
755  meETLTrackMatchedTPmtd1Eta->getNbinsX(),
756  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
757  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
758  meETLTPmtd1CorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
760  meETLTrackMatchedTPmtd1CorrectAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1CorrectAssocEtaMatchEff_);
761 
763  ibook.book1D("ETLTPmtd1CorrectAssocPtMatchEff",
764  "Track efficiency TP-mtd hit (>=1 sim hit), correct reco match VS Pt",
765  meETLTrackMatchedTPmtd1Pt->getNbinsX(),
766  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
767  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
768  meETLTPmtd1CorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
770  meETLTrackMatchedTPmtd1CorrectAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1CorrectAssocPtMatchEff_);
771 
773  ibook.book1D("ETLTPmtd1WrongAssocEtaMatchEff",
774  "Track efficiency TP-mtd hit (>=1 sim hit), incorrect reco match VS Eta",
775  meETLTrackMatchedTPmtd1Eta->getNbinsX(),
776  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
777  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
778  meETLTPmtd1WrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
780  meETLTrackMatchedTPmtd1WrongAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1WrongAssocEtaMatchEff_);
781 
783  ibook.book1D("ETLTPmtd1WrongAssocPtMatchEff",
784  "Track efficiency TP-mtd hit (>=1 sim hit), incorrect reco match VS Pt",
785  meETLTrackMatchedTPmtd1Pt->getNbinsX(),
786  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
787  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
788  meETLTPmtd1WrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
789  computeEfficiency1D(meETLTrackMatchedTPmtd1WrongAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1WrongAssocPtMatchEff_);
790 
791  meETLTPmtd1NoAssocEtaMatchEff_ = ibook.book1D("ETLTPmtd1NoAssocEtaMatchEff",
792  "Track efficiency TP-mtd hit (>=1 sim hit), no reco match VS Eta",
793  meETLTrackMatchedTPmtd1Eta->getNbinsX(),
794  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmin(),
795  meETLTrackMatchedTPmtd1Eta->getTH1()->GetXaxis()->GetXmax());
796  meETLTPmtd1NoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
797  computeEfficiency1D(meETLTrackMatchedTPmtd1NoAssocEta, meETLTrackMatchedTPmtd1Eta, meETLTPmtd1NoAssocEtaMatchEff_);
798 
799  meETLTPmtd1NoAssocPtMatchEff_ = ibook.book1D("ETLTPmtd1NoAssocPtMatchEff",
800  "Track efficiency TP-mtd hit (>=1 sim hit), no reco match VS Pt",
801  meETLTrackMatchedTPmtd1Pt->getNbinsX(),
802  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmin(),
803  meETLTrackMatchedTPmtd1Pt->getTH1()->GetXaxis()->GetXmax());
804  meETLTPmtd1NoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
805  computeEfficiency1D(meETLTrackMatchedTPmtd1NoAssocPt, meETLTrackMatchedTPmtd1Pt, meETLTPmtd1NoAssocPtMatchEff_);
806 
808  ibook.book1D("ETLTPmtd2CorrectAssocEtaMatchEff",
809  "Track efficiency TP-mtd hit (2 sim hits), correct reco match VS Eta",
810  meETLTrackMatchedTPmtd2Eta->getNbinsX(),
811  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
812  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
813  meETLTPmtd2CorrectAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
815  meETLTrackMatchedTPmtd2CorrectAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2CorrectAssocEtaMatchEff_);
816 
818  ibook.book1D("ETLTPmtd2CorrectAssocPtMatchEff",
819  "Track efficiency TP-mtd hit (2 sim hits), correct reco match VS Pt",
820  meETLTrackMatchedTPmtd2Pt->getNbinsX(),
821  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
822  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
823  meETLTPmtd2CorrectAssocPtMatchEff_->getTH1()->SetMinimum(0.);
825  meETLTrackMatchedTPmtd2CorrectAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2CorrectAssocPtMatchEff_);
826 
828  ibook.book1D("ETLTPmtd2WrongAssocEtaMatchEff",
829  "Track efficiency TP-mtd hit (2 sim hits), incorrect reco match VS Eta",
830  meETLTrackMatchedTPmtd2Eta->getNbinsX(),
831  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
832  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
833  meETLTPmtd2WrongAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
835  meETLTrackMatchedTPmtd2WrongAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2WrongAssocEtaMatchEff_);
836 
838  ibook.book1D("ETLTPmtd2WrongAssocPtMatchEff",
839  "Track efficiency TP-mtd hit (2 sim hits), incorrect reco match VS Pt",
840  meETLTrackMatchedTPmtd2Pt->getNbinsX(),
841  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
842  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
843  meETLTPmtd2WrongAssocPtMatchEff_->getTH1()->SetMinimum(0.);
844  computeEfficiency1D(meETLTrackMatchedTPmtd2WrongAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2WrongAssocPtMatchEff_);
845 
846  meETLTPmtd2NoAssocEtaMatchEff_ = ibook.book1D("ETLTPmtd2NoAssocEtaMatchEff",
847  "Track efficiency TP-mtd hit (2 sim hits), no reco match VS Eta",
848  meETLTrackMatchedTPmtd2Eta->getNbinsX(),
849  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmin(),
850  meETLTrackMatchedTPmtd2Eta->getTH1()->GetXaxis()->GetXmax());
851  meETLTPmtd2NoAssocEtaMatchEff_->getTH1()->SetMinimum(0.);
852  computeEfficiency1D(meETLTrackMatchedTPmtd2NoAssocEta, meETLTrackMatchedTPmtd2Eta, meETLTPmtd2NoAssocEtaMatchEff_);
853 
854  meETLTPmtd2NoAssocPtMatchEff_ = ibook.book1D("ETLTPmtd2NoAssocPtMatchEff",
855  "Track efficiency TP-mtd hit (2 sim hits), no reco match VS Pt",
856  meETLTrackMatchedTPmtd2Pt->getNbinsX(),
857  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmin(),
858  meETLTrackMatchedTPmtd2Pt->getTH1()->GetXaxis()->GetXmax());
859  meETLTPmtd2NoAssocPtMatchEff_->getTH1()->SetMinimum(0.);
860  computeEfficiency1D(meETLTrackMatchedTPmtd2NoAssocPt, meETLTrackMatchedTPmtd2Pt, meETLTPmtd2NoAssocPtMatchEff_);
861 
862  meETLTPnomtdEtaMatchEff_ = ibook.book1D("ETLTPnomtdEtaMatchEff",
863  "Track efficiency TP- no mtd hit, with reco match VS Eta",
864  meETLTrackMatchedTPnomtdEta->getNbinsX(),
865  meETLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmin(),
866  meETLTrackMatchedTPnomtdEta->getTH1()->GetXaxis()->GetXmax());
867  meETLTPnomtdEtaMatchEff_->getTH1()->SetMinimum(0.);
868  computeEfficiency1D(meETLTrackMatchedTPnomtdAssocEta, meETLTrackMatchedTPnomtdEta, meETLTPnomtdEtaMatchEff_);
869 
870  meETLTPnomtdPtMatchEff_ = ibook.book1D("ETLTPnomtdPtMatchEff",
871  "Track efficiency TP- no mtd hit, with reco match VS Pt",
872  meETLTrackMatchedTPnomtdPt->getNbinsX(),
873  meETLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmin(),
874  meETLTrackMatchedTPnomtdPt->getTH1()->GetXaxis()->GetXmax());
875  meETLTPnomtdPtMatchEff_->getTH1()->SetMinimum(0.);
876  computeEfficiency1D(meETLTrackMatchedTPnomtdAssocPt, meETLTrackMatchedTPnomtdPt, meETLTPnomtdPtMatchEff_);
877 
878  meNoTimeFraction_ = ibook.book1D("NoTimeFraction",
879  "Fraction of tracks with MTD hits and no time associated; Num. of hits",
880  meTrackNumHits->getNbinsX(),
881  meTrackNumHits->getTH1()->GetXaxis()->GetXmin(),
882  meTrackNumHits->getTH1()->GetXaxis()->GetXmax());
883  meNoTimeFraction_->getTH1()->SetMinimum(0.);
884  computeEfficiency1D(meTrackNumHitsNT, meTrackNumHits, meNoTimeFraction_);
885 
886  meBtlEtaEff_->getTH1()->SetMinimum(0.);
887  meBtlPhiEff_->getTH1()->SetMinimum(0.);
888  meBtlPtEff_->getTH1()->SetMinimum(0.);
889  meEtlEtaEff_->getTH1()->SetMinimum(0.);
890  meEtlPhiEff_->getTH1()->SetMinimum(0.);
891  meEtlPtEff_->getTH1()->SetMinimum(0.);
892  meEtlEtaEff2_->getTH1()->SetMinimum(0.);
893  meEtlPhiEff2_->getTH1()->SetMinimum(0.);
894  meEtlPtEff2_->getTH1()->SetMinimum(0.);
895  for (int i = 0; i < 2; i++) {
896  meEtlEtaEffLowPt_[i]->getTH1()->SetMinimum(0.);
897  meEtlEtaEff2LowPt_[i]->getTH1()->SetMinimum(0.);
898  }
899 
900  meExtraPhiAtBTLEff_ = ibook.book1D("ExtraPhiAtBTLEff",
901  "Efficiency to match hits at BTL surface of extrapolated tracks associated to LV",
902  meExtraPhiAtBTL->getNbinsX(),
903  meExtraPhiAtBTL->getTH1()->GetXaxis()->GetXmin(),
904  meExtraPhiAtBTL->getTH1()->GetXaxis()->GetXmax());
905  meExtraPhiAtBTLEff_->getTH1()->SetMinimum(0.);
906  computeEfficiency1D(meExtraPhiAtBTLmatched, meExtraPhiAtBTL, meExtraPhiAtBTLEff_);
907 
908  normalize(meExtraBTLeneInCone, 1.);
909 
911  ibook.book1D("ExtraMTDfailExtenderEtaEff",
912  "Track associated to LV extrapolated at MTD surface no extender efficiency VS Eta;Eta;Efficiency",
913  meTrackMatchedTPEtaTotLV->getNbinsX(),
914  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmin(),
915  meTrackMatchedTPEtaTotLV->getTH1()->GetXaxis()->GetXmax());
916  meExtraMTDfailExtenderEtaEff_->getTH1()->SetMinimum(0.);
917  computeEfficiency1D(meExtraMTDfailExtenderEta, meTrackMatchedTPEtaTotLV, meExtraMTDfailExtenderEtaEff_);
918 
920  "ExtraMTDfailExtenderPtEff",
921  "Track associated to LV extrapolated at MTD surface no extender efficiency VS Pt;Pt [GeV];Efficiency",
922  meTrackMatchedTPPtTotLV->getNbinsX(),
923  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmin(),
924  meTrackMatchedTPPtTotLV->getTH1()->GetXaxis()->GetXmax());
925  meExtraMTDfailExtenderPtEff_->getTH1()->SetMinimum(0.);
926  computeEfficiency1D(meExtraMTDfailExtenderPt, meTrackMatchedTPPtTotLV, meExtraMTDfailExtenderPtEff_);
927 }
928 
929 // ------------ method fills 'descriptions' with the allowed parameters for the module ----------
932 
933  desc.add<std::string>("folder", "MTD/Tracks/");
934 
935  descriptions.add("MtdTracksPostProcessor", desc);
936 }
937 
MonitorElement * meETLTPEtaSelEff_
MonitorElement * meExtraPtEff_
MonitorElement * meEtlEtaEff2_
MonitorElement * meBTLTPmtdOtherCorrectAssocPtMatchEff_
MonitorElement * meExtraMTDfailExtenderPtEff_
MtdTracksHarvester(const edm::ParameterSet &iConfig)
MonitorElement * meETLTPmtd1PtSelEff_
MonitorElement * meETLTPmtd1NoAssocEtaMatchEff_
std::string folder_
MonitorElement * meETLTPmtd2NoAssocPtMatchEff_
MonitorElement * meBTLTPmtdOtherWrongAssocPtMatchEff_
MonitorElement * meETLTPmtd1CorrectAssocPtMatchEff_
MonitorElement * meBTLTPnomtdPtSelEff_
MonitorElement * meEtlPhiEff2_
MonitorElement * meBTLTPEtaMatchEff_
MonitorElement * meETLTPPtMatchEff_
MonitorElement * meExtraEtaEtl2Eff_
MonitorElement * meBTLTPEtaSelEff_
MonitorElement * meETLTPmtd2NoAssocEtaMatchEff_
MonitorElement * meETLTPmtd1WrongAssocPtMatchEff_
MonitorElement * meExtraPhiAtBTLEff_
MonitorElement * meETLTPmtd1NoAssocPtMatchEff_
MonitorElement * meBTLTPmtdDirectNoAssocEtaMatchEff_
MonitorElement * meETLTPEtaMatchEff_
MonitorElement * meETLTPmtd1WrongAssocEtaMatchEff_
Log< level::Error, false > LogError
MonitorElement * meETLTPmtd2EtaSelEff_
MonitorElement * meEtlEtaEff2LowPt_[2]
MonitorElement * meETLTPmtd2CorrectAssocEtaMatchEff_
MonitorElement * meETLTPPtMatchEff2_
MonitorElement * meETLTPmtd1CorrectAssocEtaMatchEff_
MonitorElement * meBTLTPmtdDirectWrongAssocPtMatchEff_
MonitorElement * meBTLTPmtdDirectEtaSelEff_
MonitorElement * meBTLTPPtMatchEff_
MonitorElement * meEtlPtEff2_
MonitorElement * meETLTPnomtdPtMatchEff_
MonitorElement * meETLTPmtd2PtSelEff_
void computeEfficiency1D(MonitorElement *num, MonitorElement *den, MonitorElement *result)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * meBTLTPnomtdEtaSelEff_
MonitorElement * meBTLTPmtdOtherPtSelEff_
T sqrt(T t)
Definition: SSEVec.h:23
MonitorElement * meBTLTPmtdOtherEtaSelEff_
MonitorElement * meBTLTPmtdOtherWrongAssocEtaMatchEff_
MonitorElement * meEtlPhiEff_
MonitorElement * meBTLTPmtdDirectCorrectAssocPtMatchEff_
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
MonitorElement * meBTLTPmtdOtherNoAssocEtaMatchEff_
const std::string folder_
MonitorElement * meBtlPtEff_
MonitorElement * meEtlEtaEffLowPt_[2]
Integral< F, X >::type integral(const F &f)
Definition: Integral.h:70
MonitorElement * meETLTPmtd2CorrectAssocPtMatchEff_
MonitorElement * meETLTPmtd2WrongAssocEtaMatchEff_
void normalize(MonitorElement *h, double scale)
MonitorElement * meETLTPPtSelEff_
MonitorElement * meBTLTPmtdDirectPtSelEff_
MonitorElement * meBTLTPmtdDirectCorrectAssocEtaMatchEff_
MonitorElement * meExtraPtEtl2Eff_
MonitorElement * meExtraEtaEff_
MonitorElement * meEtlPtEff_
MonitorElement * meEtlEtaEff_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
MonitorElement * meBTLTPmtdOtherCorrectAssocEtaMatchEff_
MonitorElement * meBtlEtaEff_
MonitorElement * meETLTPnomtdPtSelEff_
MonitorElement * meETLTPnomtdEtaSelEff_
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:712
virtual TH1 * getTH1() const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * meBTLTPPtSelEff_
MonitorElement * meETLTPmtd1EtaSelEff_
MonitorElement * meETLTPEtaMatchEff2_
MonitorElement * meBtlPhiEff_
MonitorElement * meBTLTPmtdOtherNoAssocPtMatchEff_
MonitorElement * meETLTPmtd2WrongAssocPtMatchEff_
virtual int getNbinsX() const
get # of bins in X-axis
MonitorElement * meBTLTPnomtdPtMatchEff_
MonitorElement * meNoTimeFraction_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * meETLTPnomtdEtaMatchEff_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
MonitorElement * meBTLTPnomtdEtaMatchEff_
MonitorElement * meExtraMTDfailExtenderEtaEff_
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
MonitorElement * meBTLTPmtdDirectNoAssocPtMatchEff_
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * meBTLTPmtdDirectWrongAssocEtaMatchEff_