Skip to content

Commit fb5b8f5

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents baa7256 + 08462e5 commit fb5b8f5

File tree

15 files changed

+550
-32
lines changed

15 files changed

+550
-32
lines changed

DATA/common/gen_topo_helper_functions.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ has_detector_matching()
4949
[[ $WORKFLOW_DETECTORS_MATCHING =~ (^|,)"ALL"(,|$) ]] || [[ $WORKFLOW_DETECTORS_MATCHING =~ (^|,)"$1"(,|$) ]]
5050
}
5151

52+
has_secvtx_source()
53+
{
54+
[[ $SVERTEXING_SOURCES =~ (^|,)"ALL"(,|$) ]] || [[ $SVERTEXING_SOURCES =~ (^|,)"$1"(,|$) ]]
55+
}
56+
5257
has_detector_qc()
5358
{
5459
has_detector $1 && [[ $WORKFLOW_DETECTORS_QC =~ (^|,)"$1"(,|$) ]]

DATA/production/configurations/asyncReco/setenv_extra.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ elif [[ $ALIGNLEVEL == 1 ]]; then
341341
[[ $APPLYS11 == 1 ]] && export ITSTPCMATCH="${ITSTPCMATCH};tpcitsMatch.askMinTPCRow[11]=78;" || export ITSTPCMATCH="${ITSTPCMATCH};tpcitsMatch.askMinTPCRow[11]=20;"
342342
fi
343343
# settings to improve inner pad-rows contribution
344-
export CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+=";GPU_rec_tpc.trackletMinSharedNormFactor=1.;GPU_rec_tpc.trackletMaxSharedFraction=0.3;GPU_rec_tpc.globalTrackingRowRange=100;"
344+
export CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+=";GPU_rec_tpc.trackletMinSharedNormFactor=1.;GPU_rec_tpc.trackletMaxSharedFraction=0.3;GPU_rec_tpc.globalTrackingRowRange=100;GPU_rec_tpc.rejectIFCLowRadiusCluster=1;"
345345

346346
#-------------------------------------- TPC corrections -----------------------------------------------
347347
# we need to provide to TPC
@@ -712,7 +712,10 @@ fi
712712
if [[ $ALIEN_JDL_QCOFF != "1" ]]; then
713713
export WORKFLOW_PARAMETERS="QC,${WORKFLOW_PARAMETERS}"
714714
fi
715-
export QC_CONFIG_PARAM="--local-batch=QC.root --override-values \"qc.config.Activity.number=$RUNNUMBER;qc.config.Activity.passName=$PASS;qc.config.Activity.periodName=$PERIOD\""
715+
716+
export QC_CONFIG_OVERRIDE+=";qc.config.Activity.number=$RUNNUMBER;qc.config.Activity.type=PHYSICS;qc.config.Activity.passName=$PASS;qc.config.Activity.periodName=$PERIOD;qc.config.Activity.beamType=$BEAMTYPE;"
717+
718+
export QC_CONFIG_PARAM+=" --local-batch=QC.root "
716719
export GEN_TOPO_WORKDIR="./"
717720
#export QC_JSON_FROM_OUTSIDE="QC-20211214.json"
718721

DATA/production/o2dpg_qc_postproc_workflow.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ def add_QC_postprocessing(taskName, qcConfigPath, needs, runSpecific, periodSpec
6969
task = createTask(name=taskName, needs=needs, cwd=qcdir, lab=["QC"], cpu=1, mem='2000')
7070
overrideValues = '--override-values "'
7171
overrideValues += f'qc.config.database.host={qcdbUrl};'
72+
overrideValues += f'qc.config.Activity.type=PHYSICS;'
7273
overrideValues += f'qc.config.Activity.number={runNumber};' if runSpecific else 'qc.config.Activity.number=0;'
7374
overrideValues += f'qc.config.Activity.periodName={periodName};' if periodSpecific else 'qc.config.Activity.periodName=;'
7475
overrideValues += f'qc.config.Activity.passName={passName};' if passSpecific else 'qc.config.Activity.passName=;'

DATA/production/qc-async/itstpc.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"dataSource" : {
4040
"type" : "direct",
4141
"query_comment" : "checking every matched track",
42-
"query" : "trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS;trackITS:ITS/TRACKS/0;trackITSROF:ITS/ITSTrackROF/0;trackITSClIdx:ITS/TRACKCLSID/0;alpparITS:ITS/ALPIDEPARAM/0?lifetime=condition&ccdb-path=ITS/Config/AlpideParam"
42+
"query" : "trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS;trackITS:ITS/TRACKS/0;trackITSROF:ITS/ITSTrackROF/0;trackITSClIdx:ITS/TRACKCLSID/0;alpparITS:ITS/ALPIDEPARAM/0?lifetime=condition&ccdb-path=ITS/Config/AlpideParam;SVParam:GLO/SVPARAM/0?lifetime=condition&ccdb-path=GLO/Config/SVertexerParam;p2decay3body:GLO/PVTX_3BODYREFS/0;decay3body:GLO/DECAYS3BODY/0;decay3bodyIdx:GLO/DECAYS3BODY_IDX/0;p2cascs:GLO/PVTX_CASCREFS/0;cascs:GLO/CASCS/0;cascsIdx:GLO/CASCS_IDX/0;p2v0s:GLO/PVTX_V0REFS/0;v0s:GLO/V0S/0;v0sIdx:GLO/V0S_IDX/0;pvtx_tref:GLO/PVTX_TRMTCREFS/0;pvtx_trmtc:GLO/PVTX_TRMTC/0;pvtx:GLO/PVTX/0;SVParam:GLO/SVPARAM/0?lifetime=condition&ccdb-path=GLO/Config/SVertexerParam;clusTPCoccmap:TPC/TPCOCCUPANCYMAP/0;clusTPC:TPC/CLUSTERNATIVE;clusTPCshmap:TPC/CLSHAREDMAP/0;trigTPC:TPC/TRIGGERWORDS/0;trigITSTPCTRD:TRD/TRGREC_ITSTPC/0;trackITSTPCTRD:TRD/MATCH_ITSTPC/0;matchITSTPCTOF:TOF/MTC_ITSTPC/0;matchITSTPCTRDTOF:TOF/MTC_ITSTPCTRD/0;trigTPCTRD:TRD/TRGREC_TPC/0;trackTPCTRD:TRD/MATCH_TPC/0;matchTPCTOF:TOF/MTC_TPC/0;trackTPCTOF:TOF/TOFTRACKS_TPC/0;matchTPCTRDTOF/TOF/MTC_TPCTRD/0;tofcluster:TOF/CLUSTERS/0"
4343
},
4444
"taskParameters" : {
4545
"GID" : "ITS-TPC,ITS",
@@ -55,19 +55,23 @@
5555
"minDCACutY": "10.f",
5656
"minPtCut": "0.f",
5757
"maxPtCut": "1e10f",
58-
"etaCut": "1e10f"
58+
"etaCut": "1e10f",
59+
"cutK0Mass": "0.05f",
60+
"maxEtaK0": "0.8f",
61+
"doK0QC": "true",
62+
"trackSourcesK0": "ITS,TPC,ITS-TPC,ITS-TPC-TOF,TPC-TOF,TPC-TRD,ITS-TPC-TRD,TPC-TRD-TOF,ITS-TPC-TOF,ITS-TPC-TRD-TOF"
5963
},
6064
"grpGeomRequest" : {
6165
"geomRequest": "None",
62-
"askGRPECS": "false",
63-
"askGRPLHCIF": "false",
66+
"askGRPECS": "true",
67+
"askGRPLHCIF": "true",
6468
"askGRPMagField": "true",
6569
"askMatLUT": "false",
6670
"askTime": "false",
6771
"askOnceAllButField": "true",
6872
"needPropagatorD": "false"
6973
},
70-
"saveObjectsToFile" : "ITSTPCmatched.root",
74+
"saveObjectsToFile" : "ITSTPCmatched_allTracks_enabledK0.root",
7175
"" : "For debugging, path to the file where to save. If empty or missing it won't save."
7276
}
7377
}

DATA/production/qc-async/mch-tracks.json

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,42 @@
2323
}
2424
},
2525
"tasks": {
26+
"MCHClusters": {
27+
"active": "true",
28+
"taskName": "Clusters",
29+
"className": "o2::quality_control_modules::muonchambers::ClustersTask",
30+
"moduleName": "QcMuonChambers",
31+
"detectorName": "MCH",
32+
"cycleDurationSeconds": "300",
33+
"maxNumberCycles": "-1",
34+
"dataSource": {
35+
"type": "direct",
36+
"query": "tracks:MCH/TRACKS;trackrofs:MCH/TRACKROFS;trackclusters:MCH/TRACKCLUSTERS"
37+
},
38+
"movingWindows": [
39+
"ClusterSizePerChamber",
40+
"ClustersPerChamber",
41+
"ClustersPerTrack"
42+
],
43+
"taskParameters": {},
44+
"grpGeomRequest": {
45+
"geomRequest": "Aligned",
46+
"askGRPECS": "false",
47+
"askGRPLHCIF": "false",
48+
"askGRPMagField": "false",
49+
"askMatLUT": "false",
50+
"askTime": "false",
51+
"askOnceAllButField": "true",
52+
"needPropagatorD": "false"
53+
}
54+
},
2655
"MCHTracks": {
2756
"active": "true",
2857
"taskName": "Tracks",
2958
"className": "o2::quality_control_modules::muon::TracksTask",
3059
"moduleName": "QcMUONCommon",
3160
"detectorName": "MCH",
32-
"cycleDurationSeconds": "180",
61+
"cycleDurationSeconds": "300",
3362
"maxNumberCycles": "-1",
3463
"dataSource": {
3564
"type": "direct",

DATA/production/qc-sync/glo-itstpc-mtch-qcmn-epn.json

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,29 @@
3232
"maxNumberCycles" : "-1",
3333
"dataSource" : {
3434
"type" : "dataSamplingPolicy",
35-
"name" : "ITSTPCmSamp"
35+
"name" : "ITSTPCmSampK0"
3636
},
3737
"taskParameters" : {
38-
"GID" : "ITS-TPC,ITS",
39-
"verbose" : "false",
40-
"minPtCut" : "0.1f",
41-
"etaCut" : "1.4f",
42-
"minNTPCClustersCut" : "60",
43-
"minDCACut" : "100.f",
44-
"minDCACutY" : "10.f"
38+
"GID": "ITS-TPC,ITS",
39+
"verbose": "false",
40+
"minPtITSCut": "0.f",
41+
"etaITSCut": "1e10f",
42+
"minNITSClustersCut": "0",
43+
"maxChi2PerClusterITS": "100000",
44+
"minPtTPCCut": "0.1f",
45+
"etaTPCCut": "0.9f",
46+
"minNTPCClustersCut": "60",
47+
"minDCACut": "100.f",
48+
"minDCACutY": "10.f",
49+
"minPtCut": "0.f",
50+
"maxPtCut": "1e10f",
51+
"etaCut": "1e10f",
52+
"cutK0Mass": "0.05f",
53+
"maxEtaK0": "0.8f",
54+
"doK0QC": "true",
55+
"trackSourcesK0": ""
4556
},
46-
"grpGeomRequest" : {
57+
"grpGeomRequest" : {
4758
"geomRequest": "None",
4859
"askGRPECS": "false",
4960
"askGRPLHCIF": "false",
@@ -54,23 +65,23 @@
5465
"needPropagatorD": "false"
5566
},
5667
"location" : "local",
57-
"localMachines": [
68+
"localMachines": [
5869
"epn",
59-
"localhost"
70+
"localhost"
6071
],
6172
"remoteMachine": "alio2-cr1-qc07.cern.ch",
62-
"remotePort": "47761",
63-
"localControl": "odc"
73+
"remotePort": "47761",
74+
"localControl": "odc"
6475
}
6576
}
6677
},
6778
"dataSamplingPolicies" : [
6879
{
69-
"id" : "ITSTPCmSamp",
80+
"id" : "ITSTPCmSampK0",
7081
"active" : "true",
7182
"machines" : [],
7283
"query_comment" : "checking every 10% matched track",
73-
"query" : "trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS;trackITS:ITS/TRACKS/0;trackITSROF:ITS/ITSTrackROF/0;trackITSClIdx:ITS/TRACKCLSID/0;alpparITS:ITS/ALPIDEPARAM/0?lifetime=condition&ccdb-path=ITS/Config/AlpideParam",
84+
"query" : "",
7485
"samplingConditions" : [
7586
{
7687
"condition" : "random",

DATA/production/qc-workflow.sh

Lines changed: 75 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ add_QC_JSON() {
5050
OUTPUT_SUFFIX+="-$1"
5151
}
5252

53+
JSON_TEMP_FILES="()"
54+
5355
QC_CONFIG=
54-
QC_CONFIG_OVERRIDE=
56+
: ${QC_CONFIG_OVERRIDE:=} # set to empty string only if not already set externally
5557
: ${QC_DETECTOR_CONFIG_OVERRIDE:=} # set to empty string only if not already set externally
5658
if [[ -z ${QC_JSON_FROM_OUTSIDE:-} && ! -z ${GEN_TOPO_QC_JSON_FILE:-} && -f $GEN_TOPO_QC_JSON_FILE ]]; then
5759
QC_JSON_FROM_OUTSIDE=$GEN_TOPO_QC_JSON_FILE
@@ -266,7 +268,71 @@ elif [[ -z ${QC_JSON_FROM_OUTSIDE:-} ]]; then
266268
DET_JSON_FILE="QC_JSON_GLO_$i"
267269
if has_matching_qc $i && [ ! -z "${!DET_JSON_FILE:-}" ]; then
268270
if [[ $i == "PRIMVTX" ]] && ! has_detector_reco ITS; then continue; fi
269-
if [[ $i == "ITSTPC" ]] && ! has_detectors_reco ITS TPC; then continue; fi
271+
if [[ $i == "ITSTPC" ]] ; then
272+
if ! has_detectors_reco ITS TPC; then continue
273+
else
274+
# replace the input sources depending on the detector compostition and matching detectors
275+
ITSTPCMatchQuery="trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS/0;trackITS:ITS/TRACKS/0;trackITSROF:ITS/ITSTrackROF/0;trackITSClIdx:ITS/TRACKCLSID/0;alpparITS:ITS/ALPIDEPARAM/0?lifetime=condition&ccdb-path=ITS/Config/AlpideParam;SVParam:GLO/SVPARAM/0?lifetime=condition&ccdb-path=GLO/Config/SVertexerParam"
276+
TRACKSOURCESK0="ITS,TPC,ITS-TPC"
277+
if has_processing_step MATCH_SECVTX || has_detector_matching SECVTX ; then
278+
if [[ $SYNCMODE == 1 ]] || [[ $EPNSYNCMODE == 1 ]] ; then
279+
HAS_K0_ENABLED=$(jq -r .qc.tasks.MTCITSTPC.taskParameters.doK0QC "${!DET_JSON_FILE}")
280+
else
281+
HAS_K0_ENABLED=$(jq -r .qc.tasks.GLOMatchTrITSTPC.taskParameters.doK0QC "${!DET_JSON_FILE}")
282+
fi
283+
if [[ $HAS_K0_ENABLED == "true" ]]; then
284+
ITSTPCMatchQuery+=";p2decay3body:GLO/PVTX_3BODYREFS/0;decay3body:GLO/DECAYS3BODY/0;decay3bodyIdx:GLO/DECAYS3BODY_IDX/0;p2cascs:GLO/PVTX_CASCREFS/0;cascs:GLO/CASCS/0;cascsIdx:GLO/CASCS_IDX/0;p2v0s:GLO/PVTX_V0REFS/0;v0s:GLO/V0S/0;v0sIdx:GLO/V0S_IDX/0;pvtx_tref:GLO/PVTX_TRMTCREFS/0;pvtx_trmtc:GLO/PVTX_TRMTC/0;pvtx:GLO/PVTX/0;clusTPCoccmap:TPC/TPCOCCUPANCYMAP/0;clusTPC:TPC/CLUSTERNATIVE;clusTPCshmap:TPC/CLSHAREDMAP/0;trigTPC:TPC/TRIGGERWORDS/0"
285+
if has_secvtx_source ITS-TPC-TRD ; then
286+
ITSTPCMatchQuery+=";trigITSTPCTRD:TRD/TRGREC_ITSTPC/0;trackITSTPCTRD:TRD/MATCH_ITSTPC/0"
287+
TRACKSOURCESK0+=",ITS-TPC-TRD"
288+
fi
289+
if has_secvtx_source ITS-TPC-TOF ; then
290+
ITSTPCMatchQuery+=";matchITSTPCTOF:TOF/MTC_ITSTPC/0"
291+
TRACKSOURCESK0+=",ITS-TPC-TOF"
292+
fi
293+
if has_secvtx_source ITS-TPC-TRD-TOF ; then
294+
ITSTPCMatchQuery+=";matchITSTPCTRDTOF:TOF/MTC_ITSTPCTRD/0"
295+
TRACKSOURCESK0+=",ITS-TPC-TRD-TOF"
296+
fi
297+
if has_secvtx_source TPC-TRD ; then
298+
ITSTPCMatchQuery+=";trigTPCTRD:TRD/TRGREC_TPC/0;trackTPCTRD:TRD/MATCH_TPC/0"
299+
TRACKSOURCESK0+=",TPC-TRD"
300+
fi
301+
if has_secvtx_source TPC-TOF ; then
302+
ITSTPCMatchQuery+=";matchTPCTOF:TOF/MTC_TPC/0;trackTPCTOF:TOF/TOFTRACKS_TPC/0"
303+
TRACKSOURCESK0+=",TPC-TOF"
304+
fi
305+
if has_secvtx_source TPC-TRD-TOF ; then
306+
ITSTPCMatchQuery+=";matchTPCTRDTOF/TOF/MTC_TPCTRD/0"
307+
TRACKSOURCESK0+=",TPC-TRD-TOF"
308+
fi
309+
if has_secvtx_source TOF ; then
310+
ITSTPCMatchQuery+=";tofcluster:TOF/CLUSTERS/0"
311+
TRACKSOURCESK0+=",TOF"
312+
fi
313+
if has_secvtx_source TRD ; then
314+
TRACKSOURCESK0+=",TRD"
315+
fi
316+
fi
317+
TEMP_FILE=$(mktemp "${i}"_XXXXXXX)
318+
if [[ $SYNCMODE == 1 ]] || [[ $EPNSYNCMODE == 1 ]] ; then
319+
cat "${!DET_JSON_FILE}" | jq "(.dataSamplingPolicies[] | select(.id == \"ITSTPCmSampK0\") | .query) = \"$ITSTPCMatchQuery\" | .qc.tasks.MTCITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\"" > "$TEMP_FILE"
320+
else
321+
cat "${!DET_JSON_FILE}" | jq ".qc.tasks.GLOMatchTrITSTPC.dataSource.query = \"$ITSTPCMatchQuery\" | .qc.tasks.GLOMatchTrITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\"" > "$TEMP_FILE"
322+
fi
323+
else
324+
# we need to force that the K0s part is disabled
325+
TEMP_FILE=$(mktemp "${i}"_XXXXXXX)
326+
if [[ $SYNCMODE == 1 ]] || [[ $EPNSYNCMODE == 1 ]] ; then
327+
cat "${!DET_JSON_FILE}" | jq "(.dataSamplingPolicies[] | select(.id == \"ITSTPCmSampK0\") | .query) = \"$ITSTPCMatchQuery\" | .qc.tasks.MTCITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\" | .qc.tasks.MTCITSTPC.taskParameters.doK0QC = \"false\"" > "$TEMP_FILE"
328+
else
329+
cat "${!DET_JSON_FILE}" | jq ".qc.tasks.GLOMatchTrITSTPC.dataSource.query = \"$ITSTPCMatchQuery\" | .qc.tasks.GLOMatchTrITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\" | .qc.tasks.GLOMatchTrITSTPC.taskParameters.doK0QC = \"false\"" > "$TEMP_FILE"
330+
fi
331+
fi
332+
DET_JSON_FILE=TEMP_FILE
333+
JSON_TEMP_FILES+=("$TEMP_FILE")
334+
fi
335+
fi
270336
add_QC_JSON GLO_$i ${!DET_JSON_FILE}
271337
fi
272338
done
@@ -324,6 +390,11 @@ elif [[ -z ${QC_JSON_FROM_OUTSIDE:-} ]]; then
324390
fi
325391
MERGED_JSON_FILENAME=$(realpath $MERGED_JSON_FILENAME)
326392

393+
# Clean up: delete the temporary files after use
394+
for tf in "${JSON_TEMP_FILES[@]}"; do
395+
rm -f "$tf"
396+
done
397+
327398
if [[ "${QC_REDIRECT_MERGER_TO_LOCALHOST:-}" == "1" ]]; then
328399
sed -i.bak -E 's/( *)"remoteMachine" *: *".*"(,?) *$/\1"remoteMachine": "127.0.0.1"\2/' $MERGED_JSON_FILENAME
329400
unlink $MERGED_JSON_FILENAME.bak
@@ -362,7 +433,9 @@ if [[ ! -z "${QC_JSON_FROM_OUTSIDE:-}" ]]; then
362433
QC_CONFIG_PARAM="--local-batch=QC.root"
363434
fi
364435
fi
436+
365437
add_W o2-qc "--config json://$QC_JSON_FROM_OUTSIDE ${QC_CONFIG_PARAM} ${QC_CONFIG}"
438+
366439
fi
367440

368441
if [[ ! -z ${GEN_TOPO_QC_JSON_FILE:-} ]]; then

MC/bin/o2dpg_qc_finalization_workflow.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def QC_finalize_name(name):
3333
return name + "_finalize"
3434

3535
qcdir = "QC"
36-
def include_all_QC_finalization(ntimeframes, standalone, run, productionTag, conditionDB, qcdbHost):
36+
def include_all_QC_finalization(ntimeframes, standalone, run, productionTag, conditionDB, qcdbHost, beamType):
3737

3838
stages = []
3939

@@ -49,7 +49,7 @@ def add_QC_finalization(taskName, qcConfigPath, needs=None):
4949

5050
task = createTask(name=QC_finalize_name(taskName), needs=needs, cwd=qcdir, lab=["QC"], cpu=1, mem='2000')
5151
task['cmd'] = f'o2-qc --config {qcConfigPath} --remote-batch {taskName}.root' + \
52-
f' --override-values "qc.config.database.host={qcdbHost};qc.config.Activity.number={run};qc.config.Activity.periodName={productionTag};qc.config.conditionDB.url={conditionDB}"' + \
52+
f' --override-values "qc.config.database.host={qcdbHost};qc.config.Activity.number={run};qc.config.Activity.type=PHYSICS;qc.config.Activity.periodName={productionTag};qc.config.Activity.beamType={beamType};qc.config.conditionDB.url={conditionDB}"' + \
5353
' ' + getDPL_global_options()
5454
stages.append(task)
5555

@@ -66,7 +66,9 @@ def add_QC_postprocessing(taskName, qcConfigPath, needs, runSpecific, prodSpecif
6666
task = createTask(name=taskName, needs=needs, cwd=qcdir, lab=["QC"], cpu=1, mem='2000')
6767
overrideValues = '--override-values "'
6868
overrideValues += f'qc.config.Activity.number={run};' if runSpecific else 'qc.config.Activity.number=0;'
69+
overrideValues += f'qc.config.Activity.type=PHYSICS;'
6970
overrideValues += f'qc.config.Activity.periodName={productionTag};' if prodSpecific else 'qc.config.Activity.periodName=;'
71+
overrideValues += f'qc.config.Activity.beamType={beamType};'
7072
overrideValues += f'qc.config.database.host={qcdbHost};qc.config.conditionDB.url={conditionDB}"'
7173
task['cmd'] = f'o2-qc --config {qcConfigPath} ' + \
7274
overrideValues + ' ' + getDPL_global_options()
@@ -124,6 +126,7 @@ def main() -> int:
124126
parser.add_argument('-productionTag',help="Production tag for this MC", default='unknown')
125127
parser.add_argument('-conditionDB',help="CCDB url for QC workflows", default='http://alice-ccdb.cern.ch')
126128
parser.add_argument('-qcdbHost',help="QCDB url for QC object uploading", default='http://ali-qcdbmc-gpn.cern.ch:8083')
129+
parser.add_argument('-beamType',help="Collision system, e.g. PbPb, pp", default='')
127130
args = parser.parse_args()
128131
print (args)
129132

@@ -145,7 +148,7 @@ def main() -> int:
145148
mkdir(qcdir)
146149

147150
workflow={}
148-
workflow['stages'] = include_all_QC_finalization(ntimeframes=1, standalone=True, run=args.run, productionTag=args.productionTag, conditionDB=args.conditionDB, qcdbHost=args.qcdbHost)
151+
workflow['stages'] = include_all_QC_finalization(ntimeframes=1, standalone=True, run=args.run, productionTag=args.productionTag, conditionDB=args.conditionDB, qcdbHost=args.qcdbHost, beamType=args.beamType)
149152

150153
dump_workflow(workflow["stages"], args.o)
151154

MC/bin/o2dpg_sim_workflow.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1302,7 +1302,7 @@ def addQCPerTF(taskName, needs, readerCommand, configFilePath, objectsFile=''):
13021302
# the --local-batch argument will make QC Tasks store their results in a file and merge with any existing objects
13031303
task['cmd'] = f'{readerCommand} | o2-qc --config {configFilePath}' + \
13041304
f' --local-batch ../{qcdir}/{objectsFile}' + \
1305-
f' --override-values "qc.config.database.host={args.qcdbHost};qc.config.Activity.number={args.run};qc.config.Activity.periodName={args.productionTag};qc.config.Activity.start={args.timestamp};qc.config.conditionDB.url={args.conditionDB}"' + \
1305+
f' --override-values "qc.config.database.host={args.qcdbHost};qc.config.Activity.number={args.run};qc.config.Activity.type=PHYSICS;qc.config.Activity.periodName={args.productionTag};qc.config.Activity.beamType={args.col};qc.config.Activity.start={args.timestamp};qc.config.conditionDB.url={args.conditionDB}"' + \
13061306
' ' + getDPL_global_options(ccdbbackend=False)
13071307
# Prevents this task from being run for multiple TimeFrames at the same time, thus trying to modify the same file.
13081308
task['semaphore'] = objectsFile
@@ -1572,7 +1572,7 @@ def addQCPerTF(taskName, needs, readerCommand, configFilePath, objectsFile=''):
15721572

15731573
job_merging = False
15741574
if includeFullQC:
1575-
workflow['stages'].extend(include_all_QC_finalization(ntimeframes=NTIMEFRAMES, standalone=False, run=args.run, productionTag=args.productionTag, conditionDB=args.conditionDB, qcdbHost=args.qcdbHost))
1575+
workflow['stages'].extend(include_all_QC_finalization(ntimeframes=NTIMEFRAMES, standalone=False, run=args.run, productionTag=args.productionTag, conditionDB=args.conditionDB, qcdbHost=args.qcdbHost, beamType=args.col))
15761576

15771577
if includeAnalysis:
15781578
# include analyses and potentially final QC upload tasks

0 commit comments

Comments
 (0)