Skip to content

Commit 0bd4450

Browse files
authored
[MCH] make several pedestals plots optional (#2030)
Several detailed plots for the pedestals calibrations are made optional and disabled by default, to minimize the number of published plots for standard calibration runs
1 parent dea1ef1 commit 0bd4450

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

Modules/MUON/MCH/include/MCH/PedestalsTask.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,17 @@ class PedestalsTask final : public TaskInterface
5454

5555
private:
5656
template <typename T>
57-
void publishObject(T* histo, std::string drawOption, bool statBox)
57+
void publishObject(T* histo, std::string drawOption, bool statBox, bool doPublish = true)
5858
{
5959
histo->SetOption(drawOption.c_str());
6060
if (!statBox) {
6161
histo->SetStats(0);
6262
}
6363
mAllHistograms.push_back(histo);
64-
getObjectsManager()->startPublishing(histo);
65-
getObjectsManager()->setDefaultDrawOptions(histo, drawOption);
64+
if (doPublish) {
65+
getObjectsManager()->startPublishing(histo);
66+
getObjectsManager()->setDefaultDrawOptions(histo, drawOption);
67+
}
6668
}
6769

6870
/// check if a given electronics channel is associated with a detector pad
@@ -87,6 +89,8 @@ class PedestalsTask final : public TaskInterface
8789
o2::mch::raw::FeeLink2SolarMapper mFeeLink2SolarMapper;
8890
o2::mch::raw::Solar2FeeLinkMapper mSolar2FeeLinkMapper;
8991

92+
bool mFullHistos{ false };
93+
9094
/// helper class that performs the actual computation of the pedestals from the input digits
9195
o2::mch::calibration::PedestalData mPedestalData;
9296

Modules/MUON/MCH/src/PedestalsTask.cxx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ PedestalsTask::~PedestalsTask()
5757
void PedestalsTask::initialize(o2::framework::InitContext& /*ctx*/)
5858
{
5959
ILOG(Debug, Devel) << "initialize PedestalsTask" << ENDM;
60+
// flag to enable extra disagnostics plots
61+
mFullHistos = false;
62+
if (auto param = mCustomParameters.find("FullHistos"); param != mCustomParameters.end()) {
63+
if (param->second == "true" || param->second == "True" || param->second == "TRUE") {
64+
mFullHistos = true;
65+
}
66+
}
6067

6168
mElec2DetMapper = o2::mch::raw::createElec2DetMapper<o2::mch::raw::ElectronicMapperGenerated>();
6269
mDet2ElecMapper = o2::mch::raw::createDet2ElecMapper<o2::mch::raw::ElectronicMapperGenerated>();
@@ -124,55 +131,54 @@ void PedestalsTask::initialize(o2::framework::InitContext& /*ctx*/)
124131
auto hNoiseDE = std::make_shared<TH1F>(TString::Format("%sNoise_Distr_DE%03d_b_%d", getHistoPath(de).c_str(), de, pi),
125132
TString::Format("Noise distribution (DE%03d B, %d)", de, pi), 1000, 0, 10);
126133
mHistogramNoiseDistributionDE[pi][0].insert(make_pair(de, hNoiseDE));
127-
publishObject(hNoiseDE.get(), "hist", false);
134+
publishObject(hNoiseDE.get(), "hist", false, mFullHistos);
128135

129136
hNoiseDE = std::make_shared<TH1F>(TString::Format("%sNoise_Distr_DE%03d_nb_%d", getHistoPath(de).c_str(), de, pi),
130137
TString::Format("Noise distribution (DE%03d NB, %d)", de, pi), 1000, 0, 10);
131138
mHistogramNoiseDistributionDE[pi][1].insert(make_pair(de, hNoiseDE));
132-
publishObject(hNoiseDE.get(), "hist", false);
139+
publishObject(hNoiseDE.get(), "hist", false, mFullHistos);
133140
}
134-
135141
{
136142
auto hStatXY = std::make_shared<DetectorHistogram>(TString::Format("%sStatistics_XY_B_%03d", getHistoPath(de).c_str(), de),
137143
TString::Format("Statistics (DE%03d B)", de), de, 0);
138144
mHistogramStatXY[0].insert(make_pair(de, hStatXY));
139-
publishObject(hStatXY->getHist(), "colz", false);
145+
publishObject(hStatXY->getHist(), "colz", false, mFullHistos);
140146

141147
auto hPedXY = std::make_shared<DetectorHistogram>(TString::Format("%sPedestals_XY_B_%03d", getHistoPath(de).c_str(), de),
142148
TString::Format("Pedestals (DE%03d B)", de), de, 0);
143149
mHistogramPedestalsXY[0].insert(make_pair(de, hPedXY));
144-
publishObject(hPedXY->getHist(), "colz", false);
150+
publishObject(hPedXY->getHist(), "colz", false, mFullHistos);
145151

146152
auto hNoiseXY = std::make_shared<DetectorHistogram>(TString::Format("%sNoise_XY_B_%03d", getHistoPath(de).c_str(), de),
147153
TString::Format("Noise (DE%03d B)", de), de, 0);
148154
mHistogramNoiseXY[0].insert(make_pair(de, hNoiseXY));
149-
publishObject(hNoiseXY->getHist(), "colz", false);
155+
publishObject(hNoiseXY->getHist(), "colz", false, mFullHistos);
150156

151157
auto hBadChannelsXY = std::make_shared<DetectorHistogram>(TString::Format("%sBadChannels_XY_B_%03d", getHistoPath(de).c_str(), de),
152158
TString::Format("Bad Channels (DE%03d B)", de), de, 0);
153159
mHistogramBadChannelsXY[0].insert(make_pair(de, hBadChannelsXY));
154-
publishObject(hBadChannelsXY->getHist(), "colz", false);
160+
publishObject(hBadChannelsXY->getHist(), "colz", false, mFullHistos);
155161
}
156162
{
157163
auto hStatXY = std::make_shared<DetectorHistogram>(TString::Format("%sStatistics_XY_NB_%03d", getHistoPath(de).c_str(), de),
158164
TString::Format("Statistics (DE%03d NB)", de), de, 1);
159165
mHistogramStatXY[1].insert(make_pair(de, hStatXY));
160-
publishObject(hStatXY->getHist(), "colz", false);
166+
publishObject(hStatXY->getHist(), "colz", false, mFullHistos);
161167

162168
auto hPedXY = std::make_shared<DetectorHistogram>(TString::Format("%sPedestals_XY_NB_%03d", getHistoPath(de).c_str(), de),
163169
TString::Format("Pedestals (DE%03d NB)", de), de, 1);
164170
mHistogramPedestalsXY[1].insert(make_pair(de, hPedXY));
165-
publishObject(hPedXY->getHist(), "colz", false);
171+
publishObject(hPedXY->getHist(), "colz", false, mFullHistos);
166172

167173
auto hNoiseXY = std::make_shared<DetectorHistogram>(TString::Format("%sNoise_XY_NB_%03d", getHistoPath(de).c_str(), de),
168174
TString::Format("Noise (DE%03d NB)", de), de, 1);
169175
mHistogramNoiseXY[1].insert(make_pair(de, hNoiseXY));
170-
publishObject(hNoiseXY->getHist(), "colz", false);
176+
publishObject(hNoiseXY->getHist(), "colz", false, mFullHistos);
171177

172178
auto hBadChannelsXY = std::make_shared<DetectorHistogram>(TString::Format("%sBadChannels_XY_NB_%03d", getHistoPath(de).c_str(), de),
173179
TString::Format("Bad Channels (DE%03d NB)", de), de, 1);
174180
mHistogramBadChannelsXY[1].insert(make_pair(de, hBadChannelsXY));
175-
publishObject(hBadChannelsXY->getHist(), "colz", false);
181+
publishObject(hBadChannelsXY->getHist(), "colz", false, mFullHistos);
176182
}
177183
}
178184

0 commit comments

Comments
 (0)