Skip to content

Commit 0bd0230

Browse files
authored
ITS/general: added extendedTaskParameters for ITS (#2501)
* Added user defined checks for Cluster and FEE tasks * Clang format * Clang2 * Clang3
1 parent 195c178 commit 0bd0230

File tree

4 files changed

+84
-5
lines changed

4 files changed

+84
-5
lines changed

Modules/ITS/itsCluster.json

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
},
1111
"Activity": {
1212
"number": "42",
13-
"type": "NONE"
13+
"type": "PHYSICS",
14+
"beamType" : "PbPb", "": "Beam type: `PROTON-PROTON`, `Pb-Pb`, `Pb-PROTON` "
1415
},
1516
"monitoring": {
1617
"url": "infologger:///debug?qc"
@@ -68,6 +69,57 @@
6869
"textMessage": ""
6970

7071
},
72+
"extendedCheckParameters": {
73+
"default": {
74+
"default": {
75+
"maxcluoccL0": "5",
76+
"maxcluoccL1": "3",
77+
"maxcluoccL2": "3",
78+
"maxcluoccL3": "0.3",
79+
"maxcluoccL4": "0.3",
80+
"maxcluoccL5": "0.2",
81+
"maxcluoccL6": "0.2"
82+
}
83+
},
84+
"PHYSICS": {
85+
"default": {
86+
"maxcluoccL0": "5",
87+
"maxcluoccL1": "3",
88+
"maxcluoccL2": "3",
89+
"maxcluoccL3": "0.3",
90+
"maxcluoccL4": "0.3",
91+
"maxcluoccL5": "0.2",
92+
"maxcluoccL6": "0.2"
93+
},
94+
"PROTON-PROTON": {
95+
"maxcluoccL0": "5",
96+
"maxcluoccL1": "3",
97+
"maxcluoccL2": "3",
98+
"maxcluoccL3": "0.3",
99+
"maxcluoccL4": "0.3",
100+
"maxcluoccL5": "0.2",
101+
"maxcluoccL6": "0.2"
102+
},
103+
"Pb-Pb": {
104+
"maxcluoccL0": "65",
105+
"maxcluoccL1": "35",
106+
"maxcluoccL2": "25",
107+
"maxcluoccL3": "1",
108+
"maxcluoccL4": "1",
109+
"maxcluoccL5": "1",
110+
"maxcluoccL6": "1"
111+
}
112+
},
113+
"COSMICS": {
114+
"maxcluoccL0": "5",
115+
"maxcluoccL1": "3",
116+
"maxcluoccL2": "3",
117+
"maxcluoccL3": "0.3",
118+
"maxcluoccL4": "0.3",
119+
"maxcluoccL5": "0.2",
120+
"maxcluoccL6": "0.2"
121+
}
122+
},
71123
"dataSource": [
72124
{
73125
"type": "Task",

Modules/ITS/itsFee.json

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
"name": "not_applicable"
1010
},
1111
"Activity": {
12-
"number": "42",
13-
"type": "NONE"
12+
"number": "42",
13+
"type": "PHYSICS",
14+
"beamType" : "PbPb", "": "Beam type: `PROTON-PROTON`, `Pb-Pb`, `Pb-PROTON` "
1415
},
1516
"monitoring": {
1617
"url": "infologger:///debug?qc"
@@ -66,6 +67,27 @@
6667
"plotWithTextMessage": "",
6768
"textMessage": ""
6869
},
70+
"extendedCheckParameters": {
71+
"default": {
72+
"default": {
73+
"expectedROFperOrbit": "18"
74+
}
75+
},
76+
"PHYSICS": {
77+
"default": {
78+
"expectedROFperOrbit": "18"
79+
},
80+
"PROTON-PROTON": {
81+
"expectedROFperOrbit": "18"
82+
},
83+
"Pb-Pb": {
84+
"expectedROFperOrbit": "6"
85+
}
86+
},
87+
"COSMICS": {
88+
"expectedROFperOrbit": "18"
89+
}
90+
},
6991
"dataSource": [
7092
{
7193
"type": "Task",

Modules/ITS/src/ITSClusterCheck.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ Quality ITSClusterCheck::check(std::map<std::string, std::shared_ptr<MonitorObje
6969

7070
if (iter->second->getName().find("General_Occupancy") != std::string::npos) {
7171
auto* hp = dynamic_cast<TH2D*>(iter->second->getObject());
72+
auto activity = iter->second->getActivity();
7273
if (hp == nullptr) {
7374
ILOG(Error, Support) << "could not cast general occupancy to TH2D*" << ENDM;
7475
continue;
@@ -90,7 +91,9 @@ Quality ITSClusterCheck::check(std::map<std::string, std::shared_ptr<MonitorObje
9091
continue;
9192
}
9293

93-
maxcluocc[ilayer] = o2::quality_control_modules::common::getFromConfig<int>(mCustomParameters, Form("maxcluoccL%d", ilayer), maxcluocc[ilayer]);
94+
// maxcluocc[ilayer] = o2::quality_control_modules::common::getFromConfig<int>(mCustomParameters, Form("maxcluoccL%d", ilayer), maxcluocc[ilayer]);
95+
96+
maxcluocc[ilayer] = stof(mCustomParameters.at(Form("maxcluoccL%d", ilayer), activity));
9497
if (hp->GetBinContent(ix, iy) > maxcluocc[ilayer]) {
9598
result.set(Quality::Medium);
9699
result.updateMetadata(Form("Layer%d%s", ilayer, tb.c_str()), "medium");

Modules/ITS/src/ITSFeeCheck.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,16 @@ Quality ITSFeeCheck::check(std::map<std::string, std::shared_ptr<MonitorObject>>
252252
}
253253

254254
if (((string)mo->getName()).find("TrailerCount") != std::string::npos) {
255+
256+
auto activity = mo->getActivity();
255257
auto* h = dynamic_cast<TH2I*>(mo->getObject());
256258
if (h == nullptr) {
257259
ILOG(Error, Support) << "could not cast TrailerCount to TH2I*" << ENDM;
258260
continue;
259261
}
260262
result.set(Quality::Good);
261263
result.addMetadata("CheckROFRate", "good");
262-
expectedROFperOrbit = o2::quality_control_modules::common::getFromConfig<int>(mCustomParameters, "expectedROFperOrbit", expectedROFperOrbit);
264+
expectedROFperOrbit = stoi(mCustomParameters.at("expectedROFperOrbit", activity));
263265
if (h->Integral(1, 432, 1, h->GetYaxis()->FindBin(expectedROFperOrbit) - 1) > 0 || h->Integral(1, 432, h->GetYaxis()->FindBin(expectedROFperOrbit) + 1, h->GetYaxis()->GetLast()) > 0) {
264266
result.set(Quality::Bad);
265267
result.updateMetadata("expectedROFperOrbit", "bad");

0 commit comments

Comments
 (0)