|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +#SEVERITY="detail" |
| 4 | +#ENABLE_METRICS=1 |
| 5 | + |
| 6 | +source $O2DPG_ROOT/DATA/common/setenv.sh |
| 7 | +source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh |
| 8 | +source $O2DPG_ROOT/DATA/common/getCommonArgs.sh |
| 9 | +source $O2DPG_ROOT/DATA/common/setenv_calib.sh |
| 10 | + |
| 11 | +# check that WORKFLOW_DETECTORS is needed, otherwise the wrong calib wf will be built |
| 12 | +if [[ -z $WORKFLOW_DETECTORS ]]; then echo "WORKFLOW_DETECTORS must be defined" 1>&2; exit 1; fi |
| 13 | + |
| 14 | +# CCDB destination for uploads |
| 15 | +[[ -z ${CCDB_POPULATOR_UPLOAD_PATH+x} ]] && CCDB_POPULATOR_UPLOAD_PATH="none" |
| 16 | +echo "CCDB_POPULATOR_UPLOAD_PATH = $CCDB_POPULATOR_UPLOAD_PATH" 1>&2 |
| 17 | + |
| 18 | +# Adding calibrations |
| 19 | +EXTRA_WORKFLOW_CALIB= |
| 20 | + |
| 21 | +echo "CALIB_PRIMVTX_MEANVTX = $CALIB_PRIMVTX_MEANVTX" 1>&2 |
| 22 | +echo "CALIB_TOF_LHCPHASE = $CALIB_TOF_LHCPHASE" 1>&2 |
| 23 | +echo "CALIB_TOF_CHANNELOFFSETS = $CALIB_TOF_CHANNELOFFSETS" 1>&2 |
| 24 | +echo "CALIB_TOF_DIAGNOSTICS = $CALIB_TOF_DIAGNOSTICS" 1>&2 |
| 25 | +echo "CALIB_EMC_CHANNELCALIB = $CALIB_EMC_CHANNELCALIB" 1>&2 |
| 26 | +echo "CALIB_PHS_ENERGYCALIB = $CALIB_PHS_ENERGYCALIB" 1>&2 |
| 27 | +echo "CALIB_PHS_BADMAPCALIB = $CALIB_PHS_BADMAPCALIB" 1>&2 |
| 28 | +echo "CALIB_PHS_TURNONCALIB = $CALIB_PHS_TURNONCALIB" 1>&2 |
| 29 | +echo "CALIB_PHS_RUNBYRUNCALIB = $CALIB_PHS_RUNBYRUNCALIB" 1>&2 |
| 30 | +echo "CALIB_TRD_VDRIFTEXB = $CALIB_TRD_VDRIFTEXB" 1>&2 |
| 31 | + |
| 32 | +# PrimVertex |
| 33 | +if [[ $CALIB_PRIMVTX_MEANVTX == 1 ]]; then |
| 34 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-mean-vertex-calibration-workflow $ARGS_ALL | " |
| 35 | +fi |
| 36 | + |
| 37 | +# TOF |
| 38 | +if [[ $CALIB_TOF_LHCPHASE == 1 ]] || [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then |
| 39 | + if [[ $CALIB_TOF_LHCPHASE == 1 ]]; then |
| 40 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-lhc-phase --tf-per-slot 10 | " |
| 41 | + fi |
| 42 | + if [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then |
| 43 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-channel-offset --update-at-end-of-run-only --min-entries 8 --range 100000 | " |
| 44 | + fi |
| 45 | +fi |
| 46 | +if [[ $CALIB_TOF_DIAGNOSTICS == 1 ]]; then |
| 47 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " |
| 48 | +fi |
| 49 | + |
| 50 | +# TRD |
| 51 | +if [[ $CALIB_TRD_VDRIFTEXB == 1 ]]; then |
| 52 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-trd-vdrift-exb $ARGS_ALL | " |
| 53 | +fi |
| 54 | + |
| 55 | +# Calo cal |
| 56 | +# EMC |
| 57 | +if [[ $CALIB_EMC_CHANNELCALIB == 1 ]]; then |
| 58 | + EXTRA_WORKFLOW_CALIB+="o2-calibration-emcal-channel-calib-workflow --calibMode timeCalib $ARGS_ALL | " |
| 59 | +fi |
| 60 | + |
| 61 | +# PHS |
| 62 | +if [[ $CALIB_PHS_ENERGYCALIB == 1 ]]; then |
| 63 | + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --energy $ARGS_ALL | " |
| 64 | +fi |
| 65 | +if [[ $CALIB_PHS_BADMAPCALIB == 1 ]]; then |
| 66 | + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --badmap --mode 0 $ARGS_ALL | " |
| 67 | +fi |
| 68 | +if [[ $CALIB_PHS_TURNONCALIB == 1 ]]; then |
| 69 | + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --turnon $ARGS_ALL | " |
| 70 | +fi |
| 71 | +if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then |
| 72 | + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --runbyrun $ARGS_ALL | " |
| 73 | +fi |
| 74 | + |
| 75 | +# starting with empty workflow |
| 76 | +if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR ; then |
| 77 | + WORKFLOW= |
| 78 | +fi |
| 79 | + |
| 80 | +# adding output proxies |
| 81 | +if workflow_has_parameter CALIB_PROXIES; then |
| 82 | + if [[ ! -z $CALIBDATASPEC_BARREL ]]; then |
| 83 | + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " |
| 84 | + fi |
| 85 | + if [[ ! -z $CALIBDATASPEC_CALO ]]; then |
| 86 | + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " |
| 87 | + fi |
| 88 | +fi |
| 89 | + |
| 90 | +WORKFLOW+=$EXTRA_WORKFLOW_CALIB |
| 91 | + |
| 92 | +if [[ $CCDB_POPULATOR_UPLOAD_PATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDB_POPULATOR_UPLOAD_PATH $ARGS_ALL | "; fi |
| 93 | + |
| 94 | +if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR; then |
| 95 | + WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" |
| 96 | + if [ $WORKFLOWMODE == "print" ]; then |
| 97 | + echo Workflow command adding aggregator: |
| 98 | + echo $WORKFLOW | sed "s/| */|\n/g" |
| 99 | + else |
| 100 | + # Execute the command we have assembled |
| 101 | + WORKFLOW+=" --$WORKFLOWMODE" |
| 102 | + eval $WORKFLOW |
| 103 | + fi |
| 104 | +fi |
0 commit comments