Skip to content

Commit b2ef051

Browse files
noferinidavidrohr
authored andcommitted
add TOF matching QC in sync mode
1 parent 4fdc88f commit b2ef051

File tree

5 files changed

+183
-2
lines changed

5 files changed

+183
-2
lines changed

DATA/common/setenv.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,11 @@ has_pid_qc()
176176
return 0
177177
}
178178

179+
has_tof_matching_source()
180+
{
181+
[[ $TOF_SOURCES =~ (^|,)"$1"(,|$) ]]
182+
}
183+
179184
workflow_has_parameter()
180185
{
181186
[[ $WORKFLOW_PARAMETERS =~ (^|,)"$1"(,|$) ]]
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{
2+
"qc": {
3+
"config": {
4+
"database": {
5+
"implementation": "CCDB",
6+
"host": "alio2-cr1-hv-qcdb1.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": "alio2-cr1-hv-aliecs:8500"
20+
},
21+
"conditionDB": {
22+
"url": "alio2-cr1-hv-qcdb1.cern.ch:8083"
23+
}
24+
},
25+
"tasks" : {
26+
"MatchingTOF" : {
27+
"active" : "true",
28+
"className" : "o2::quality_control_modules::tof::TOFMatchedTracks",
29+
"moduleName" : "QcTOF",
30+
"detectorName" : "TOF",
31+
"cycleDurationSeconds" : "60",
32+
"maxNumberCycles" : "-1",
33+
"dataSource" : {
34+
"type": "dataSamplingPolicy",
35+
"name": "trk-clu-local"
36+
},
37+
"location": "local",
38+
"localMachines": [
39+
"epn",
40+
"localhost"
41+
],
42+
"remoteMachine": "alio2-cr1-qc03.cern.ch",
43+
"remotePort": "47710",
44+
"mergingMode": "delta",
45+
"localControl": "odc",
46+
"taskParameters" : {
47+
"GID" : "ITS-TPC,ITS-TPC-TOF",
48+
"verbose" : "false",
49+
"minPtCut" : "0.3f",
50+
"etaCut" : "0.8f",
51+
"minNTPCClustersCut" : "60",
52+
"minDCACut" : "100.f",
53+
"minDCACutY" : "10.f",
54+
"grpFileName" : "o2sim_grp.root",
55+
"geomFileName" : "o2sim_geometry-aligned.root"
56+
}
57+
}
58+
}
59+
},
60+
"dataSamplingPolicies": [
61+
{
62+
"id": "trk-clu-local",
63+
"active": "true",
64+
"machines": [
65+
"epn",
66+
"localhost"
67+
],
68+
"query" : "matchITSTPCTOF:TOF/MTC_ITSTPC/0;trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS/0;trackTPCClRefs:TPC/CLUSREFS/0;tofcluster:TOF/CLUSTERS/0",
69+
"samplingConditions": [
70+
{
71+
"condition": "random",
72+
"fraction": "1.0",
73+
"seed": "1234"
74+
}
75+
],
76+
"blocking": "false"
77+
}
78+
]
79+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{
2+
"qc": {
3+
"config": {
4+
"database": {
5+
"implementation": "CCDB",
6+
"host": "alio2-cr1-hv-qcdb1.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": "alio2-cr1-hv-aliecs:8500"
20+
},
21+
"conditionDB": {
22+
"url": "alio2-cr1-hv-qcdb1.cern.ch:8083"
23+
}
24+
},
25+
"tasks" : {
26+
"MatchingTOFwithTRD" : {
27+
"active" : "true",
28+
"className" : "o2::quality_control_modules::tof::TOFMatchedTracks",
29+
"moduleName" : "QcTOF",
30+
"detectorName" : "TOF",
31+
"cycleDurationSeconds" : "60",
32+
"maxNumberCycles" : "-1",
33+
"dataSource" : {
34+
"type": "dataSamplingPolicy",
35+
"name": "trkWTRD-local"
36+
},
37+
"location": "local",
38+
"localMachines": [
39+
"epn",
40+
"localhost"
41+
],
42+
"remoteMachine": "alio2-cr1-qc03.cern.ch",
43+
"remotePort": "47711",
44+
"mergingMode": "delta",
45+
"localControl": "odc",
46+
"taskParameters" : {
47+
"GID" : "ITS-TPC,ITS-TPC-TRD,ITS-TPC-TOF,ITS-TPC-TRD-TOF",
48+
"verbose" : "false",
49+
"minPtCut" : "0.3f",
50+
"etaCut" : "0.8f",
51+
"minNTPCClustersCut" : "60",
52+
"minDCACut" : "100.f",
53+
"minDCACutY" : "10.f",
54+
"grpFileName" : "o2sim_grp.root",
55+
"geomFileName" : "o2sim_geometry-aligned.root"
56+
}
57+
}
58+
}
59+
},
60+
"dataSamplingPolicies": [
61+
{
62+
"id": "trkWTRD-local",
63+
"active": "true",
64+
"machines": [
65+
"epn",
66+
"localhost"
67+
],
68+
"query" : "matchITSTPCTOF:TOF/MTC_ITSTPC/0;trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS/0;trackTPCClRefs:TPC/CLUSREFS/0;tofcluster:TOF/CLUSTERS/0;trackITSTPCTRD:TRD/MATCH_ITSTPC/0;matchITSTPCTRDTOF:TOF/MTC_ITSTPCTRD/0;trigITSTPCTRD:TRD/TRGREC_ITSTPC/0",
69+
"samplingConditions": [
70+
{
71+
"condition": "random",
72+
"fraction": "1.0",
73+
"seed": "1234"
74+
}
75+
],
76+
"blocking": "false"
77+
}
78+
]
79+
}

DATA/production/qc-workflow.sh

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ if [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
2222
[[ -z "$QC_JSON_PHS" ]] && QC_JSON_PHS=consul://o2/components/qc/ANY/any/phos-raw-clusters-epn
2323
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=/home/shahoian/jsons/vertexing-qc.json
2424
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global.json
25+
if [[ -z "$QC_JSON_TOF_MATCH" ]]; then
26+
if has_tof_matching_source ITS-TPC && has_tof_matching_source ITS-TPC-TRD ; then
27+
QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-sync/itstpctrdtof.json
28+
elif has_tof_matching_source ITS-TPC ; then
29+
QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-sync/itstpctof.json
30+
fi
31+
fi
2532
elif [[ $SYNCMODE == 1 ]]; then
2633
[[ -z "$QC_JSON_TPC" ]] && QC_JSON_TPC=$O2DPG_ROOT/DATA/production/qc-sync/tpc.json
2734
[[ -z "$QC_JSON_ITS" ]] && QC_JSON_ITS=$O2DPG_ROOT/DATA/production/qc-sync/its.json
@@ -38,6 +45,13 @@ if [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
3845
[[ -z "$QC_JSON_TRD" ]] && QC_JSON_TRD=$O2DPG_ROOT/DATA/production/qc-sync/trd.json
3946
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=$O2DPG_ROOT/DATA/production/qc-sync/pvtx.json
4047
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-sync/qc-global.json
48+
if [[ -z "$QC_JSON_TOF_MATCH" ]]; then
49+
if has_tof_matching_source ITS-TPC && has_tof_matching_source ITS-TPC-TRD ; then
50+
QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-sync/itstpctrdtof.json
51+
elif has_tof_matching_source ITS-TPC ; then
52+
QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-sync/itstpctof.json
53+
fi
54+
fi
4155
else
4256
[[ -z "$QC_JSON_TPC" ]] && QC_JSON_TPC=$O2DPG_ROOT/DATA/production/qc-async/tpc.json
4357
[[ -z "$QC_JSON_ITS" ]] && QC_JSON_ITS=$O2DPG_ROOT/DATA/production/qc-async/its.json
@@ -52,7 +66,7 @@ if [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
5266
[[ -z "$QC_JSON_TRD" ]] && QC_JSON_TRD=$O2DPG_ROOT/DATA/production/qc-async/trd.json
5367
[[ -z "$QC_JSON_PRIMVTX" ]] && QC_JSON_PRIMVTX=$O2DPG_ROOT/DATA/production/qc-async/primvtx.json
5468
[[ -z "$QC_JSON_ITSTPC" ]] && QC_JSON_ITSTPC=$O2DPG_ROOT/DATA/production/qc-async/itstpc.json
55-
[[ -z "$QC_JSON_ITSTPCTOF" ]] && QC_JSON_ITSTPCTOF=$O2DPG_ROOT/DATA/production/qc-async/itstpctof.json
69+
[[ -z "$QC_JSON_TOF_MATCH" ]] && QC_JSON_TOF_MATCH=$O2DPG_ROOT/DATA/production/qc-async/itstpctof.json
5670
[[ -z "$QC_JSON_PID_FT0TOF" ]] && QC_JSON_PID_FT0TOF=$O2DPG_ROOT/DATA/production/qc-async/pidft0tof.json
5771
[[ -z "$QC_JSON_GLOBAL" ]] && QC_JSON_GLOBAL=$O2DPG_ROOT/DATA/production/qc-async/qc-global.json
5872
fi
@@ -90,6 +104,10 @@ if [[ -z $QC_JSON_FROM_OUTSIDE ]]; then
90104
done
91105

92106
# matching / vertexing QC
107+
if [ ! -z "$QC_JSON_TOF_MATCH" ]; then
108+
add_QC_JSON TOF ${QC_JSON_TOF_MATCH}
109+
fi
110+
93111
for i in `echo $LIST_OF_GLORECO | sed "s/,/ /g"`; do
94112
GLO_JSON_FILE="QC_JSON_$i"
95113
if has_detector_matching $i && has_matching_qc $i && [ ! -z "${!GLO_JSON_FILE}" ]; then

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
This repository collects scripts and configurations to run Monte Carlo simulations and data reconstruction of the ALICE experiment within the O2 project.
44
Please refer to [MC/README.md](MC/README.md) and [DATA/README.md](DATA/README.md) for details.
5-
The content of the former [O2DataProcessing](https://github.com/AliceO2Group/O2DataProcessing) repository can be found in [DATA](DATA).
5+
The content of the former [O2DataProcessing](https://github.com/AliceO2Group/O2DataProcessing) repository can be found in [DATA](DATA).

0 commit comments

Comments
 (0)