Skip to content

Commit dc96374

Browse files
f3schchiarazampolli
authored andcommitted
GLOQC: K0s in sync
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent e6b3776 commit dc96374

File tree

2 files changed

+65
-45
lines changed

2 files changed

+65
-45
lines changed

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
"minPtCut": "0.f",
5050
"maxPtCut": "1e10f",
5151
"etaCut": "1e10f",
52-
"cutK0Mass": "0.05f",
53-
"maxEtaK0": "0.8f",
54-
"doK0QC": "false",
55-
"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"
52+
"cutK0Mass": "0.05f",
53+
"maxEtaK0": "0.8f",
54+
"doK0QC": "false",
55+
"trackSourcesK0": ""
5656
},
57-
"grpGeomRequest" : {
57+
"grpGeomRequest" : {
5858
"geomRequest": "None",
5959
"askGRPECS": "false",
6060
"askGRPLHCIF": "false",
@@ -65,13 +65,13 @@
6565
"needPropagatorD": "false"
6666
},
6767
"location" : "local",
68-
"localMachines": [
68+
"localMachines": [
6969
"epn",
70-
"localhost"
70+
"localhost"
7171
],
7272
"remoteMachine": "alio2-cr1-qc07.cern.ch",
73-
"remotePort": "47761",
74-
"localControl": "odc"
73+
"remotePort": "47761",
74+
"localControl": "odc"
7575
}
7676
}
7777
},

DATA/production/qc-workflow.sh

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

53+
JSON_TEMP_FILES="()"
54+
5355
QC_CONFIG=
5456
QC_CONFIG_OVERRIDE=
5557
: ${QC_DETECTOR_CONFIG_OVERRIDE:=} # set to empty string only if not already set externally
@@ -267,42 +269,55 @@ elif [[ -z ${QC_JSON_FROM_OUTSIDE:-} ]]; then
267269
if has_matching_qc $i && [ ! -z "${!DET_JSON_FILE:-}" ]; then
268270
if [[ $i == "PRIMVTX" ]] && ! has_detector_reco ITS; then continue; fi
269271
if [[ $i == "ITSTPC" ]] ; then
270-
if ! has_detectors_reco ITS TPC; then continue
271-
else
272-
# replace the input sources depending on the detector compostition and matching detectors
273-
ITSTPCMatchQuery="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"
274-
HAS_K0_ENABLED=`jq -r .qc.tasks.MTCITSTPC.taskParameters.doK0QC ${!DET_JSON_FILE}`
275-
if [[ $HAS_K0_ENABLED == "true" ]]; then
276-
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;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"
277-
if has_secvtx_source ITS-TPC-TRD ; then
278-
ITSTPCMatchQuery+=";trigITSTPCTRD:TRD/TRGREC_ITSTPC/0;trackITSTPCTRD:TRD/MATCH_ITSTPC/0"
279-
fi
280-
if has_secvtx_source ITS-TPC-TOF ; then
281-
ITSTPCMatchQuery+=";matchITSTPCTOF:TOF/MTC_ITSTPC/0"
282-
fi
283-
if has_secvtx_source ITS-TPC-TRD-TOF ; then
284-
ITSTPCMatchQuery+=";matchITSTPCTRDTOF:TOF/MTC_ITSTPCTRD/0"
285-
fi
286-
if has_secvtx_source TPC-TRD ; then
287-
ITSTPCMatchQuery+=";trigTPCTRD:TRD/TRGREC_TPC/0;trackTPCTRD:TRD/MATCH_TPC/0"
288-
fi
289-
if has_secvtx_source TPC-TOF ; then
290-
ITSTPCMatchQuery+=";matchTPCTOF:TOF/MTC_TPC/0;trackTPCTOF:TOF/TOFTRACKS_TPC/0"
291-
fi
292-
if has_secvtx_source TPC-TRD-TOF ; then
293-
ITSTPCMatchQuery+=";matchTPCTRDTOF/TOF/MTC_TPCTRD/0"
294-
fi
295-
if has_secvtx_source TOF ; then
296-
ITSTPCMatchQuery+=";tofcluster:TOF/CLUSTERS/0"
297-
fi
298-
fi
299-
echo "We are looking at $i"
300-
if [[ $SYNCMODE == 1 ]] || [[ $EPNSYNCMODE == 1 ]] ; then
301-
add_pipe_separated QC_DETECTOR_CONFIG_OVERRIDE '.dataSamplingPolicies.ITSTPCmSampK0.query=\"$ITSTPCMatchQuery\"'
302-
else
303-
add_pipe_separated QC_DETECTOR_CONFIG_OVERRIDE '.qc.tasks.MTCITSTPC.dataSource.query=\"$ITSTPCMatchQuery\"'
304-
fi
305-
fi
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;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+
HAS_K0_ENABLED=$(jq -r .qc.tasks.MTCITSTPC.taskParameters.doK0QC "${!DET_JSON_FILE}")
277+
TRACKSOURCESK0="ITS,TPC,ITS-TPC"
278+
if [[ $HAS_K0_ENABLED == "true" ]]; then
279+
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;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"
280+
if has_secvtx_source ITS-TPC-TRD ; then
281+
ITSTPCMatchQuery+=";trigITSTPCTRD:TRD/TRGREC_ITSTPC/0;trackITSTPCTRD:TRD/MATCH_ITSTPC/0"
282+
TRACKSOURCESK0+=",ITS-TPC-TRD"
283+
fi
284+
if has_secvtx_source ITS-TPC-TOF ; then
285+
ITSTPCMatchQuery+=";matchITSTPCTOF:TOF/MTC_ITSTPC/0"
286+
TRACKSOURCESK0+=",ITS-TPC-TOF"
287+
fi
288+
if has_secvtx_source ITS-TPC-TRD-TOF ; then
289+
ITSTPCMatchQuery+=";matchITSTPCTRDTOF:TOF/MTC_ITSTPCTRD/0"
290+
TRACKSOURCESK0+=",ITS-TPC-TRD-TOF"
291+
fi
292+
if has_secvtx_source TPC-TRD ; then
293+
ITSTPCMatchQuery+=";trigTPCTRD:TRD/TRGREC_TPC/0;trackTPCTRD:TRD/MATCH_TPC/0"
294+
TRACKSOURCESK0+=",TPC-TRD"
295+
fi
296+
if has_secvtx_source TPC-TOF ; then
297+
ITSTPCMatchQuery+=";matchTPCTOF:TOF/MTC_TPC/0;trackTPCTOF:TOF/TOFTRACKS_TPC/0"
298+
TRACKSOURCESK0+=",TPC-TOF"
299+
fi
300+
if has_secvtx_source TPC-TRD-TOF ; then
301+
ITSTPCMatchQuery+=";matchTPCTRDTOF/TOF/MTC_TPCTRD/0"
302+
TRACKSOURCESK0+=",TPC-TRD-TOF"
303+
fi
304+
if has_secvtx_source TOF ; then
305+
ITSTPCMatchQuery+=";tofcluster:TOF/CLUSTERS/0"
306+
TRACKSOURCESK0+=",TOF"
307+
fi
308+
if has_secvtx_source TRD ; then
309+
TRACKSOURCESK0+=",TRD"
310+
fi
311+
fi
312+
TEMP_FILE=$(mktemp "${i}"_XXXXXXX)
313+
if [[ $SYNCMODE == 1 ]] || [[ $EPNSYNCMODE == 1 ]] ; then
314+
cat "${!DET_JSON_FILE}" | jq "(.dataSamplingPolicies[] | select(.id == \"ITSTPCmSampK0\") | .query) = \"$ITSTPCMatchQuery\" | .qc.tasks.MTCITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\"" > "$TEMP_FILE"
315+
else
316+
cat "${!DET_JSON_FILE}" | jq ".qc.tasks.MTCITSTPC.taskParameters.trackSourcesK0 = \"$TRACKSOURCESK0\"" > "$TEMP_FILE"
317+
fi
318+
DET_JSON_FILE=TEMP_FILE
319+
JSON_TEMP_FILES+=("$TEMP_FILE")
320+
fi
306321
fi
307322
add_QC_JSON GLO_$i ${!DET_JSON_FILE}
308323
fi
@@ -361,6 +376,11 @@ elif [[ -z ${QC_JSON_FROM_OUTSIDE:-} ]]; then
361376
fi
362377
MERGED_JSON_FILENAME=$(realpath $MERGED_JSON_FILENAME)
363378

379+
# Clean up: delete the temporary files after use
380+
for tf in "${JSON_TEMP_FILES[@]}"; do
381+
rm -f "$tf"
382+
done
383+
364384
if [[ "${QC_REDIRECT_MERGER_TO_LOCALHOST:-}" == "1" ]]; then
365385
sed -i.bak -E 's/( *)"remoteMachine" *: *".*"(,?) *$/\1"remoteMachine": "127.0.0.1"\2/' $MERGED_JSON_FILENAME
366386
unlink $MERGED_JSON_FILENAME.bak

0 commit comments

Comments
 (0)