diff --git a/Modules/ITS/itsChipStatus.json b/Modules/ITS/itsChipStatus.json index 819ef27dcb..9f36829352 100644 --- a/Modules/ITS/itsChipStatus.json +++ b/Modules/ITS/itsChipStatus.json @@ -49,6 +49,7 @@ "policy": "OnEachSeparately", "detectorName": "ITS", "checkParameters": { + "skipbinsStaveOverview": "", "feeidlimitsIB": "1,1", "feeidlimitsML": "1,0.87", "feeidlimitsOL": "1,0.92", @@ -57,7 +58,7 @@ "dataSource": [{ "type": "Task", "name": "ITSChipStatus", - "MOs": ["StaveStatusOverview"] + "MOs": ["StaveStatusOverview","FEEIDOverview"] }] } } diff --git a/Modules/ITS/src/ITSChipStatusCheck.cxx b/Modules/ITS/src/ITSChipStatusCheck.cxx index 869e4d733b..d0a969b033 100644 --- a/Modules/ITS/src/ITSChipStatusCheck.cxx +++ b/Modules/ITS/src/ITSChipStatusCheck.cxx @@ -30,7 +30,10 @@ namespace o2::quality_control_modules::its Quality ITSChipStatusCheck::check(std::map>* moMap) { - // limits to be used as "X,Y" --> BAD if at least X FFEIDs have at least Y chips each into error + // "bin1,bin2,bin3,..." not to be checked on the TH2Poly stave overview + std::vector skipbinsStaveOverview = convertToArray(o2::quality_control_modules::common::getFromConfig(mCustomParameters, "skipbinsStaveOverview", "")); + + // limits to be used as "X,Y" --> BAD if at least X FFEIDs have at least a fraction Y of chips each into error std::vector feeidlimitsIB = convertToArray(o2::quality_control_modules::common::getFromConfig(mCustomParameters, "feeidlimitsIB", "")); std::vector feeidlimitsML = convertToArray(o2::quality_control_modules::common::getFromConfig(mCustomParameters, "feeidlimitsML", "")); std::vector feeidlimitsOL = convertToArray(o2::quality_control_modules::common::getFromConfig(mCustomParameters, "feeidlimitsOL", "")); @@ -64,6 +67,9 @@ Quality ITSChipStatusCheck::check(std::mapGetBinContent(ibin) - 1) < 0.01) { result = Quality::Bad; TString text = Form("BAD: At least one stave is without data"); diff --git a/Modules/ITS/src/ITSFeeCheck.cxx b/Modules/ITS/src/ITSFeeCheck.cxx index 7b48d56627..538f1a6f89 100644 --- a/Modules/ITS/src/ITSFeeCheck.cxx +++ b/Modules/ITS/src/ITSFeeCheck.cxx @@ -174,12 +174,12 @@ Quality ITSFeeCheck::check(std::map> TString trgname = (TString)(h->GetYaxis()->GetBinLabel(itrg + 1)); - for (int ifee = 1; ifee <= h->GetNbinsX(); ifee++) { + for (int ifeebin = 1; ifeebin <= h->GetNbinsX(); ifeebin++) { - if (std::find(skipfeeid.begin(), skipfeeid.end(), ifee) != skipfeeid.end()) + if (std::find(skipfeeid.begin(), skipfeeid.end(), ifeebin - 1) != skipfeeid.end()) continue; - int bincontent = (int)(h->GetBinContent(ifee, itrg + 1)); + int bincontent = (int)(h->GetBinContent(ifeebin, itrg + 1)); // checking trigger flags supposed to have at least one entry if (TrgAtLeastOne.Contains(trgname)) { @@ -379,7 +379,7 @@ void ITSFeeCheck::beautify(std::shared_ptr mo, Quality checkResul tInfoLayers[ilayer]->SetNDC(); hp->GetListOfFunctions()->Add(tInfoLayers[ilayer]->Clone()); } // end check result over layer - } // end of loop over layers + } // end of loop over layers } tInfo = std::make_shared(0.05, 0.95, Form("#bf{%s}", status.Data())); tInfo->SetTextColor(textColor);