Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Modules/ITS/itsChipStatus.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"policy": "OnEachSeparately",
"detectorName": "ITS",
"checkParameters": {
"skipbinsStaveOverview": "",
"feeidlimitsIB": "1,1",
"feeidlimitsML": "1,0.87",
"feeidlimitsOL": "1,0.92",
Expand All @@ -57,7 +58,7 @@
"dataSource": [{
"type": "Task",
"name": "ITSChipStatus",
"MOs": ["StaveStatusOverview"]
"MOs": ["StaveStatusOverview","FEEIDOverview"]
}]
}
}
Expand Down
8 changes: 7 additions & 1 deletion Modules/ITS/src/ITSChipStatusCheck.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ namespace o2::quality_control_modules::its
Quality ITSChipStatusCheck::check(std::map<std::string, std::shared_ptr<MonitorObject>>* 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<int> skipbinsStaveOverview = convertToArray<int>(o2::quality_control_modules::common::getFromConfig<std::string>(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<float> feeidlimitsIB = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsIB", ""));
std::vector<float> feeidlimitsML = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsML", ""));
std::vector<float> feeidlimitsOL = convertToArray<float>(o2::quality_control_modules::common::getFromConfig<std::string>(mCustomParameters, "feeidlimitsOL", ""));
Expand Down Expand Up @@ -64,6 +67,9 @@ Quality ITSChipStatusCheck::check(std::map<std::string, std::shared_ptr<MonitorO
}
for (int ilayer = 0; ilayer < NLayer; ilayer++) {
for (int ibin = StaveBoundary[ilayer] + 1; ibin <= StaveBoundary[ilayer + 1]; ++ibin) {
if (std::find(skipbinsStaveOverview.begin(), skipbinsStaveOverview.end(), ibin) != skipbinsStaveOverview.end()) {
continue;
}
if (abs(h->GetBinContent(ibin) - 1) < 0.01) {
result = Quality::Bad;
TString text = Form("BAD: At least one stave is without data");
Expand Down
8 changes: 4 additions & 4 deletions Modules/ITS/src/ITSFeeCheck.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,12 @@ Quality ITSFeeCheck::check(std::map<std::string, std::shared_ptr<MonitorObject>>

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)) {
Expand Down Expand Up @@ -379,7 +379,7 @@ void ITSFeeCheck::beautify(std::shared_ptr<MonitorObject> 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<TLatex>(0.05, 0.95, Form("#bf{%s}", status.Data()));
tInfo->SetTextColor(textColor);
Expand Down
Loading