Skip to content

Commit 81e87f4

Browse files
authored
MFT: noise quality checker v2 (#2406)
1 parent c155de9 commit 81e87f4

3 files changed

Lines changed: 39 additions & 25 deletions

File tree

Modules/MFT/include/MFT/QcMFTDigitCheck.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class QcMFTDigitCheck : public o2::quality_control::checker::CheckInterface
6363
int mNoiseScan;
6464
int mNCycles;
6565
int mNCyclesNoiseMap;
66-
int mDissNoisy;
66+
int mDisNoisy;
6767
int mNewNoisy;
6868
int mTotalNoisy;
6969
std::vector<int> mNoisyPix;
@@ -80,9 +80,9 @@ class QcMFTDigitCheck : public o2::quality_control::checker::CheckInterface
8080
int mNoiseNewMediumMin;
8181
int mNoiseNewMediumMax;
8282
int mNoiseNewBadMax;
83-
int mNoiseDissMediumMin;
84-
int mNoiseDissMediumMax;
85-
int mNoiseDissBadMax;
83+
int mNoiseDisMediumMin;
84+
int mNoiseDisMediumMax;
85+
int mNoiseDisBadMax;
8686

8787
// to form the name of the masked chips histograms
8888
int mHalf[936] = { 0 };

Modules/MFT/mft-digits.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@
7474
"NoiseNewMediumMin" : "100",
7575
"NoiseNewMediumMax" : "500",
7676
"NoiseNewBadMax" : "1000",
77-
"NoiseDissMediumMin" : "100",
78-
"NoiseDissMediumMax" : "500",
79-
"NoiseDissBadMax" : "1000"
77+
"NoiseDisMediumMin" : "100",
78+
"NoiseDisMediumMax" : "500",
79+
"NoiseDisBadMax" : "1000"
8080

8181
},
8282
"dataSource" : [ {

Modules/MFT/src/QcMFTDigitCheck.cxx

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -104,28 +104,28 @@ void QcMFTDigitCheck::configure()
104104
ILOG(Info, Support) << "Custom parameter - NoiseNewBadMax: " << param->second << ENDM;
105105
mNoiseNewBadMax = stoi(param->second);
106106
}
107-
mNoiseDissMediumMin = 100;
108-
if (auto param = mCustomParameters.find("NoiseDissMediumMin"); param != mCustomParameters.end()) {
109-
ILOG(Info, Support) << "Custom parameter - NoiseNewMediumMin: " << param->second << ENDM;
110-
mNoiseDissMediumMin = stoi(param->second);
107+
mNoiseDisMediumMin = 100;
108+
if (auto param = mCustomParameters.find("NoiseDisMediumMin"); param != mCustomParameters.end()) {
109+
ILOG(Info, Support) << "Custom parameter - NoiseDisMediumMin: " << param->second << ENDM;
110+
mNoiseDisMediumMin = stoi(param->second);
111111
}
112-
mNoiseDissMediumMax = 500;
113-
if (auto param = mCustomParameters.find("NoiseDissMediumMax"); param != mCustomParameters.end()) {
114-
ILOG(Info, Support) << "Custom parameter - NoiseNewMediumMax: " << param->second << ENDM;
115-
mNoiseDissMediumMax = stoi(param->second);
112+
mNoiseDisMediumMax = 500;
113+
if (auto param = mCustomParameters.find("NoiseDisMediumMax"); param != mCustomParameters.end()) {
114+
ILOG(Info, Support) << "Custom parameter - NoiseDisMediumMax: " << param->second << ENDM;
115+
mNoiseDisMediumMax = stoi(param->second);
116116
}
117-
mNoiseDissBadMax = 1000;
118-
if (auto param = mCustomParameters.find("NoiseDissBadMax"); param != mCustomParameters.end()) {
119-
ILOG(Info, Support) << "Custom parameter - NoiseNewBadMax: " << param->second << ENDM;
120-
mNoiseDissBadMax = stoi(param->second);
117+
mNoiseDisBadMax = 1000;
118+
if (auto param = mCustomParameters.find("NoiseDisBadMax"); param != mCustomParameters.end()) {
119+
ILOG(Info, Support) << "Custom parameter - NoiseDisBadMax: " << param->second << ENDM;
120+
mNoiseDisBadMax = stoi(param->second);
121121
}
122122

123123
// no call to beautifier yet
124124
mFirstCall = true;
125125

126126
mNCycles = 0;
127127
mNewNoisy = 0;
128-
mDissNoisy = 0;
128+
mDisNoisy = 0;
129129
mTotalNoisy = 0;
130130

131131
mEmptyCount = 0;
@@ -361,7 +361,7 @@ void QcMFTDigitCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality checkR
361361

362362
for (int i = 0; i < mNewNoisyPix.size(); i++) {
363363
if (mNewNoisyPix[i] == -1 && mOldNoisyPix[i] != -1) {
364-
mDissNoisy++;
364+
mDisNoisy++;
365365
}
366366
if (mNewNoisyPix[i] != -1 && mOldNoisyPix[i] == -1) {
367367
mNewNoisy++;
@@ -371,13 +371,27 @@ void QcMFTDigitCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality checkR
371371
}
372372
}
373373
// quality of a noise scan
374-
if (((mTotalNoisy < mNoiseTotalMediumMax) && (mTotalNoisy > mNoiseTotalMediumMin)) && ((mNewNoisy < mNoiseNewMediumMax) && (mNewNoisy > mNoiseNewMediumMin)) && ((mDissNoisy < mNoiseDissMediumMax) && (mDissNoisy > mNoiseDissMediumMin))) {
374+
bool isTotalNoiseGood = (mTotalNoisy < mNoiseTotalMediumMax) && (mTotalNoisy > mNoiseTotalMediumMin);
375+
bool isNewNoiseGood = (mNewNoisy < mNoiseNewMediumMax) && (mNewNoisy > mNoiseNewMediumMin);
376+
bool isDisNoiseGood = (mDisNoisy < mNoiseDisMediumMax) && (mDisNoisy > mNoiseDisMediumMin);
377+
bool isTotalNoiseMedium = (mTotalNoisy > mNoiseTotalMediumMax && mTotalNoisy < mNoiseTotalBadMax) ||
378+
(mTotalNoisy > mNoiseTotalBadMin && mTotalNoisy < mNoiseTotalMediumMin);
379+
bool isNewNoiseMedium = (mNewNoisy < mNoiseNewMediumMin) ||
380+
(mNewNoisy > mNoiseNewMediumMax && mNewNoisy < mNoiseNewBadMax);
381+
bool isDisNoiseMedium = (mDisNoisy < mNoiseDisMediumMin) ||
382+
(mDisNoisy > mNoiseDisMediumMax && mDisNoisy < mNoiseDisBadMax);
383+
bool isTotalNoiseBad = (mTotalNoisy > mNoiseTotalBadMax) || (mTotalNoisy < mNoiseTotalBadMin);
384+
bool isNewNoiseBad = mNewNoisy > mNoiseNewBadMax;
385+
bool isDisNoiseBad = mDisNoisy > mNoiseDisBadMax;
386+
387+
if (isTotalNoiseGood && isNewNoiseGood && isDisNoiseGood) {
375388
mQualityGood = true;
376389
}
377-
if (((mTotalNoisy > mNoiseTotalMediumMax) && (mTotalNoisy < mNoiseTotalBadMax)) || ((mTotalNoisy > mNoiseTotalBadMin) && (mTotalNoisy < mNoiseTotalMediumMin)) || ((mNewNoisy < mNoiseNewMediumMin) || (mNewNoisy > mNoiseNewMediumMax && mNewNoisy < mNoiseNewBadMax)) || ((mDissNoisy < mNoiseDissMediumMin) || (mDissNoisy > mNoiseDissMediumMax && mDissNoisy < mNoiseDissBadMax))) {
390+
391+
if (isTotalNoiseMedium || isNewNoiseMedium || isDisNoiseMedium) {
378392
mQualityMedium = true;
379393
}
380-
if ((mTotalNoisy > mNoiseTotalBadMax) || (mTotalNoisy < mNoiseTotalBadMin) || (mNewNoisy > mNoiseNewBadMax) || (mDissNoisy > mNoiseDissBadMax)) {
394+
if (isTotalNoiseBad || isNewNoiseBad || isDisNoiseBad) {
381395
mQualityBad = true;
382396
mQualityMedium = false;
383397
}
@@ -388,7 +402,7 @@ void QcMFTDigitCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality checkR
388402
if (DigitOccupancy != nullptr) {
389403
TLatex* tl_total = new TLatex(0.14, 0.87, Form("Total noisy pixels: %i", mTotalNoisy));
390404
TLatex* tl_new = new TLatex(0.14, 0.83, Form("New noisy pixels: %i", mNewNoisy));
391-
TLatex* tl_dis = new TLatex(0.14, 0.79, Form("Disappeared noisy pixels: %i", mDissNoisy));
405+
TLatex* tl_dis = new TLatex(0.14, 0.79, Form("Disappeared noisy pixels: %i", mDisNoisy));
392406
TPaveText* msg = new TPaveText(0.65, 0.9, 0.95, 1.0, "NDC NB");
393407
Color_t QualityColor;
394408
if (mQualityGood) {

0 commit comments

Comments
 (0)