69 for (
int ibin = 1; ibin <= den->
getNbinsX(); ibin++) {
77 result->setBinContent(ibin, eff);
78 result->setBinError(ibin, bin_err);
83 double integral =
h->getTH1F()->Integral();
85 for (
int ibin = 1; ibin <=
h->getNbinsX(); ibin++) {
86 double eff =
h->getBinContent(ibin) * norma;
87 double bin_err =
h->getBinError(ibin) * norma;
88 h->setBinContent(ibin, eff);
89 h->setBinError(ibin, bin_err);
152 if (!meBTLTrackEffEtaTot || !meBTLTrackEffPhiTot || !meBTLTrackEffPtTot || !meBTLTrackEffEtaMtd ||
153 !meBTLTrackEffPhiMtd || !meBTLTrackEffPtMtd || !meETLTrackEffEtaTotZneg || !meETLTrackEffPhiTotZneg ||
154 !meETLTrackEffPtTotZneg || !meETLTrackEffEtaTotLowPt0 || !meETLTrackEffEtaTotLowPt1 || !meETLTrackEffEtaMtdZneg ||
155 !meETLTrackEffEtaMtdLowPt0 || !meETLTrackEffEtaMtdLowPt1 || !meETLTrackEffPhiMtdZneg || !meETLTrackEffPtMtdZneg ||
156 !meETLTrackEffEta2MtdZneg || !meETLTrackEffEta2MtdLowPt0 || !meETLTrackEffEta2MtdLowPt1 ||
157 !meETLTrackEffPhi2MtdZneg || !meETLTrackEffPt2MtdZneg || !meETLTrackEffEtaTotZpos || !meETLTrackEffPhiTotZpos ||
158 !meETLTrackEffPtTotZpos || !meETLTrackEffEtaMtdZpos || !meETLTrackEffPhiMtdZpos || !meETLTrackEffPtMtdZpos ||
159 !meETLTrackEffEta2MtdZpos || !meETLTrackEffPhi2MtdZpos || !meETLTrackEffPt2MtdZpos || !meTrackMatchedTPEffPtTot ||
160 !meTrackMatchedTPEffPtTotLV || !meTrackMatchedTPEffPtMtd || !meTrackMatchedTPEffPtEtl2Mtd ||
161 !meTrackMatchedTPmtdEffPtTot || !meTrackMatchedTPmtdEffPtMtd || !meTrackMatchedTPEffEtaTot ||
162 !meTrackMatchedTPEffEtaTotLV || !meTrackMatchedTPEffEtaMtd || !meTrackMatchedTPEffEtaEtl2Mtd ||
163 !meTrackMatchedTPmtdEffEtaTot || !meTrackMatchedTPmtdEffEtaMtd || !meTrackNumHits || !meTrackNumHitsNT ||
164 !meTrackPtTot || !meTrackEtaTot || !meExtraPtMtd || !meExtraPtEtl2Mtd || !meExtraEtaMtd || !meExtraEtaEtl2Mtd ||
165 !meExtraPhiAtBTL || !meExtraPhiAtBTLmatched || !meExtraBTLeneInCone || !meExtraMTDfailExtenderEta ||
166 !meExtraMTDfailExtenderPt) {
167 edm::LogError(
"MtdTracksHarvester") <<
"Monitoring histograms not found!" << std::endl;
174 " Track Efficiency VS Eta;#eta;Efficiency",
176 meBTLTrackEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
177 meBTLTrackEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
182 "Track Efficiency VS Phi;#phi [rad];Efficiency",
184 meBTLTrackEffPhiTot->
getTH1()->GetXaxis()->GetXmin(),
185 meBTLTrackEffPhiTot->
getTH1()->GetXaxis()->GetXmax());
190 "Track Efficiency VS Pt;Pt [GeV];Efficiency",
192 meBTLTrackEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
193 meBTLTrackEffPtTot->
getTH1()->GetXaxis()->GetXmax());
198 " Track Efficiency VS Eta (-Z);#eta;Efficiency",
200 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmin(),
201 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmax());
206 " Track Efficiency VS Eta, 0.2 < pt < 0.45;#eta;Efficiency",
208 meETLTrackEffEtaTotLowPt0->
getTH1()->GetXaxis()->GetXmin(),
209 meETLTrackEffEtaTotLowPt0->
getTH1()->GetXaxis()->GetXmax());
214 "Track Efficiency VS Phi (-Z);#phi [rad];Efficiency",
216 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmin(),
217 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmax());
222 "Track Efficiency VS Pt (-Z);Pt [GeV];Efficiency",
224 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmin(),
225 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmax());
230 " Track Efficiency VS Eta (+Z);#eta;Efficiency",
232 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmin(),
233 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmax());
238 " Track Efficiency VS Eta, 0.45 < pt < 0.7;#eta;Efficiency",
240 meETLTrackEffEtaTotLowPt1->
getTH1()->GetXaxis()->GetXmin(),
241 meETLTrackEffEtaTotLowPt1->
getTH1()->GetXaxis()->GetXmax());
246 "Track Efficiency VS Phi (+Z);#phi [rad];Efficiency",
248 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmin(),
249 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmax());
254 "Track Efficiency VS Pt (+Z);Pt [GeV];Efficiency",
256 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmin(),
257 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmax());
262 " Track Efficiency VS Eta (-Z, 2 hit);#eta;Efficiency",
264 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmin(),
265 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmax());
270 " Track Efficiency VS Eta (2 hits), 0.2 < pt < 0.45;#eta;Efficiency",
272 meETLTrackEffEtaTotLowPt0->
getTH1()->GetXaxis()->GetXmin(),
273 meETLTrackEffEtaTotLowPt0->
getTH1()->GetXaxis()->GetXmax());
278 "Track Efficiency VS Phi (-Z, 2 hits);#phi [rad];Efficiency",
280 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmin(),
281 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmax());
286 "Track Efficiency VS Pt (-Z, 2 hits);Pt [GeV];Efficiency",
288 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmin(),
289 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmax());
294 "Track Efficiency VS Eta (+Z, 2 hits);#eta;Efficiency",
296 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmin(),
297 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmax());
302 " Track Efficiency VS Eta (2 hits), 0.45 < pt < 0.7;#eta;Efficiency",
304 meETLTrackEffEtaTotLowPt1->
getTH1()->GetXaxis()->GetXmin(),
305 meETLTrackEffEtaTotLowPt1->
getTH1()->GetXaxis()->GetXmax());
310 "Track Efficiency VS Phi (+Z, 2 hits);#phi [rad];Efficiency",
312 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmin(),
313 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmax());
318 "Track Efficiency VS Pt (+Z, 2 hits);Pt [GeV];Efficiency",
320 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmin(),
321 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmax());
326 ibook.
book1D(
"ExtraPtEff",
327 "MTD matching efficiency wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
328 meTrackMatchedTPEffEtaTotLV->
getNbinsX(),
329 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmin(),
330 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmax());
335 ibook.
book1D(
"ExtraPtEtl2Eff",
336 "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Pt;Pt [GeV];Efficiency",
337 meTrackMatchedTPEffEtaTotLV->
getNbinsX(),
338 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmin(),
339 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmax());
344 "MTD matching efficiency wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
345 meTrackMatchedTPEffEtaTotLV->
getNbinsX(),
346 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmin(),
347 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmax());
352 ibook.
book1D(
"ExtraEtaEtl2Eff",
353 "MTD matching efficiency (2 ETL) wrt extrapolated track associated to LV VS Eta;Eta;Efficiency",
354 meTrackMatchedTPEffEtaTotLV->
getNbinsX(),
355 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmin(),
356 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmax());
361 "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
363 meTrackPtTot->
getTH1()->GetXaxis()->GetXmin(),
364 meTrackPtTot->
getTH1()->GetXaxis()->GetXmax());
369 "Track selected efficiency TP VS Eta;Eta;Efficiency",
371 meTrackEtaTot->
getTH1()->GetXaxis()->GetXmin(),
372 meTrackEtaTot->
getTH1()->GetXaxis()->GetXmax());
377 "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
379 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
380 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmax());
385 "Track matched to TP efficiency VS Eta;Eta;Efficiency",
387 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
388 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
393 "Track matched to TP efficiency VS Pt, 2 ETL hits;Pt [GeV];Efficiency",
395 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
396 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmax());
401 "Track matched to TP efficiency VS Eta, 2 ETL hits;Eta;Efficiency",
403 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
404 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
409 "Track selected efficiency TP-mtd hit VS Pt;Pt [GeV];Efficiency",
411 meTrackPtTot->
getTH1()->GetXaxis()->GetXmin(),
412 meTrackPtTot->
getTH1()->GetXaxis()->GetXmax());
417 "Track selected efficiency TPmtd hit VS Eta;Eta;Efficiency",
419 meTrackEtaTot->
getTH1()->GetXaxis()->GetXmin(),
420 meTrackEtaTot->
getTH1()->GetXaxis()->GetXmax());
425 "Track matched to TP-mtd hit efficiency VS Pt;Pt [GeV];Efficiency",
426 meTrackMatchedTPmtdEffPtTot->
getNbinsX(),
427 meTrackMatchedTPmtdEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
428 meTrackMatchedTPmtdEffPtTot->
getTH1()->GetXaxis()->GetXmax());
433 "Track matched to TP-mtd hit efficiency VS Eta;Eta;Efficiency",
434 meTrackMatchedTPmtdEffEtaTot->
getNbinsX(),
435 meTrackMatchedTPmtdEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
436 meTrackMatchedTPmtdEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
441 "Fraction of tracks with MTD hits and no time associated; Num. of hits",
443 meTrackNumHits->
getTH1()->GetXaxis()->GetXmin(),
444 meTrackNumHits->
getTH1()->GetXaxis()->GetXmax());
451 for (
int i = 0;
i < 2;
i++) {
463 "Efficiency to match hits at BTL surface of extrapolated tracks associated to LV",
465 meExtraPhiAtBTL->
getTH1()->GetXaxis()->GetXmin(),
466 meExtraPhiAtBTL->
getTH1()->GetXaxis()->GetXmax());
473 ibook.
book1D(
"ExtraMTDfailExtenderEtaEff",
474 "Track associated to LV extrapolated at MTD surface no extender efficiency VS Eta;Eta;Efficiency",
475 meTrackMatchedTPEffEtaTotLV->
getNbinsX(),
476 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmin(),
477 meTrackMatchedTPEffEtaTotLV->
getTH1()->GetXaxis()->GetXmax());
482 "ExtraMTDfailExtenderPtEff",
483 "Track associated to LV extrapolated at MTD surface no extender efficiency VS Pt;Pt [GeV];Efficiency",
485 meTrackMatchedTPEffPtTotLV->
getTH1()->GetXaxis()->GetXmin(),
486 meTrackMatchedTPEffPtTotLV->
getTH1()->GetXaxis()->GetXmax());
497 descriptions.
add(
"MtdTracksPostProcessor",
desc);
MonitorElement * meExtraPtEff_
MonitorElement * meTPEtaMatchEtl2Eff_
MonitorElement * meExtraMTDfailExtenderPtEff_
MtdTracksHarvester(const edm::ParameterSet &iConfig)
MonitorElement * meTPEtaSelEff_
MonitorElement * meEtlEtaEff2_[2]
MonitorElement * meTPEtaMatchEff_
MonitorElement * meExtraEtaEtl2Eff_
MonitorElement * meExtraPhiAtBTLEff_
Log< level::Error, false > LogError
MonitorElement * meEtlEtaEff2LowPt_[2]
MonitorElement * meTPmtdEtaMatchEff_
MonitorElement * meTPPtSelEff_
MonitorElement * meEtlPhiEff2_[2]
void computeEfficiency1D(MonitorElement *num, MonitorElement *den, MonitorElement *result)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * meEtlPhiEff_[2]
MonitorElement * meTPPtMatchEtl2Eff_
#define DEFINE_FWK_MODULE(type)
MonitorElement * meEtlPtEff_[2]
const std::string folder_
MonitorElement * meBtlPtEff_
MonitorElement * meEtlEtaEffLowPt_[2]
Integral< F, X >::type integral(const F &f)
MonitorElement * meTPmtdEtaSelEff_
void normalize(MonitorElement *h, double scale)
MonitorElement * meTPPtMatchEff_
MonitorElement * meEtlPtEff2_[2]
MonitorElement * meExtraPtEtl2Eff_
MonitorElement * meExtraEtaEff_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
MonitorElement * meBtlEtaEff_
virtual MonitorElement * get(std::string const &fullpath) const
virtual TH1 * getTH1() const
~MtdTracksHarvester() override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * meBtlPhiEff_
virtual int getNbinsX() const
get # of bins in X-axis
MonitorElement * meNoTimeFraction_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
MonitorElement * meEtlEtaEff_[2]
MonitorElement * meTPmtdPtSelEff_
MonitorElement * meExtraMTDfailExtenderEtaEff_
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * meTPmtdPtMatchEff_
virtual double getBinContent(int binx) const
get content of bin (1-D)