Skip to content

Commit 2bf7609

Browse files
authored
ITS - masking staves in chipstatus checker (#2661)
* ITS - masking staves in chipstatus checker * Better info text
1 parent 8aaabbe commit 2bf7609

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

Modules/ITS/itsChipStatus.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"policy": "OnEachSeparately",
5050
"detectorName": "ITS",
5151
"checkParameters": {
52+
"skipbinsStaveOverview": "",
5253
"feeidlimitsIB": "1,1",
5354
"feeidlimitsML": "1,0.87",
5455
"feeidlimitsOL": "1,0.92",
@@ -57,7 +58,7 @@
5758
"dataSource": [{
5859
"type": "Task",
5960
"name": "ITSChipStatus",
60-
"MOs": ["StaveStatusOverview"]
61+
"MOs": ["StaveStatusOverview","FEEIDOverview"]
6162
}]
6263
}
6364
}

Modules/ITS/src/ITSChipStatusCheck.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ namespace o2::quality_control_modules::its
3030
Quality ITSChipStatusCheck::check(std::map<std::string, std::shared_ptr<MonitorObject>>* moMap)
3131
{
3232

33-
// limits to be used as "X,Y" --> BAD if at least X FFEIDs have at least Y chips each into error
33+
// "bin1,bin2,bin3,..." not to be checked on the TH2Poly stave overview
34+
std::vector<int> skipbinsStaveOverview = convertToArray<int>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "skipbinsStaveOverview", ""));
35+
36+
// limits to be used as "X,Y" --> BAD if at least X FFEIDs have at least a fraction Y of chips each into error
3437
std::vector<float> feeidlimitsIB = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsIB", ""));
3538
std::vector<float> feeidlimitsML = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsML", ""));
3639
std::vector<float> feeidlimitsOL = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsOL", ""));
@@ -64,6 +67,9 @@ Quality ITSChipStatusCheck::check(std::map<std::string, std::shared_ptr<MonitorO
6467
}
6568
for (int ilayer = 0; ilayer < NLayer; ilayer++) {
6669
for (int ibin = StaveBoundary[ilayer] + 1; ibin <= StaveBoundary[ilayer + 1]; ++ibin) {
70+
if (std::find(skipbinsStaveOverview.begin(), skipbinsStaveOverview.end(), ibin) != skipbinsStaveOverview.end()) {
71+
continue;
72+
}
6773
if (abs(h->GetBinContent(ibin) - 1) < 0.01) {
6874
result = Quality::Bad;
6975
TString text = Form("BAD: At least one stave is without data");

Modules/ITS/src/ITSFeeCheck.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,12 @@ Quality ITSFeeCheck::check(std::map<std::string, std::shared_ptr<MonitorObject>>
174174

175175
TString trgname = (TString)(h->GetYaxis()->GetBinLabel(itrg + 1));
176176

177-
for (int ifee = 1; ifee <= h->GetNbinsX(); ifee++) {
177+
for (int ifeebin = 1; ifeebin <= h->GetNbinsX(); ifeebin++) {
178178

179-
if (std::find(skipfeeid.begin(), skipfeeid.end(), ifee) != skipfeeid.end())
179+
if (std::find(skipfeeid.begin(), skipfeeid.end(), ifeebin - 1) != skipfeeid.end())
180180
continue;
181181

182-
int bincontent = (int)(h->GetBinContent(ifee, itrg + 1));
182+
int bincontent = (int)(h->GetBinContent(ifeebin, itrg + 1));
183183

184184
// checking trigger flags supposed to have at least one entry
185185
if (TrgAtLeastOne.Contains(trgname)) {
@@ -379,7 +379,7 @@ void ITSFeeCheck::beautify(std::shared_ptr<MonitorObject> mo, Quality checkResul
379379
tInfoLayers[ilayer]->SetNDC();
380380
hp->GetListOfFunctions()->Add(tInfoLayers[ilayer]->Clone());
381381
} // end check result over layer
382-
} // end of loop over layers
382+
} // end of loop over layers
383383
}
384384
tInfo = std::make_shared<TLatex>(0.05, 0.95, Form("#bf{%s}", status.Data()));
385385
tInfo->SetTextColor(textColor);

0 commit comments

Comments
 (0)