Skip to content

Commit 327b3b6

Browse files
committed
wip
1 parent f52ef45 commit 327b3b6

4 files changed

Lines changed: 283 additions & 25 deletions

File tree

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
{
2+
"qc": {
3+
"config": {
4+
"database": {
5+
"implementation": "CCDB",
6+
"host": "ali-qcdb.cern.ch:8083",
7+
"username": "not_applicable",
8+
"password": "not_applicable",
9+
"name": "not_applicable",
10+
"maxObjectSize": "16777216"
11+
},
12+
"Activity": {
13+
"number": "42",
14+
"type": "2"
15+
},
16+
"monitoring": {
17+
"url": "influxdb-unix:///tmp/telegraf.sock"
18+
},
19+
"consul": {
20+
"url": "http://ali-consul.cern.ch:8500"
21+
},
22+
"conditionDB": {
23+
"url": "o2-ccdb.internal"
24+
}
25+
},
26+
"tasks": {
27+
"QcTaskMCHDigits": {
28+
"active": "true",
29+
"className": "o2::quality_control_modules::muonchambers::PhysicsTaskDigits",
30+
"moduleName": "QcMuonChambers",
31+
"detectorName": "MCH",
32+
"cycleDurationSeconds": "300",
33+
"maxNumberCycles": "-1",
34+
"dataSource": {
35+
"type": "direct",
36+
"query": "digits:MCH/DIGITS;orbits:MCH/ORBITS",
37+
"type2": "dataSamplingPolicy",
38+
"name2": "mchdigits"
39+
},
40+
"location": "local",
41+
"mergingMode": "delta",
42+
"localControl": "odc",
43+
"localMachines": [
44+
"localhost",
45+
"epn"
46+
],
47+
"remotePort": "47790",
48+
"remoteMachine": "alio2-cr1-qc01.cern.ch",
49+
"mergersPerLayer": [
50+
"3",
51+
"1"
52+
]
53+
},
54+
"QcTaskMCHErrors": {
55+
"active": "true",
56+
"className": "o2::quality_control_modules::muonchambers::DecodingErrorsTask",
57+
"moduleName": "QcMuonChambers",
58+
"detectorName": "MCH",
59+
"cycleDurationSeconds": "300",
60+
"maxNumberCycles": "-1",
61+
"dataSource": {
62+
"type": "direct",
63+
"query": "rawerrors:MCH/ERRORS"
64+
},
65+
"location": "local",
66+
"mergingMode": "delta",
67+
"localControl": "odc",
68+
"localMachines": [
69+
"localhost",
70+
"epn"
71+
],
72+
"remotePort": "47791",
73+
"remoteMachine": "alio2-cr1-qc01.cern.ch"
74+
},
75+
"MCHRofs": {
76+
"active": "true",
77+
"className": "o2::quality_control_modules::muonchambers::PhysicsTaskRofs",
78+
"moduleName": "QcMuonChambers",
79+
"detectorName": "MCH",
80+
"cycleDurationSeconds": "300",
81+
"maxNumberCycles": "-1",
82+
"dataSource": {
83+
"type": "direct",
84+
"query": "digits:MCH/DIGITS;rofs:MCH/DIGITROFS"
85+
},
86+
"location": "local",
87+
"mergingMode": "delta",
88+
"localControl": "odc",
89+
"localMachines": [
90+
"localhost",
91+
"epn"
92+
],
93+
"remotePort": "47792",
94+
"remoteMachine": "alio2-cr1-qc01.cern.ch"
95+
},
96+
"MCHPreclusters": {
97+
"active": "true",
98+
"className": "o2::quality_control_modules::muonchambers::PhysicsTaskPreclusters",
99+
"moduleName": "QcMuonChambers",
100+
"detectorName": "MCH",
101+
"cycleDurationSeconds": "540",
102+
"maxNumberCycles": "-1",
103+
"dataSource": {
104+
"type": "direct",
105+
"query": "preclusters:MCH/PRECLUSTERS/0;preclusterdigits:MCH/PRECLUSTERDIGITS/0"
106+
},
107+
"location": "local",
108+
"mergingMode": "delta",
109+
"localControl": "odc",
110+
"localMachines": [
111+
"localhost",
112+
"epn"
113+
],
114+
"remotePort": "47794",
115+
"remoteMachine": "alio2-cr1-qc01.cern.ch",
116+
"mergersPerLayer": [
117+
"3",
118+
"1"
119+
]
120+
}
121+
},
122+
"checks": {
123+
"QcCheckMCHPhysics": {
124+
"active": "true",
125+
"className": "o2::quality_control_modules::muonchambers::PhysicsCheck",
126+
"moduleName": "QcMuonChambers",
127+
"policy": "OnAll",
128+
"detectorName": "MCH",
129+
"checkParameters": {
130+
"MinOccupancy": "0.00001",
131+
"MaxOccupancy": "10.0"
132+
},
133+
"dataSource": [
134+
{
135+
"type": "Task",
136+
"name": "QcTaskMCHDigits",
137+
"MOs": "all"
138+
}
139+
]
140+
},
141+
"QcCheckMCHErrors": {
142+
"active": "true",
143+
"className": "o2::quality_control_modules::muonchambers::DecodingErrorsCheck",
144+
"moduleName": "QcMuonChambers",
145+
"policy": "OnAll",
146+
"checkParameters": {
147+
"MaxErrorRate": "10000"
148+
},
149+
"detectorName": "MCH",
150+
"dataSource": [
151+
{
152+
"type": "Task",
153+
"name": "QcTaskMCHErrors",
154+
"MOs": "all"
155+
}
156+
]
157+
},
158+
"QcCheckMCHPreclusters": {
159+
"active": "true",
160+
"className": "o2::quality_control_modules::muonchambers::PhysicsPreclustersCheck",
161+
"moduleName": "QcMuonChambers",
162+
"detectorName": "MCH",
163+
"policy": "OnAny",
164+
"dataSource": [
165+
{
166+
"type": "Task",
167+
"name": "MCHPreclusters",
168+
"MOs": "all"
169+
}
170+
]
171+
}
172+
}
173+
},
174+
"dataSamplingPolicies": [
175+
{
176+
"id": "mchdigits",
177+
"active": "false",
178+
"machines": [
179+
"localhost"
180+
],
181+
"query": "digits:MCH/DIGITS;orbits:MCH/ORBITS",
182+
"samplingConditions": [
183+
{
184+
"condition": "random",
185+
"fraction": "0.01",
186+
"seed": "1234"
187+
}
188+
],
189+
"blocking": "false"
190+
}
191+
]
192+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"qc": {
3+
"config": {
4+
"database": {
5+
"implementation": "CCDB",
6+
"host": "ali-qcdb.cern.ch:8083",
7+
"username": "not_applicable",
8+
"password": "not_applicable",
9+
"name": "not_applicable"
10+
},
11+
"Activity": {
12+
"number": "42",
13+
"type": "2"
14+
},
15+
"monitoring": {
16+
"url": "influxdb-unix:///tmp/telegraf.sock"
17+
},
18+
"consul": {
19+
"url": "null:8500"
20+
},
21+
"conditionDB": {
22+
"url": "null:8083"
23+
}
24+
},
25+
"tasks": {
26+
"MCHTracks": {
27+
"active": "true",
28+
"className": "o2::quality_control_modules::muon::TracksTask",
29+
"moduleName": "QcMUONCommon",
30+
"detectorName": "MCH",
31+
"cycleDurationSeconds": "180",
32+
"maxNumberCycles": "-1",
33+
"dataSource": {
34+
"type": "direct",
35+
"query": "trackMCH:MCH/TRACKS;trackMCHROF:MCH/TRACKROFS;trackMCHTRACKCLUSTERS:MCH/TRACKCLUSTERS;mchtrackdigits:MCH/CLUSTERDIGITS"
36+
},
37+
"taskParameters": {
38+
"maxTracksPerTF": "600",
39+
"GID": "MCH"
40+
},
41+
"location": "local",
42+
"mergingMode": "delta",
43+
"localControl": "odc",
44+
"localMachines": [
45+
"localhost",
46+
"epn"
47+
],
48+
"remotePort": "47789",
49+
"remoteMachine": "alio2-cr1-qc01.cern.ch"
50+
}
51+
},
52+
"checks": {}
53+
},
54+
"dataSamplingPolicies": []
55+
}

DATA/production/qc-workflow.sh

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#!/bin/bash
22

3-
printenv
4-
53
if [[ -z "$WORKFLOW" ]] || [[ -z "$MYDIR" ]]; then
64
echo This script must be called from the dpl-workflow.sh and not standalone 1>&2
75
exit 1
@@ -12,6 +10,28 @@ if [[ ! -z $GEN_TOPO_QC_JSON_FILE ]]; then
1210
flock 101 || exit 1
1311
fi
1412

13+
FETCHTMPDIR=$(mktemp -d -t GEN_TOPO_DOWNLOAD_JSON-XXXXXX)
14+
15+
add_QC_JSON() {
16+
if [[ ${2} =~ ^consul://.* ]]; then
17+
TMP_FILENAME=$FETCHTMPDIR/$1.$RANDOM.$RANDOM.json
18+
curl -s -o $TMP_FILENAME "http://alio2-cr1-hv-aliecs.cern.ch:8500/v1/kv/${2/consul:\/\//}?raw"
19+
if [[ $? != 0 ]]; then
20+
echo "Error fetching QC JSON $2"
21+
exit 1
22+
fi
23+
else
24+
TMP_FILENAME=$2
25+
fi
26+
JSON_FILES+=" $TMP_FILENAME"
27+
jq -rM '""' > /dev/null < $TMP_FILENAME
28+
if [[ $? != 0 ]]; then
29+
echo "Invalid QC JSON $2" 1>&2
30+
exit 1
31+
fi
32+
OUTPUT_SUFFIX+="-$1"
33+
}
34+
1535
QC_CONFIG=
1636
QC_CONFIG_OVERRIDE=
1737
if [[ -z $QC_JSON_FROM_OUTSIDE && ! -z $GEN_TOPO_QC_JSON_FILE && -f $GEN_TOPO_QC_JSON_FILE ]]; then
@@ -79,6 +99,7 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
7999
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global-epn.json # this must be last
80100

81101
elif [[ $SYNCMODE == 1 ]]; then
102+
echo "TOTO SYNCMODE=1 TRACK_SOURCES=${TRACK_SOURCES}"
82103
[[ -z "$QC_JSON_TPC" ]] && QC_JSON_TPC=$O2DPG_ROOT/DATA/production/qc-sync/tpc.json
83104
[[ -z "$QC_JSON_ITS" ]] && QC_JSON_ITS=$O2DPG_ROOT/DATA/production/qc-sync/its.json
84105
if [[ -z "$QC_JSON_MFT" ]]; then
@@ -94,7 +115,15 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
94115
[[ -z "$QC_JSON_FV0" ]] && QC_JSON_FV0=$O2DPG_ROOT/DATA/production/qc-sync/fv0.json
95116
[[ -z "$QC_JSON_EMC" ]] && QC_JSON_EMC=$O2DPG_ROOT/DATA/production/qc-sync/emc.json
96117
[[ -z "$QC_JSON_ZDC" ]] && has_processing_step ZDC_RECO && QC_JSON_ZDC=$O2DPG_ROOT/DATA/production/qc-sync/zdc.json
97-
[[ -z "$QC_JSON_MCH" ]] && QC_JSON_MCH=$O2DPG_ROOT/DATA/production/qc-sync/mch.json
118+
if [[ -z "$QC_JSON_MCH" ]]; then
119+
QC_JSON_MCH=$O2DPG_ROOT/DATA/production/qc-sync/mch-digits.json
120+
if has_processing_step "MCH_RECO"; then
121+
add_QC_JSON MCH_RECO $O2DPG_ROOT/DATA/production/qc-sync/mch-reco.json
122+
fi
123+
if has_track_source "MCH"; then
124+
add_QC_JSON MCH_TRACK $O2DPG_ROOT/DATA/production/qc-sync/mch-tracks.json
125+
fi
126+
fi
98127
[[ -z "$QC_JSON_MID" ]] && QC_JSON_MID=$O2DPG_ROOT/DATA/production/qc-sync/mid-digits.json && has_processing_step MID_RECO && QC_JSON_MID=$O2DPG_ROOT/DATA/production/qc-sync/mid.json
99128
[[ -z "$QC_JSON_CPV" ]] && QC_JSON_CPV=$O2DPG_ROOT/DATA/production/qc-sync/cpv.json
100129
[[ -z "$QC_JSON_PHS" ]] && QC_JSON_PHS=$O2DPG_ROOT/DATA/production/qc-sync/phs.json
@@ -122,6 +151,7 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
122151
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global.json # this must be last
123152

124153
else
154+
echo "TOTO SYNCMODE=0 TRACK_SOURCES=${TRACK_SOURCES}"
125155
[[ -z "$QC_JSON_TPC" ]] && QC_JSON_TPC=$O2DPG_ROOT/DATA/production/qc-async/tpc.json
126156
[[ -z "$QC_JSON_ITS" ]] && QC_JSON_ITS=$O2DPG_ROOT/DATA/production/qc-async/its.json
127157
[[ -z "$QC_JSON_MFT" ]] && QC_JSON_MFT=$O2DPG_ROOT/DATA/production/qc-async/mft.json
@@ -158,28 +188,9 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
158188
echo This script must be run via the gen_topo scripts, or a GEN_TOPO_WORKDIR must be provided where merged JSONS are stored 1>&2
159189
exit 1
160190
fi
161-
162-
FETCHTMPDIR=$(mktemp -d -t GEN_TOPO_DOWNLOAD_JSON-XXXXXX)
163-
164-
add_QC_JSON() {
165-
if [[ ${2} =~ ^consul://.* ]]; then
166-
TMP_FILENAME=$FETCHTMPDIR/$1.$RANDOM.$RANDOM.json
167-
curl -s -o $TMP_FILENAME "http://alio2-cr1-hv-aliecs.cern.ch:8500/v1/kv/${2/consul:\/\//}?raw"
168-
if [[ $? != 0 ]]; then
169-
echo "Error fetching QC JSON $2"
170-
exit 1
171-
fi
172-
else
173-
TMP_FILENAME=$2
174-
fi
175-
JSON_FILES+=" $TMP_FILENAME"
176-
jq -rM '""' > /dev/null < $TMP_FILENAME
177-
if [[ $? != 0 ]]; then
178-
echo "Invalid QC JSON $2" 1>&2
179-
exit 1
180-
fi
181-
OUTPUT_SUFFIX+="-$1"
182-
}
191+
192+
echo "TOTO==="
193+
printenv
183194

184195
JSON_FILES=
185196
OUTPUT_SUFFIX=

0 commit comments

Comments
 (0)