Skip to content

Commit 6412268

Browse files
chiarazampollidavidrohr
authored andcommitted
Adding GLO QC for EPN and SYNC mode
1 parent d6d5728 commit 6412268

2 files changed

Lines changed: 143 additions & 10 deletions

File tree

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
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" : "http://ali-consul.cern.ch:8500"
20+
},
21+
"conditionDB" : {
22+
"url" : "http://localhost:8084"
23+
}
24+
},
25+
"tasks" : {
26+
"Vertexing" : {
27+
"active" : "true",
28+
"className" : "o2::quality_control_modules::glo::VertexingQcTask",
29+
"moduleName" : "QcGLO",
30+
"detectorName" : "GLO",
31+
"cycleDurationSeconds" : "600",
32+
"maxNumberCycles" : "-1",
33+
"dataSource" : {
34+
"type" : "dataSamplingPolicy",
35+
"name" : "VtxSampling"
36+
},
37+
"taskParameters" : {
38+
"isMC": "false"
39+
},
40+
"location" : "local",
41+
"localMachines": [
42+
"epn",
43+
"localhost"
44+
],
45+
"remoteMachine": "alio2-cr1-qc07.cern.ch",
46+
"remotePort": "47760",
47+
"localControl": "odc"
48+
},
49+
"MTCITSTPC" : {
50+
"active" : "true",
51+
"className" : "o2::quality_control_modules::glo::ITSTPCMatchingTask",
52+
"moduleName" : "QcGLO",
53+
"detectorName" : "GLO",
54+
"cycleDurationSeconds" : "600",
55+
"maxNumberCycles" : "-1",
56+
"dataSource" : {
57+
"type" : "dataSamplingPolicy",
58+
"name" : "ITSTPCmSamp"
59+
},
60+
"taskParameters" : {
61+
"GID" : "ITS-TPC,ITS",
62+
"verbose" : "false",
63+
"minPtCut" : "0.1f",
64+
"etaCut" : "1.4f",
65+
"minNTPCClustersCut" : "60",
66+
"minDCACut" : "100.f",
67+
"minDCACutY" : "10.f",
68+
"grpFileName" : "o2sim_grp.root",
69+
"geomFileName" : "o2sim_geometry-aligned.root"
70+
},
71+
"location" : "local",
72+
"localMachines": [
73+
"epn",
74+
"localhost"
75+
],
76+
"remoteMachine": "alio2-cr1-qc07.cern.ch",
77+
"remotePort": "47761",
78+
"localControl": "odc"
79+
}
80+
}
81+
},
82+
"dataSamplingPolicies" : [
83+
{
84+
"id" : "VtxSampling",
85+
"active" : "true",
86+
"machines" : [],
87+
"query" : "pvtx:GLO/PVTX/0",
88+
"samplingConditions" : [
89+
{
90+
"condition" : "random",
91+
"fraction" : "0.1",
92+
"seed" : "1234"
93+
}
94+
],
95+
"blocking" : "false"
96+
},
97+
{
98+
"id" : "ITSTPCmSamp",
99+
"active" : "true",
100+
"machines" : [],
101+
"query_comment" : "checking every 10% matched track",
102+
"query" : "trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS",
103+
"samplingConditions" : [
104+
{
105+
"condition" : "random",
106+
"fraction" : "0.1",
107+
"seed" : "1234"
108+
}
109+
],
110+
"blocking" : "false"
111+
}
112+
]
113+
}

DATA/production/qc-workflow.sh

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
5656
[[ -z "$QC_JSON_CPV" ]] && QC_JSON_CPV=consul://o2/components/qc/ANY/any/cpv-physics-qcmn-epn
5757
[[ -z "$QC_JSON_TRD" ]] && QC_JSON_TRD=consul://o2/components/qc/ANY/any/trd-full-qcmn-nopulseheight-epn
5858
[[ -z "$QC_JSON_PHS" ]] && QC_JSON_PHS=consul://o2/components/qc/ANY/any/phos-raw-clusters-epn
59-
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=consul://o2/components/qc/ANY/any/vertexing-qc
59+
[[ -z "$QC_JSON_GLO" ]] && QC_JSON_GLO=consul://o2/components/qc/ANY/any/glo-qcmn-epn
6060
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global-epn.json
6161
if [[ -z "$QC_JSON_TOF_MATCH" ]]; then
6262
if has_tof_matching_source ITS-TPC && has_tof_matching_source ITS-TPC-TRD; then
@@ -86,7 +86,7 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
8686
[[ -z "$QC_JSON_CPV" ]] && QC_JSON_CPV=$O2DPG_ROOT/DATA/production/qc-sync/cpv.json
8787
[[ -z "$QC_JSON_PHS" ]] && QC_JSON_PHS=$O2DPG_ROOT/DATA/production/qc-sync/phs.json
8888
[[ -z "$QC_JSON_TRD" ]] && QC_JSON_TRD=$O2DPG_ROOT/DATA/production/qc-sync/trd.json
89-
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=$O2DPG_ROOT/DATA/production/qc-sync/pvtx.json
89+
[[ -z "$QC_JSON_GLO" ]] && QC_JSON_GLO=$O2DPG_ROOT/DATA/production/qc-sync/glo-qcmn-epn.json
9090
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global.json
9191
if [[ -z "$QC_JSON_TOF_MATCH" ]]; then
9292
if has_tof_matching_source ITS-TPC && has_tof_matching_source ITS-TPC-TRD; then
@@ -108,6 +108,7 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
108108
[[ -z "$QC_JSON_CPV" ]] && QC_JSON_CPV=$O2DPG_ROOT/DATA/production/qc-async/cpv.json
109109
[[ -z "$QC_JSON_PHS" ]] && QC_JSON_PHS=$O2DPG_ROOT/DATA/production/qc-async/phs.json
110110
[[ -z "$QC_JSON_TRD" ]] && QC_JSON_TRD=$O2DPG_ROOT/DATA/production/qc-async/trd.json
111+
# the following two ($QC_JSON_PRIMVTX and $QC_JSON_ITSTPC) replace $QC_JSON_GLO for async processing
111112
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=$O2DPG_ROOT/DATA/production/qc-async/primvtx.json
112113
[[ -z "$QC_JSON_ITSTPC" ]] && QC_JSON_ITSTPC=$O2DPG_ROOT/DATA/production/qc-async/itstpc.json
113114
[[ -z "$QC_JSON_TOF_MATCH" ]] && QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-async/itstpctof.json
@@ -153,15 +154,34 @@ elif [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
153154
fi
154155
done
155156

156-
LIST_OF_GLOQC=
157-
has_detectors_reco ITS TPC && has_detector_matching ITSTPC && add_comma_separated LIST_OF_GLOQC ITSTPC
158-
has_detectors_reco ITS && has_detector_matching PRIMVTX && add_comma_separated LIST_OF_GLOQC PRIMVTX
159-
for i in $(echo $LIST_OF_GLOQC | sed "s/,/ /g"); do
160-
GLO_JSON_FILE="QC_JSON_$i"
161-
if has_detector_matching $i && has_matching_qc $i && [ ! -z "${!GLO_JSON_FILE}" ]; then
162-
add_QC_JSON $i ${!GLO_JSON_FILE}
157+
ADD_ITSTPCQC=1
158+
ADD_PRIMVTX=1
159+
if [[ $SYNCMODE == 1 ]]; then
160+
if ! has_detectors_reco ITS TPC || ! has_detector_matching ITSTPC; then
161+
QC_CONFIG+="--override-values \"qc.tasks.MTCITSTPC.active=false\""
162+
ADD_ITSTPCQC=0
163163
fi
164-
done
164+
if ! has_detectors_reco ITS || ! has_detector_matching PRIMVTX; then
165+
QC_CONFIG+="--override-values \"qc.tasks.Vertexing.active=false\""
166+
ADD_PRIMVTX=0
167+
fi
168+
if [[ $ADD_ITSTPCQC == 1 ]] || [[ $ADD_PRIMVTX == 1 ]]; then
169+
add_QC_JSON GLO $QC_JSON_GLO
170+
fi
171+
else # async processing
172+
LIST_OF_GLOQC=
173+
has_detectors_reco ITS TPC && has_detector_matching ITSTPC && add_comma_separated LIST_OF_GLOQC ITSTPC
174+
has_detectors_reco ITS && has_detector_matching PRIMVTX && add_comma_separated LIST_OF_GLOQC PRIMVTX
175+
for i in $(echo $LIST_OF_GLOQC | sed "s/,/ /g"); do
176+
GLO_JSON_FILE="QC_JSON_$i"
177+
if has_detector_matching $i && has_matching_qc $i && [ ! -z "${!GLO_JSON_FILE}" ]; then
178+
add_QC_JSON $i ${!GLO_JSON_FILE}
179+
fi
180+
done
181+
fi
182+
if [[ "0$GEN_TOPO_VERBOSE" == "01" ]]; then
183+
echo ADD_ITSTPCQC=$ADD_ITSTPCQC ADD_PRIMVTX=$ADD_PRIMVTX 1>&2
184+
fi
165185

166186
# PID QC
167187
for i in $(echo $LIST_OF_PID | sed "s/,/ /g"); do

0 commit comments

Comments
 (0)