Skip to content

Commit 07bdae6

Browse files
Add histo for TrendingTask (#2167)
* Add histo for TrendingTask * correction
1 parent 8991a03 commit 07bdae6

11 files changed

+81
-30
lines changed

Modules/MUON/MID/include/MID/DigitsQcCheck.h

+5
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ class DigitsQcCheck : public o2::quality_control::checker::CheckInterface
5050
double mLocalBoardThreshold = 400; ///! Threshold on board multiplicity (kHz)
5151
int mNbBadLocalBoard = 10; ///! Maximum number of local boards above threshold
5252

53+
int nEmptyLB = 0;
54+
int nBadLB = 0;
55+
double maxVal = 0;
56+
double minVal = 1000;
57+
5358
std::unordered_map<std::string, Quality> mQualityMap; ///! Quality map
5459

5560
HistoHelper mHistoHelper; ///! Histogram helper

Modules/MUON/MID/include/MID/DigitsQcTask.h

+4
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ class DigitsQcTask final : public TaskInterface
6565

6666
std::unique_ptr<TH1F> mNbDigitTF{ nullptr };
6767

68+
std::unique_ptr<TH1F> mNbLBEmpty{ nullptr };
69+
std::unique_ptr<TH1F> mNbLBHighRate{ nullptr };
70+
std::unique_ptr<TH1F> mLBHighRate{ nullptr };
71+
6872
std::array<std::unique_ptr<TH1F>, 5> mMultHitB{};
6973
std::array<std::unique_ptr<TH1F>, 5> mMultHitNB{};
7074
std::unique_ptr<TH1F> mMeanMultiHits;

Modules/MUON/MID/include/MID/TracksQcTask.h

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class TracksQcTask final : public TaskInterface
6363
std::shared_ptr<TH1F> mTrackPT{ nullptr };
6464

6565
std::shared_ptr<TProfile> mTrackRatio44{ nullptr };
66+
std::shared_ptr<TH1F> mGTrackRatio44{ nullptr };
6667
std::shared_ptr<TProfile> mTrackBDetRatio44{ nullptr };
6768
std::shared_ptr<TProfile> mTrackNBDetRatio44{ nullptr };
6869
std::shared_ptr<TProfile> mTrackLocRatio44{ nullptr };

Modules/MUON/MID/src/CalibMQcTask.cxx

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void CalibMQcTask::initialize(o2::framework::InitContext& /*ctx*/)
8383

8484
void CalibMQcTask::startOfActivity(const Activity& /*activity*/)
8585
{
86+
reset();
8687
}
8788

8889
void CalibMQcTask::startOfCycle()
@@ -122,6 +123,7 @@ void CalibMQcTask::endOfCycle()
122123

123124
void CalibMQcTask::endOfActivity(const Activity& /*activity*/)
124125
{
126+
reset();
125127
}
126128

127129
void CalibMQcTask::resetDisplayHistos()

Modules/MUON/MID/src/CalibQcTask.cxx

+2
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ void CalibQcTask::initialize(o2::framework::InitContext& /*ctx*/)
9292

9393
void CalibQcTask::startOfActivity(const Activity& /*activity*/)
9494
{
95+
reset();
9596
}
9697

9798
void CalibQcTask::startOfCycle()
@@ -158,6 +159,7 @@ void CalibQcTask::endOfCycle()
158159

159160
void CalibQcTask::endOfActivity(const Activity& /*activity*/)
160161
{
162+
reset();
161163
}
162164

163165
void CalibQcTask::resetDisplayHistos()

Modules/MUON/MID/src/ClustQcTask.cxx

+2-8
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ void ClustQcTask::initialize(o2::framework::InitContext& /*ctx*/)
123123
void ClustQcTask::startOfActivity(const Activity& /*activity*/)
124124
{
125125
ILOG(Info, Devel) << "startOfActivity" << ENDM;
126+
reset();
126127
}
127128

128129
void ClustQcTask::startOfCycle()
@@ -193,22 +194,15 @@ void ClustQcTask::monitorData(o2::framework::ProcessingContext& ctx)
193194

194195
void ClustQcTask::endOfCycle()
195196
{
196-
// ILOG(Info, Devel) << "endOfCycle" << ENDM;
197-
// printf(" =================== > test endOfCycle Clust \n");
198197
}
199198

200199
void ClustQcTask::endOfActivity(const Activity& /*activity*/)
201200
{
202-
// ILOG(Info, Devel) << "endOfActivity" << ENDM;
203-
// printf(" =================== > test endOfActivity Clust \n");
201+
reset();
204202
}
205203

206204
void ClustQcTask::reset()
207205
{
208-
// clean all the monitor objects here
209-
210-
// ILOG(Info, Devel) << "Resetting the histogram" << ENDM;
211-
// printf(" =================== > test reset Clust \n");
212206
mNbClusterTF->Reset();
213207

214208
mClusterMap11->Reset();

Modules/MUON/MID/src/DigitsQcCheck.cxx

+37-6
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,33 @@ Quality DigitsQcCheck::check(std::map<std::string, std::shared_ptr<MonitorObject
120120
for (auto& item : *moMap) {
121121
if (item.second->getName() == "LocalBoardsMap") {
122122
if (mHistoHelper.getNTFs() > 0) {
123-
int nEmptyLB = 0;
124-
int nBadLB = 0;
123+
nEmptyLB = 0;
124+
nBadLB = 0;
125+
maxVal = 0;
126+
minVal = 1000;
125127
auto histo = static_cast<TH2F*>(item.second->getObject());
126128
mHistoHelper.normalizeHistoTokHz(histo);
127129
for (int bx = 1; bx < 15; bx++) {
128130
for (int by = 1; by < 37; by++) {
129131
if (!((bx > 6) && (bx < 9) && (by > 15) && (by < 22))) { // central zone empty
130132
double val = histo->GetBinContent(bx, by);
133+
if (val > maxVal) {
134+
maxVal = val;
135+
}
136+
if (val < minVal) {
137+
minVal = val;
138+
}
131139
if (val == 0) {
132140
nEmptyLB++;
133141
} else if (val > mLocalBoardThreshold) {
134142
nBadLB++;
135143
}
136-
if ((bx == 1) || (bx == 14) || (by == 1) || (by == 33))
137-
by += 3; // zones 1 board
138-
else if (!((bx > 4) && (bx < 11) && (by > 12) && (by < 25)))
139-
by += 1; // zones 2 boards
144+
if ((bx == 1) || (bx == 14) || (by == 1) || (by == 33)) {
145+
by += 3;
146+
} // zones 1 board
147+
else if (!((bx > 4) && (bx < 11) && (by > 12) && (by < 25))) {
148+
by += 1;
149+
} // zones 2 boards
140150
}
141151
}
142152
}
@@ -159,6 +169,27 @@ Quality DigitsQcCheck::check(std::map<std::string, std::shared_ptr<MonitorObject
159169
mQualityMap[item.second->getName()] = qual;
160170
} // if mNTFInSeconds > 0.
161171
}
172+
if (item.second->getName() == "NbLBEmpty") {
173+
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
174+
if (histo) {
175+
histo->SetBins(1, nEmptyLB - 0.5, nEmptyLB + 0.5);
176+
histo->Fill(nEmptyLB);
177+
}
178+
}
179+
if (item.second->getName() == "NbLBHighRate") {
180+
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
181+
if (histo) {
182+
histo->SetBins(1, nBadLB - 0.5, nBadLB + 0.5);
183+
histo->Fill(nBadLB);
184+
}
185+
}
186+
if (item.second->getName() == "LBHighRate") {
187+
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
188+
if (histo) {
189+
histo->SetBins(1, maxVal - 0.5, maxVal + 0.5);
190+
histo->Fill(maxVal);
191+
}
192+
}
162193
}
163194
return result;
164195
}

Modules/MUON/MID/src/DigitsQcTask.cxx

+14
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,15 @@ void DigitsQcTask::initialize(o2::framework::InitContext& /*ctx*/)
4343
mROFTimeDiff->SetOption("colz");
4444
getObjectsManager()->startPublishing(mROFTimeDiff.get());
4545

46+
mNbLBEmpty = std::make_unique<TH1F>("NbLBEmpty", "NbLocalBoardEmpty", 1, 0, 1.);
47+
getObjectsManager()->startPublishing(mNbLBEmpty.get());
48+
49+
mNbLBHighRate = std::make_unique<TH1F>("NbLBHighRate", "NbLocalBoardHighRate", 1, 0, 1.);
50+
getObjectsManager()->startPublishing(mNbLBHighRate.get());
51+
52+
mLBHighRate = std::make_unique<TH1F>("LBHighRate", "LocalBoardHigherRate", 1, 0, 1.);
53+
getObjectsManager()->startPublishing(mLBHighRate.get());
54+
4655
std::array<string, 4> chId{ "11", "12", "21", "22" };
4756

4857
for (size_t ich = 0; ich < 5; ++ich) {
@@ -102,6 +111,7 @@ void DigitsQcTask::initialize(o2::framework::InitContext& /*ctx*/)
102111

103112
void DigitsQcTask::startOfActivity(const Activity& /*activity*/)
104113
{
114+
reset();
105115
}
106116

107117
void DigitsQcTask::startOfCycle()
@@ -167,6 +177,7 @@ void DigitsQcTask::endOfCycle()
167177

168178
void DigitsQcTask::endOfActivity(const Activity& /*activity*/)
169179
{
180+
reset();
170181
}
171182

172183
void DigitsQcTask::resetDisplayHistos()
@@ -188,6 +199,9 @@ void DigitsQcTask::reset()
188199

189200
mNbDigitTF->Reset();
190201
mROFTimeDiff->Reset();
202+
mNbLBEmpty->Reset();
203+
mNbLBHighRate->Reset();
204+
mLBHighRate->Reset();
191205

192206
for (auto& histo : mMultHitB) {
193207
histo->Reset();

Modules/MUON/MID/src/MIDTrending.cxx

-4
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,6 @@ void MIDTrending::generatePlots(repository::DatabaseInterface& qcdb)
132132

133133
for (const auto& plot : mConfig.plots) {
134134

135-
// TEST VR
136-
// if (plot.varexp.find("binContent") == std::string::npos)
137-
// continue;
138-
139135
mCanvasMID.push_back(std::make_unique<TCanvas>(plot.name.c_str(), plot.title.c_str()));
140136
mCanvasMID[mPlot].get()->cd();
141137

Modules/MUON/MID/src/RawQcTask.cxx

+2
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ void RawQcTask::startOfActivity(const Activity& /*activity*/)
159159
{
160160
ILOG(Info, Devel) << "startOfActivity" << ENDM;
161161
// printf(" =================== > test startOfActivity RAW \n");
162+
reset();
162163
}
163164

164165
void RawQcTask::startOfCycle()
@@ -266,6 +267,7 @@ void RawQcTask::endOfActivity(const Activity& /*activity*/)
266267
{
267268
ILOG(Info, Devel) << "endOfActivity" << ENDM;
268269
// printf(" =================== > test endOfActivity RAW \n");
270+
reset();
269271
}
270272

271273
void RawQcTask::reset()

Modules/MUON/MID/src/TracksQcTask.cxx

+12-12
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,10 @@ void TracksQcTask::initialize(o2::framework::InitContext& /*ctx*/)
141141
mTrackPT->GetXaxis()->SetTitle("Track pT");
142142
mTrackPT->GetYaxis()->SetTitle("Entry");
143143

144-
mTrackRatio44 = std::make_shared<TProfile>("TrackRatio44", "Track 44/all ", 9, 0., 9.);
145-
// mTrackRatio44 = std::make_shared<TH1F>("TrackRatio44", "Track 44/all ", 9, 0., 9.);
144+
mGTrackRatio44 = std::make_shared<TH1F>("GTrackRatio44", "Track 44/all ", 2, -0.5, 1.5);
145+
getObjectsManager()->startPublishing(mGTrackRatio44.get());
146+
147+
mTrackRatio44 = std::make_shared<TProfile>("TrackRatio44", "Track 44/all", 9, 0., 9.);
146148
getObjectsManager()->startPublishing(mTrackRatio44.get());
147149
mTrackRatio44->GetXaxis()->SetBinLabel(1, "Global");
148150
mTrackRatio44->GetXaxis()->SetBinLabel(2, "MT11 Bend");
@@ -266,23 +268,16 @@ void TracksQcTask::initialize(o2::framework::InitContext& /*ctx*/)
266268
}
267269
void TracksQcTask::startOfActivity(const Activity& activity)
268270
{
269-
// THUS FUNCTION BODY IS AN EXAMPLE. PLEASE REMOVE EVERYTHING YOU DO NOT NEED.
270271
ILOG(Info, Devel) << "startOfActivity " << activity.mId << ENDM;
271-
// printf(" =================== > test startOfActivity Tracks \n");
272+
reset();
272273
}
273274

274275
void TracksQcTask::startOfCycle()
275276
{
276-
// THUS FUNCTION BODY IS AN EXAMPLE. PLEASE REMOVE EVERYTHING YOU DO NOT NEED.
277-
// ILOG(Info, Devel) << "startOfCycle" << ENDM;
278-
// printf(" =================== > test startOfCycle Tracks \n");
279277
}
280278

281279
void TracksQcTask::monitorData(o2::framework::ProcessingContext& ctx)
282280
{
283-
// ILOG(Info, Devel) << "monitorData" << ENDM;
284-
// printf(" =================== > test monitorData Tracks\n");
285-
286281
auto tracks = ctx.inputs().get<gsl::span<o2::mid::Track>>("tracks");
287282
auto rofs = ctx.inputs().get<gsl::span<o2::mid::ROFRecord>>("trackrofs");
288283

@@ -367,10 +362,13 @@ void TracksQcTask::monitorData(o2::framework::ProcessingContext& ctx)
367362
float DetEff = 0.;
368363
if (EffFlag > 0) {
369364
multTracksTot++;
370-
if (HitMap == 0xFF)
365+
if (HitMap == 0xFF) {
371366
mTrackRatio44->Fill(0.5, 1.); // multTracks44Tot++;
372-
else
367+
mGTrackRatio44->Fill(1.);
368+
} else {
373369
mTrackRatio44->Fill(0.5, 0.);
370+
mGTrackRatio44->Fill(0.);
371+
}
374372

375373
// track.isFiredChamber(i,j) :: i=0->3 (MT11->MT22) ; j=0->1 (BP->NBP)
376374
uint8_t HitMapB = HitMap & 0xF;
@@ -498,6 +496,7 @@ void TracksQcTask::endOfCycle()
498496
void TracksQcTask::endOfActivity(const Activity& /*activity*/)
499497
{
500498
ILOG(Info, Devel) << "endOfActivity" << ENDM;
499+
reset();
501500
}
502501

503502
void TracksQcTask::reset()
@@ -519,6 +518,7 @@ void TracksQcTask::reset()
519518
mTrackThetaD->Reset();
520519
mTrackPT->Reset();
521520
mTrackRatio44->Reset();
521+
mGTrackRatio44->Reset();
522522
mTrackBDetRatio44->Reset();
523523
mTrackNBDetRatio44->Reset();
524524
mTrackLocRatio44->Reset();

0 commit comments

Comments
 (0)