diff --git a/Modules/TRD/include/TRD/DigitsTask.h b/Modules/TRD/include/TRD/DigitsTask.h index 82c3d19c80..e1ad5565d0 100644 --- a/Modules/TRD/include/TRD/DigitsTask.h +++ b/Modules/TRD/include/TRD/DigitsTask.h @@ -45,6 +45,7 @@ class DigitsTask final : public TaskInterface void monitorData(o2::framework::ProcessingContext& ctx) override; void endOfCycle() override; void endOfActivity(const Activity& activity) override; + void finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) override; void reset() override; void buildHistograms(); void drawLinesOnPulseHeight(TH1F* h); @@ -84,7 +85,6 @@ class DigitsTask final : public TaskInterface // CCDB objects const o2::trd::NoiseStatusMCM* mNoiseMap = nullptr; - const std::array* mChamberStatus = nullptr; }; } // namespace o2::quality_control_modules::trd diff --git a/Modules/TRD/include/TRD/TrackletsTask.h b/Modules/TRD/include/TRD/TrackletsTask.h index eb8c65db46..35e200eb5f 100644 --- a/Modules/TRD/include/TRD/TrackletsTask.h +++ b/Modules/TRD/include/TRD/TrackletsTask.h @@ -43,6 +43,7 @@ class TrackletsTask final : public TaskInterface void monitorData(o2::framework::ProcessingContext& ctx) override; void endOfCycle() override; void endOfActivity(const Activity& activity) override; + void finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) override; void reset() override; void buildHistograms(); @@ -64,7 +65,6 @@ class TrackletsTask final : public TaskInterface // data to pull from CCDB const o2::trd::NoiseStatusMCM* mNoiseMap = nullptr; - const std::array* mChamberStatus = nullptr; }; } // namespace o2::quality_control_modules::trd diff --git a/Modules/TRD/src/DigitsTask.cxx b/Modules/TRD/src/DigitsTask.cxx index 16ac5e2208..b565846f40 100644 --- a/Modules/TRD/src/DigitsTask.cxx +++ b/Modules/TRD/src/DigitsTask.cxx @@ -146,17 +146,7 @@ void DigitsTask::monitorData(o2::framework::ProcessingContext& ctx) mNoiseMap = ptr.get(); } - if (!mChamberStatus) { - auto ptr = ctx.inputs().get*>("fedChamberStatus"); - mChamberStatus = ptr.get(); - // LB: only draw in plots if it is first instance, e.g. null ptr to non null ptr - if (mChamberStatus) { - // LB: no half chamber distribution map for Digits, pass it as null pointer - TRDHelpers::drawChamberStatusOnHistograms(mChamberStatus, nullptr, mLayers, NCOLUMN); - } else { - ILOG(Info, Support) << "Failed to retrieve ChamberStatus, so it will not show on plots" << ENDM; - } - } + auto ptr = ctx.inputs().get*>("fedChamberStatus"); // fill histograms auto digits = ctx.inputs().get>("digits"); @@ -343,6 +333,14 @@ void DigitsTask::endOfActivity(const Activity& /*activity*/) ILOG(Debug, Devel) << "endOfActivity" << ENDM; } +void DigitsTask::finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) +{ + if (matcher == o2::framework::ConcreteDataMatcher("TRD", "FCHSTATUS", 0)) { + // LB: no half chamber distribution map for Digits, pass it as null pointer + TRDHelpers::drawChamberStatusOnHistograms(static_cast*>(obj), nullptr, mLayers, NCOLUMN); + } +} + void DigitsTask::reset() { // clean all the monitor objects here diff --git a/Modules/TRD/src/TrackletsTask.cxx b/Modules/TRD/src/TrackletsTask.cxx index 018ad7f0d3..c9201794a0 100644 --- a/Modules/TRD/src/TrackletsTask.cxx +++ b/Modules/TRD/src/TrackletsTask.cxx @@ -138,16 +138,7 @@ void TrackletsTask::monitorData(o2::framework::ProcessingContext& ctx) mNoiseMap = ptr.get(); } - if (!mChamberStatus) { - auto ptr = ctx.inputs().get*>("fedChamberStatus"); - mChamberStatus = ptr.get(); - // LB: only draw in plots if it is first instance, e.g. null ptr to non null ptr - if (mChamberStatus) { - TRDHelpers::drawChamberStatusOnHistograms(mChamberStatus, mTrackletsPerHC2D, mLayers, NCOLUMN / NSECTOR); - } else { - ILOG(Info, Support) << "Failed to retrieve ChamberStatus, so it will not show on plots" << ENDM; - } - } + auto ptr = ctx.inputs().get*>("fedChamberStatus"); // Fill histograms auto tracklets = ctx.inputs().get>("tracklets"); @@ -204,6 +195,13 @@ void TrackletsTask::endOfActivity(const Activity& /*activity*/) ILOG(Debug, Devel) << "endOfActivity" << ENDM; } +void TrackletsTask::finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) +{ + if (matcher == o2::framework::ConcreteDataMatcher("TRD", "FCHSTATUS", 0)) { + TRDHelpers::drawChamberStatusOnHistograms(static_cast*>(obj), mTrackletsPerHC2D, mLayers, NCOLUMN / NSECTOR); + } +} + void TrackletsTask::reset() { // clean all the monitor objects here