34 if (!igetter.
get(
"CertificationSummary")) {
35 totalCertFraction = ibooker.
bookFloat(
"CertificationSummary");
36 totalCertFraction->
Fill(-1);
39 certMap = ibooker.
book2D(
"CertificationSummaryMap",
"DT Certification Summary Map", 12, 1, 13, 5, -2, 3);
41 certMap->setAxisTitle(
"wheel", 2);
45 for (
int wheel = -2; wheel != 3; ++wheel) {
47 streams <<
"DT_Wheel" << wheel;
48 certFractions[wheel] = ibooker.
bookFloat(streams.str());
49 certFractions[wheel]->
Fill(-1);
60 MonitorElement* effSummary = igetter.
get(
"DT/05-ChamberEff/EfficiencyGlbSummary");
65 if (effSummary ==
nullptr || resSummary ==
nullptr || segQualSummary ==
nullptr) {
66 LogWarning(
"DQM|DTMonitorClient|DTCertificationSummary")
67 <<
"*** Warning: not all needed summaries are present!" << endl;
72 totalCertFraction->Fill(0.);
73 certFractions[-2]->Fill(0.);
74 certFractions[-1]->Fill(0.);
75 certFractions[-0]->Fill(0.);
76 certFractions[1]->Fill(0.);
77 certFractions[2]->Fill(0.);
81 for (
int wheel = -2; wheel != 3; ++wheel) {
82 for (
int sector = 1; sector != 13; ++sector) {
85 double segQual = segQualSummary->
getBinContent(sector, wheel + 3);
89 total =
min(res, eff);
94 certMap->Fill(sector, wheel, total);
97 certFractions[wheel]->Fill(certFractions[wheel]->getFloatValue() + weight * total);
98 double totalWeight = 1. / 60.;
99 totalCertFraction->Fill(totalCertFraction->getFloatValue() + totalWeight *
total);
void beginRun(const edm::Run &run, const edm::EventSetup &setup) override
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
virtual void setCurrentFolder(std::string const &fullpath)
DTCertificationSummary(const edm::ParameterSet &pset)
Constructor.
void endRun(const edm::Run &run, const edm::EventSetup &setup) override
virtual MonitorElement * get(std::string const &fullpath) const
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
DQM Client Diagnostic in offline mode.
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic in online mode.
~DTCertificationSummary() override
Destructor.
Log< level::Warning, false > LogWarning
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)