63 for (
int ibin = 1; ibin <= den->
getNbinsX(); ibin++) {
71 result->setBinContent(ibin, eff);
72 result->setBinError(ibin, bin_err);
122 if (!meBTLTrackEffEtaTot || !meBTLTrackEffPhiTot || !meBTLTrackEffPtTot || !meBTLTrackEffEtaMtd ||
123 !meBTLTrackEffPhiMtd || !meBTLTrackEffPtMtd || !meETLTrackEffEtaTotZneg || !meETLTrackEffPhiTotZneg ||
124 !meETLTrackEffPtTotZneg || !meETLTrackEffEtaMtdZneg || !meETLTrackEffPhiMtdZneg || !meETLTrackEffPtMtdZneg ||
125 !meETLTrackEffEta2MtdZneg || !meETLTrackEffPhi2MtdZneg || !meETLTrackEffPt2MtdZneg || !meETLTrackEffEtaTotZpos ||
126 !meETLTrackEffPhiTotZpos || !meETLTrackEffPtTotZpos || !meETLTrackEffEtaMtdZpos || !meETLTrackEffPhiMtdZpos ||
127 !meETLTrackEffPtMtdZpos || !meETLTrackEffEta2MtdZpos || !meETLTrackEffPhi2MtdZpos || !meETLTrackEffPt2MtdZpos ||
128 !meMVATrackEffPtTot || !meMVATrackMatchedEffPtTot || !meMVATrackMatchedEffPtMtd || !meMVATrackEffEtaTot ||
129 !meMVATrackMatchedEffEtaTot || !meMVATrackMatchedEffEtaMtd || !meTrackMatchedTPEffPtTot ||
130 !meTrackMatchedTPEffPtMtd || !meTrackMatchedTPEffPtEtl2Mtd || !meTrackMatchedTPmtdEffPtTot ||
131 !meTrackMatchedTPmtdEffPtMtd || !meTrackMatchedTPEffEtaTot || !meTrackMatchedTPEffEtaMtd ||
132 !meTrackMatchedTPEffEtaEtl2Mtd || !meTrackMatchedTPmtdEffEtaTot || !meTrackMatchedTPmtdEffEtaMtd ||
133 !meNTrackingParticles || !meUnassDeposit) {
134 edm::LogError(
"MtdTracksHarvester") <<
"Monitoring histograms not found!" << std::endl;
141 " Track Efficiency VS Eta;#eta;Efficiency",
143 meBTLTrackEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
144 meBTLTrackEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
149 "Track Efficiency VS Phi;#phi [rad];Efficiency",
151 meBTLTrackEffPhiTot->
getTH1()->GetXaxis()->GetXmin(),
152 meBTLTrackEffPhiTot->
getTH1()->GetXaxis()->GetXmax());
157 "Track Efficiency VS Pt;Pt [GeV];Efficiency",
159 meBTLTrackEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
160 meBTLTrackEffPtTot->
getTH1()->GetXaxis()->GetXmax());
165 " Track Efficiency VS Eta (-Z);#eta;Efficiency",
167 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmin(),
168 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmax());
173 "Track Efficiency VS Phi (-Z);#phi [rad];Efficiency",
175 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmin(),
176 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmax());
181 "Track Efficiency VS Pt (-Z);Pt [GeV];Efficiency",
183 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmin(),
184 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmax());
189 " Track Efficiency VS Eta (+Z);#eta;Efficiency",
191 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmin(),
192 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmax());
197 "Track Efficiency VS Phi (+Z);#phi [rad];Efficiency",
199 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmin(),
200 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmax());
205 "Track Efficiency VS Pt (+Z);Pt [GeV];Efficiency",
207 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmin(),
208 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmax());
213 " Track Efficiency VS Eta (-Z, 2 hit);#eta;Efficiency",
215 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmin(),
216 meETLTrackEffEtaTotZneg->
getTH1()->GetXaxis()->GetXmax());
221 "Track Efficiency VS Phi (-Z, 2 hit);#phi [rad];Efficiency",
223 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmin(),
224 meETLTrackEffPhiTotZneg->
getTH1()->GetXaxis()->GetXmax());
229 "Track Efficiency VS Pt (-Z, 2 hit);Pt [GeV];Efficiency",
231 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmin(),
232 meETLTrackEffPtTotZneg->
getTH1()->GetXaxis()->GetXmax());
237 "Track Efficiency VS Eta (+Z, 2 hit);#eta;Efficiency",
239 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmin(),
240 meETLTrackEffEtaTotZpos->
getTH1()->GetXaxis()->GetXmax());
245 "Track Efficiency VS Phi (+Z, 2 hit);#phi [rad];Efficiency",
247 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmin(),
248 meETLTrackEffPhiTotZpos->
getTH1()->GetXaxis()->GetXmax());
253 "Track Efficiency VS Pt (+Z, 2 hit);Pt [GeV];Efficiency",
255 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmin(),
256 meETLTrackEffPtTotZpos->
getTH1()->GetXaxis()->GetXmax());
261 "Track selected efficiency VS Pt;Pt [GeV];Efficiency",
263 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
264 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmax());
269 "Track selected efficiency VS Eta;Eta;Efficiency",
271 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
272 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
277 "Track matched to GEN efficiency VS Pt;Pt [GeV];Efficiency",
279 meMVATrackMatchedEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
280 meMVATrackMatchedEffPtTot->
getTH1()->GetXaxis()->GetXmax());
285 "Track matched to GEN efficiency VS Eta;Eta;Efficiency",
287 meMVATrackMatchedEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
288 meMVATrackMatchedEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
293 "Track selected efficiency TP VS Pt;Pt [GeV];Efficiency",
295 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
296 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmax());
301 "Track selected efficiency TP VS Eta;Eta;Efficiency",
303 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
304 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
309 "Track matched to TP efficiency VS Pt;Pt [GeV];Efficiency",
311 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
312 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmax());
317 "Track matched to TP efficiency VS Eta;Eta;Efficiency",
319 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
320 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
325 "Track matched to TP efficiency VS Pt, 2 ETL hits;Pt [GeV];Efficiency",
327 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
328 meTrackMatchedTPEffPtTot->
getTH1()->GetXaxis()->GetXmax());
333 "Track matched to TP efficiency VS Eta, 2 ETL hits;Eta;Efficiency",
335 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
336 meTrackMatchedTPEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
341 "Track selected efficiency TP-mtd hit VS Pt;Pt [GeV];Efficiency",
343 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
344 meMVATrackEffPtTot->
getTH1()->GetXaxis()->GetXmax());
349 "Track selected efficiency TPmtd hit VS Eta;Eta;Efficiency",
351 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
352 meMVATrackEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
357 "Track matched to TP-mtd hit efficiency VS Pt;Pt [GeV];Efficiency",
358 meTrackMatchedTPmtdEffPtTot->
getNbinsX(),
359 meTrackMatchedTPmtdEffPtTot->
getTH1()->GetXaxis()->GetXmin(),
360 meTrackMatchedTPmtdEffPtTot->
getTH1()->GetXaxis()->GetXmax());
365 "Track matched to TP-mtd hit efficiency VS Eta;Eta;Efficiency",
366 meTrackMatchedTPmtdEffEtaTot->
getNbinsX(),
367 meTrackMatchedTPmtdEffEtaTot->
getTH1()->GetXaxis()->GetXmin(),
368 meTrackMatchedTPmtdEffEtaTot->
getTH1()->GetXaxis()->GetXmax());
373 ibook.
book1D(
"TPAssocEff",
374 "Tracking particles not associated to any MTD cell in events with at least one cell over threshold",
376 meNTrackingParticles->
getTH1()->GetXaxis()->GetXmin(),
377 meNTrackingParticles->
getTH1()->GetXaxis()->GetXmax());
384 for (
int i = 0;
i < 2;
i++) {
404 descriptions.
add(
"MtdTracksPostProcessor",
desc);
MonitorElement * meTPEtaMatchEtl2Eff_
MtdTracksHarvester(const edm::ParameterSet &iConfig)
MonitorElement * meTPEtaSelEff_
MonitorElement * meEtlEtaEff2_[2]
MonitorElement * meTPAssocEff_
MonitorElement * meTPEtaMatchEff_
MonitorElement * meMVAEtaMatchEff_
Log< level::Error, false > LogError
MonitorElement * meTPmtdEtaMatchEff_
MonitorElement * meTPPtSelEff_
MonitorElement * meEtlPhiEff2_[2]
void computeEfficiency1D(MonitorElement *num, MonitorElement *den, MonitorElement *result)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * meMVAPtSelEff_
MonitorElement * meEtlPhiEff_[2]
MonitorElement * meTPPtMatchEtl2Eff_
MonitorElement * meMVAPtMatchEff_
#define DEFINE_FWK_MODULE(type)
MonitorElement * meEtlPtEff_[2]
const std::string folder_
MonitorElement * meBtlPtEff_
MonitorElement * meTPmtdEtaSelEff_
MonitorElement * meTPPtMatchEff_
MonitorElement * meEtlPtEff2_[2]
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 * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * meMVAEtaSelEff_
MonitorElement * meEtlEtaEff_[2]
MonitorElement * meTPmtdPtSelEff_
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)