From d30ec8a8edf36286c7f686f2e6bd2a5d8550f779 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Thu, 5 May 2022 23:02:11 +0200 Subject: [PATCH 01/10] adding calib-workflow --- .../full-system-test/aggregator-workflow.sh | 52 +++++++++++++++++++ prodtests/full-system-test/calib-workflow.sh | 16 ++++-- prodtests/full-system-test/dpl-workflow.sh | 5 +- 3 files changed, 68 insertions(+), 5 deletions(-) create mode 100755 prodtests/full-system-test/aggregator-workflow.sh diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh new file mode 100755 index 0000000000000..d366d46618640 --- /dev/null +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +SEVERITY="detail" +ENABLE_METRICS=1 +source $O2DPG_ROOT/DATA/common/setenv.sh +source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh + +# --------------------------------------------------------------------------------------------------------------------- +# Set general arguments +source $O2DPG_ROOT/DATA/common/getCommonArgs.sh + +# Set up calibrations +source $O2DPG_ROOT/DATA/common/setenv_calib.sh + +# Adding calibrations +EXTRA_WORKFLOW= + +echo "CALIB_PRIMVTX_MEANVTX = $CALIB_PRIMVTX_MEANVTX" 1>&2 +echo "CALIB_TOF_LHCPHASE = $CALIB_TOF_LHCPHASE" 1>&2 +echo "CALIB_TOF_CHANNELOFFSETS = $CALIB_TOF_CHANNELOFFSETS" 1>&2 +echo "CALIB_TOF_DIAGNOSTICS = $CALIB_TOF_DIAGNOSTICS" 1>&2 + +# PrimVertex +if [[ $CALIB_PRIMVTX_MEANVTX == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-mean-vertex-calibration-workflow $ARGS_ALL | " +fi + +# TOF +if [[ $CALIB_TOF_LHCPHASE == 1 ]] || [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then + if [[ $CALIB_TOF_LHCPHASE == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-lhc-phase --tf-per-slot 10 | " + fi + if [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-channel-offset --update-at-end-of-run-only --min-entries 8 --range 100000 |" + fi +fi +if [[ $CALIB_TOF_DIAGNOSTICS == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " +fi + +WORKFLOW="o2-dpl-raw-proxy $ARGS_ALL --proxy-name aggregator-proxy --dataspec \"$CALIBDATASPEC\" --channel-config \"name=aggregator-proxy,method=bind,type=pull,rateLogging=1,transport=zeromq,address=tcp://localhost:30453\" |" +WORKFLOW+=$EXTRA_WORKFLOW +WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT" + +if [ $WORKFLOWMODE == "print" ]; then + echo Workflow command: + echo $WORKFLOW | sed "s/| */|\n/g" +else + # Execute the command we have assembled + WORKFLOW+=" --$WORKFLOWMODE" + eval $WORKFLOW +fi diff --git a/prodtests/full-system-test/calib-workflow.sh b/prodtests/full-system-test/calib-workflow.sh index e4e00ee30d901..d08342df388b6 100644 --- a/prodtests/full-system-test/calib-workflow.sh +++ b/prodtests/full-system-test/calib-workflow.sh @@ -1,14 +1,22 @@ #!/bin/bash +# --------------------------------------------------------------------------------------------------------------------- +# Get this script's directory and load common settings (use zsh first (e.g. on Mac) and fallback on `readlink -f` if zsh is not there) +MYDIR="$(dirname $(realpath $0))" +source $O2DPG_ROOT/DATA/common/setenv.sh +source $O2DPG_ROOT/DATA/common/setenv_calib.sh + if [[ -z "$WORKFLOW" ]] || [[ -z "$MYDIR" ]]; then echo This script must be called from the dpl-workflow.sh and not standalone 1>&2 exit 1 fi -if [[ $BEAMTYPE != "cosmic" ]]; then - has_detector_calib TPC && has_detectors TPC ITS TRD TOF && add_W o2-tpc-scdcalib-interpolation-workflow "$DISABLE_ROOT_OUTPUT --disable-root-input --pipeline $(get_N tpc-track-interpolation TPC REST)" "$ITSMFT_FILES" - has_detector_calib ITS && has_detectors ITS && has_detectors_reco ITS && has_detector_matching PRIMVTX && [[ ! -z "$VERTEXING_SOURCES" ]] && add_W o2-calibration-mean-vertex-calibration-workflow - has_detector_calib TRD && has_detector ITS TPC TRD && add_W o2-calibration-trd-vdrift-exb +# specific calibration workflows +if [[ $CALIB_TPC_SCDCALIB == 1 ]]; then add_W o2-tpc-scdcalib-interpolation-workflow "$DISABLE_ROOT_OUTPUT --disable-root-input --pipeline $(get_N tpc-track-interpolation TPC REST)" "$ITSMFT_FILES"; fi + +# output-proxy for aggregator +if [[ ! -z $CALIBDATASPEC ]]; then + WORKFLOW+="o2-dpl-output-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC\" --proxy-channel-name aggregator-proxy --channel-config \"name=aggregator-proxy,method=connect,type=push,transport=zeromq,rateLogging=1,address=tcp://localhost:30453\" | " fi true # everything OK up to this point, so the script should return 0 (it is !=0 already if a has_detector check fails) diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index 3eba2d9fb1c54..0b5be08e12c99 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -386,7 +386,10 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows -workflow_has_parameter CALIB && { source $MYDIR/calib-workflow.sh; [[ $? != 0 ]] && exit 1; } +if [[ -z $CALIB_WF ]]; then + CALIB_WF=$MYDIR/calib-workflow.sh +fi +workflow_has_parameter CALIB && { source $CALIB_WF; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From c666a06e7f5360f6756a1dba14bbd2d12bab1219 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Fri, 6 May 2022 09:52:14 +0200 Subject: [PATCH 02/10] PHS + EMC + aggregator --- .../full-system-test/aggregator-workflow.sh | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index d366d46618640..77c9b674e4865 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -12,6 +12,9 @@ source $O2DPG_ROOT/DATA/common/getCommonArgs.sh # Set up calibrations source $O2DPG_ROOT/DATA/common/setenv_calib.sh +# CCDB destination for uploads +[[ -z ${CCDBPATH+x} ]] && CCDBPATH="http://o2-ccdb.internal" + # Adding calibrations EXTRA_WORKFLOW= @@ -19,6 +22,11 @@ echo "CALIB_PRIMVTX_MEANVTX = $CALIB_PRIMVTX_MEANVTX" 1>&2 echo "CALIB_TOF_LHCPHASE = $CALIB_TOF_LHCPHASE" 1>&2 echo "CALIB_TOF_CHANNELOFFSETS = $CALIB_TOF_CHANNELOFFSETS" 1>&2 echo "CALIB_TOF_DIAGNOSTICS = $CALIB_TOF_DIAGNOSTICS" 1>&2 +echo "CALIB_EMC_CHANNELCALIB = $CALIB_EMC_CHANNELCALIB" 1>&2 +echo "CALIB_PHS_ENERGYCALIB = $CALIB_PHS_ENERGYCALIB" 1>&2 +echo "CALIB_PHS_BADMAPCALIB = $CALIB_PHS_BADMAPCALIB" 1>&2 +echo "CALIB_PHS_TURNONCALIB = $CALIB_PHS_TURNONCALIB" 1>&2 +echo "CALIB_PHS_RUNBYRUNCALIB = $CALIB_PHS_RUNBYRUNCALIB" 1>&2 # PrimVertex if [[ $CALIB_PRIMVTX_MEANVTX == 1 ]]; then @@ -38,8 +46,28 @@ if [[ $CALIB_TOF_DIAGNOSTICS == 1 ]]; then EXTRA_WORKFLOW+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " fi -WORKFLOW="o2-dpl-raw-proxy $ARGS_ALL --proxy-name aggregator-proxy --dataspec \"$CALIBDATASPEC\" --channel-config \"name=aggregator-proxy,method=bind,type=pull,rateLogging=1,transport=zeromq,address=tcp://localhost:30453\" |" +# EMC +if [[ $CALIB_EMC_CHANNELCALIB == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-emcal-channel-calib-workflow --calibMode timeCalib | " +fi + +# PHS +if [[ $CALIB_PHS_ENERGYCALIB == 1 ]]; then + EXTRA_WORKFLOW+="o2-phos-calib-workflow --energy | " +fi +if [[ $CALIB_PHS_BADMAPCALIB == 1 ]]; then + EXTRA_WORKFLOW+="o2-phos-calib-workflow --badmap --mode 0 | " +fi +if [[ $CALIB_PHS_TURNONCALIB == 1 ]]; then + EXTRA_WORKFLOW+="o2-phos-calib-workflow --turnon | " +fi +if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then + EXTRA_WORKFLOW+="o2-phos-calib-workflow --runbyrun | " +fi + +WORKFLOW="o2-dpl-raw-proxy $ARGS_ALL --proxy-name aggregator-proxy --dataspec \"$CALIBDATASPEC\" --channel-config \"name=aggregator-proxy,method=bind,type=pull,rateLogging=1,transport=zeromq,address=tcp://localhost:30453\" | " WORKFLOW+=$EXTRA_WORKFLOW +if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDBPATH | "; fi WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT" if [ $WORKFLOWMODE == "print" ]; then From 39c5b18276f92b03be74ebfcd1fa006748da3ac2 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Fri, 6 May 2022 12:33:02 +0200 Subject: [PATCH 03/10] Using function for proxies --- prodtests/full-system-test/aggregator-workflow.sh | 14 ++++++++++++-- prodtests/full-system-test/calib-workflow.sh | 9 +++++++-- prodtests/full-system-test/dpl-workflow.sh | 5 +---- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 77c9b674e4865..72a87cdbb54a5 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -65,10 +65,20 @@ if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then EXTRA_WORKFLOW+="o2-phos-calib-workflow --runbyrun | " fi -WORKFLOW="o2-dpl-raw-proxy $ARGS_ALL --proxy-name aggregator-proxy --dataspec \"$CALIBDATASPEC\" --channel-config \"name=aggregator-proxy,method=bind,type=pull,rateLogging=1,transport=zeromq,address=tcp://localhost:30453\" | " +# starting with empty workflow +WORKFLOW= +if workflow_has_parameters CALIB_PROXIES; then + if [[ ! -z $CALIBDATASPEC_BARREL ]]; then + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " + fi + if [[ ! -z $CALIBDATASPEC_CALO ]]; then + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " + fi +fi + WORKFLOW+=$EXTRA_WORKFLOW if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDBPATH | "; fi -WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT" +WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" if [ $WORKFLOWMODE == "print" ]; then echo Workflow command: diff --git a/prodtests/full-system-test/calib-workflow.sh b/prodtests/full-system-test/calib-workflow.sh index d08342df388b6..fd91efb10ada7 100644 --- a/prodtests/full-system-test/calib-workflow.sh +++ b/prodtests/full-system-test/calib-workflow.sh @@ -15,8 +15,13 @@ fi if [[ $CALIB_TPC_SCDCALIB == 1 ]]; then add_W o2-tpc-scdcalib-interpolation-workflow "$DISABLE_ROOT_OUTPUT --disable-root-input --pipeline $(get_N tpc-track-interpolation TPC REST)" "$ITSMFT_FILES"; fi # output-proxy for aggregator -if [[ ! -z $CALIBDATASPEC ]]; then - WORKFLOW+="o2-dpl-output-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC\" --proxy-channel-name aggregator-proxy --channel-config \"name=aggregator-proxy,method=connect,type=push,transport=zeromq,rateLogging=1,address=tcp://localhost:30453\" | " +if workflow_has_parameters CALIB_PROXIES; then + if [[ ! -z $CALIBDATASPEC_BARREL ]]; then + WORKFLOW+="o2-dpl-output-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel output) | " + fi + if [[ ! -z $CALIBDATASPEC_CALO ]]; then + WORKFLOW+="o2-dpl-output-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo output) | " + fi fi true # everything OK up to this point, so the script should return 0 (it is !=0 already if a has_detector check fails) diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index 0b5be08e12c99..eebba652face3 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -386,10 +386,7 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows -if [[ -z $CALIB_WF ]]; then - CALIB_WF=$MYDIR/calib-workflow.sh -fi -workflow_has_parameter CALIB && { source $CALIB_WF; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From 3911ef50cca803fd362dcabb161a0a2cfd327747 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Fri, 6 May 2022 15:09:15 +0200 Subject: [PATCH 04/10] adding TRD to aggregator --- prodtests/full-system-test/aggregator-workflow.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 72a87cdbb54a5..7cb9206d01a97 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -27,6 +27,7 @@ echo "CALIB_PHS_ENERGYCALIB = $CALIB_PHS_ENERGYCALIB" 1>&2 echo "CALIB_PHS_BADMAPCALIB = $CALIB_PHS_BADMAPCALIB" 1>&2 echo "CALIB_PHS_TURNONCALIB = $CALIB_PHS_TURNONCALIB" 1>&2 echo "CALIB_PHS_RUNBYRUNCALIB = $CALIB_PHS_RUNBYRUNCALIB" 1>&2 +echo "CALIB_TRD_VDRIFTEXB = $CALIB_TRD_VDRIFTEXB" 1>&2 # PrimVertex if [[ $CALIB_PRIMVTX_MEANVTX == 1 ]]; then @@ -46,6 +47,12 @@ if [[ $CALIB_TOF_DIAGNOSTICS == 1 ]]; then EXTRA_WORKFLOW+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " fi +# TRD +if [[ $CALIB_TRD_VDRIFTEXB == 1 ]]; then + EXTRA_WORKFLOW+="o2-calibration-trd-vdrift-exb | " +fi + +# Calo cal # EMC if [[ $CALIB_EMC_CHANNELCALIB == 1 ]]; then EXTRA_WORKFLOW+="o2-calibration-emcal-channel-calib-workflow --calibMode timeCalib | " From a7185a1d2780f9dbe859f447a38244514c10e029 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Fri, 6 May 2022 21:54:47 +0200 Subject: [PATCH 05/10] run calib w/o proxies in main workflow --- prodtests/full-system-test/aggregator-workflow.sh | 5 ++++- prodtests/full-system-test/dpl-workflow.sh | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 7cb9206d01a97..37be54001619a 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -12,6 +12,9 @@ source $O2DPG_ROOT/DATA/common/getCommonArgs.sh # Set up calibrations source $O2DPG_ROOT/DATA/common/setenv_calib.sh +# check that WORKFLOW_DETECTORS is needed, otherwise the wrong calib wf will be built +if [[ -z $WORKFLOW_DETECTORS ]]; then echo "WORKFLOW_DETECTORS must be defined" 1>&2; exit 1; fi + # CCDB destination for uploads [[ -z ${CCDBPATH+x} ]] && CCDBPATH="http://o2-ccdb.internal" @@ -73,8 +76,8 @@ if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then fi # starting with empty workflow -WORKFLOW= if workflow_has_parameters CALIB_PROXIES; then + WORKFLOW= if [[ ! -z $CALIBDATASPEC_BARREL ]]; then WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " fi diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index eebba652face3..e7c42ae3ef5a5 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -387,6 +387,7 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From 0ebeacd4b2da43034a7218650db1d4510b76d176 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Sat, 7 May 2022 00:20:02 +0200 Subject: [PATCH 06/10] fixes in logic --- .../full-system-test/aggregator-workflow.sh | 38 ++++++++++--------- prodtests/full-system-test/dpl-workflow.sh | 4 +- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 37be54001619a..1da78cec90bf5 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -17,9 +17,10 @@ if [[ -z $WORKFLOW_DETECTORS ]]; then echo "WORKFLOW_DETECTORS must be defined" # CCDB destination for uploads [[ -z ${CCDBPATH+x} ]] && CCDBPATH="http://o2-ccdb.internal" +echo "CCDBPATH = $CCDBPATH" 1>&2 # Adding calibrations -EXTRA_WORKFLOW= +EXTRA_WORKFLOW_CALIB= echo "CALIB_PRIMVTX_MEANVTX = $CALIB_PRIMVTX_MEANVTX" 1>&2 echo "CALIB_TOF_LHCPHASE = $CALIB_TOF_LHCPHASE" 1>&2 @@ -34,45 +35,45 @@ echo "CALIB_TRD_VDRIFTEXB = $CALIB_TRD_VDRIFTEXB" 1>&2 # PrimVertex if [[ $CALIB_PRIMVTX_MEANVTX == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-mean-vertex-calibration-workflow $ARGS_ALL | " + EXTRA_WORKFLOW_CALIB+="o2-calibration-mean-vertex-calibration-workflow $ARGS_ALL | " fi # TOF if [[ $CALIB_TOF_LHCPHASE == 1 ]] || [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then if [[ $CALIB_TOF_LHCPHASE == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-lhc-phase --tf-per-slot 10 | " + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-lhc-phase --tf-per-slot 10 | " fi if [[ $CALIB_TOF_CHANNELOFFSETS == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-channel-offset --update-at-end-of-run-only --min-entries 8 --range 100000 |" + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-calib-workflow $ARGS_ALL --do-channel-offset --update-at-end-of-run-only --min-entries 8 --range 100000 | " fi fi if [[ $CALIB_TOF_DIAGNOSTICS == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " + EXTRA_WORKFLOW_CALIB+="o2-calibration-tof-diagnostic-workflow $ARGS_ALL --tf-per-slot 26400 | " fi # TRD if [[ $CALIB_TRD_VDRIFTEXB == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-trd-vdrift-exb | " + EXTRA_WORKFLOW_CALIB+="o2-calibration-trd-vdrift-exb $ARGS_ALL | " fi # Calo cal # EMC if [[ $CALIB_EMC_CHANNELCALIB == 1 ]]; then - EXTRA_WORKFLOW+="o2-calibration-emcal-channel-calib-workflow --calibMode timeCalib | " + EXTRA_WORKFLOW_CALIB+="o2-calibration-emcal-channel-calib-workflow --calibMode timeCalib $ARGS_ALL | " fi # PHS if [[ $CALIB_PHS_ENERGYCALIB == 1 ]]; then - EXTRA_WORKFLOW+="o2-phos-calib-workflow --energy | " + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --energy $ARGS_ALL | " fi if [[ $CALIB_PHS_BADMAPCALIB == 1 ]]; then - EXTRA_WORKFLOW+="o2-phos-calib-workflow --badmap --mode 0 | " + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --badmap --mode 0 $ARGS_ALL | " fi if [[ $CALIB_PHS_TURNONCALIB == 1 ]]; then - EXTRA_WORKFLOW+="o2-phos-calib-workflow --turnon | " + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --turnon |$ARGS_ALL | " fi if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then - EXTRA_WORKFLOW+="o2-phos-calib-workflow --runbyrun | " + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --runbyrun $ARGS_ALL | " fi # starting with empty workflow @@ -86,15 +87,18 @@ if workflow_has_parameters CALIB_PROXIES; then fi fi -WORKFLOW+=$EXTRA_WORKFLOW -if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDBPATH | "; fi -WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" +WORKFLOW+=$EXTRA_WORKFLOW_CALIB -if [ $WORKFLOWMODE == "print" ]; then - echo Workflow command: +if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDBPATH $ARGS_ALL | "; fi + +if workflow_has_parameters CALIB_PROXIES; then + WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" + if [ $WORKFLOWMODE == "print" ]; then + echo Workflow command adding aggregator: echo $WORKFLOW | sed "s/| */|\n/g" -else + else # Execute the command we have assembled WORKFLOW+=" --$WORKFLOWMODE" eval $WORKFLOW + fi fi diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index e7c42ae3ef5a5..daaffcbe63df2 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -386,8 +386,8 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows -workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } -workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && { echo "sourcing calib"; source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { echo "sourcing aggregator"; source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From 8421876f1b3f5d12cf7980fa16a4c5bd04d2d066 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Sat, 7 May 2022 00:29:23 +0200 Subject: [PATCH 07/10] to avoid conflict with same options in other wf's --- .../TOF/calibration/testWorkflow/tof-diagnostic-workflow.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Detectors/TOF/calibration/testWorkflow/tof-diagnostic-workflow.cxx b/Detectors/TOF/calibration/testWorkflow/tof-diagnostic-workflow.cxx index fa9d005a4bc20..3cde7be96867a 100644 --- a/Detectors/TOF/calibration/testWorkflow/tof-diagnostic-workflow.cxx +++ b/Detectors/TOF/calibration/testWorkflow/tof-diagnostic-workflow.cxx @@ -18,7 +18,7 @@ using namespace o2::framework; void customize(std::vector& workflowOptions) { // option allowing to set parameters - workflowOptions.push_back(ConfigParamSpec{"run-number", o2::framework::VariantType::Int, -1, {"run number"}}); + workflowOptions.push_back(ConfigParamSpec{"tof-dia-run-number", o2::framework::VariantType::Int, -1, {"run number"}}); } // ------------------------------------------------------------------ @@ -28,7 +28,7 @@ void customize(std::vector& workflowOptions) WorkflowSpec defineDataProcessing(ConfigContext const& configcontext) { WorkflowSpec specs; - auto runnumber = configcontext.options().get("run-number"); + auto runnumber = configcontext.options().get("tof-dia-run-number"); specs.emplace_back(getTOFDiagnosticCalibDeviceSpec(runnumber)); return specs; } From c8ecd39e74e841911d190a289f4abab0b45ade96 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Tue, 10 May 2022 22:05:34 +0200 Subject: [PATCH 08/10] fixes --- prodtests/full-system-test/aggregator-workflow.sh | 2 +- prodtests/full-system-test/dpl-workflow.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 1da78cec90bf5..96950305a9011 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -70,7 +70,7 @@ if [[ $CALIB_PHS_BADMAPCALIB == 1 ]]; then EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --badmap --mode 0 $ARGS_ALL | " fi if [[ $CALIB_PHS_TURNONCALIB == 1 ]]; then - EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --turnon |$ARGS_ALL | " + EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --turnon $ARGS_ALL | " fi if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then EXTRA_WORKFLOW_CALIB+="o2-phos-calib-workflow --runbyrun $ARGS_ALL | " diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index daaffcbe63df2..e7c42ae3ef5a5 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -386,8 +386,8 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows -workflow_has_parameter CALIB && { echo "sourcing calib"; source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } -workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { echo "sourcing aggregator"; source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From e9d4bea2c5a2a921b8f12fab309b77cc68414012 Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Tue, 10 May 2022 22:33:52 +0200 Subject: [PATCH 09/10] making aggregator independent of proxies --- .../full-system-test/aggregator-workflow.sh | 29 ++++++++++--------- prodtests/full-system-test/calib-workflow.sh | 10 +++---- prodtests/full-system-test/dpl-workflow.sh | 2 +- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 96950305a9011..3405b7f53698e 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -2,15 +2,18 @@ SEVERITY="detail" ENABLE_METRICS=1 -source $O2DPG_ROOT/DATA/common/setenv.sh -source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh + +# the check on LIST_OF_DETECTORS should ensure that setenv.sh was not called before +[[ -z ${LIST_OF_DETECTORS+z} ]] && source $O2DPG_ROOT/DATA/common/setenv.sh +# the check on TRACK_SOURCES should ensure that workflow-setup.sh was not called before +[[ -z ${TRACK_SOURCES+z} ]] && source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh # --------------------------------------------------------------------------------------------------------------------- -# Set general arguments -source $O2DPG_ROOT/DATA/common/getCommonArgs.sh +# Set general arguments (only if not already defined, checked via ARGS_ALL) +[[ -z ${ARGS_ALL+z} ]] && source $O2DPG_ROOT/DATA/common/getCommonArgs.sh -# Set up calibrations -source $O2DPG_ROOT/DATA/common/setenv_calib.sh +# Set up calibrations (if not already done, checked via SETUP_CALIB) +[[ $SETUP_CALIB != 1 ]] && source $O2DPG_ROOT/DATA/common/setenv_calib.sh # check that WORKFLOW_DETECTORS is needed, otherwise the wrong calib wf will be built if [[ -z $WORKFLOW_DETECTORS ]]; then echo "WORKFLOW_DETECTORS must be defined" 1>&2; exit 1; fi @@ -80,10 +83,10 @@ fi if workflow_has_parameters CALIB_PROXIES; then WORKFLOW= if [[ ! -z $CALIBDATASPEC_BARREL ]]; then - WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " fi if [[ ! -z $CALIBDATASPEC_CALO ]]; then - WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " fi fi @@ -94,11 +97,11 @@ if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-work if workflow_has_parameters CALIB_PROXIES; then WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" if [ $WORKFLOWMODE == "print" ]; then - echo Workflow command adding aggregator: - echo $WORKFLOW | sed "s/| */|\n/g" + echo Workflow command adding aggregator: + echo $WORKFLOW | sed "s/| */|\n/g" else - # Execute the command we have assembled - WORKFLOW+=" --$WORKFLOWMODE" - eval $WORKFLOW + # Execute the command we have assembled + WORKFLOW+=" --$WORKFLOWMODE" + eval $WORKFLOW fi fi diff --git a/prodtests/full-system-test/calib-workflow.sh b/prodtests/full-system-test/calib-workflow.sh index fd91efb10ada7..df0c0b377dc2b 100644 --- a/prodtests/full-system-test/calib-workflow.sh +++ b/prodtests/full-system-test/calib-workflow.sh @@ -1,10 +1,10 @@ #!/bin/bash -# --------------------------------------------------------------------------------------------------------------------- -# Get this script's directory and load common settings (use zsh first (e.g. on Mac) and fallback on `readlink -f` if zsh is not there) -MYDIR="$(dirname $(realpath $0))" -source $O2DPG_ROOT/DATA/common/setenv.sh -source $O2DPG_ROOT/DATA/common/setenv_calib.sh +# the check on LIST_OF_DETECTORS should ensure that setenv.sh was not called before +[[ -z ${LIST_OF_DETECTORS+z} ]] && source $O2DPG_ROOT/DATA/common/setenv.sh + +# Set up calibrations (if not already done, checked via SETUP_CALIB) +[[ $SETUP_CALIB != 1 ]] && source $O2DPG_ROOT/DATA/common/setenv_calib.sh if [[ -z "$WORKFLOW" ]] || [[ -z "$MYDIR" ]]; then echo This script must be called from the dpl-workflow.sh and not standalone 1>&2 diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index e7c42ae3ef5a5..21cf10c3c76b4 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -387,7 +387,7 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } -workflow_has_parameter CALIB && ! workflow_has_parameters CALIB_PROXIES && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameter CALIB && workflow_has_parameters CALIB_LOCAL_AGGREGATOR && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display From 90155e08dd52b20ac8fc3714dd0cf5ba5062714d Mon Sep 17 00:00:00 2001 From: Chiara Zampolli Date: Wed, 11 May 2022 09:58:39 +0200 Subject: [PATCH 10/10] slight change in logic --- .../full-system-test/aggregator-workflow.sh | 47 +++++++++---------- prodtests/full-system-test/calib-workflow.sh | 15 +++--- prodtests/full-system-test/dpl-workflow.sh | 2 +- prodtests/full-system-test/workflow-setup.sh | 6 +++ 4 files changed, 38 insertions(+), 32 deletions(-) diff --git a/prodtests/full-system-test/aggregator-workflow.sh b/prodtests/full-system-test/aggregator-workflow.sh index 3405b7f53698e..c5807781b026e 100755 --- a/prodtests/full-system-test/aggregator-workflow.sh +++ b/prodtests/full-system-test/aggregator-workflow.sh @@ -1,26 +1,19 @@ #!/bin/bash -SEVERITY="detail" -ENABLE_METRICS=1 +#SEVERITY="detail" +#ENABLE_METRICS=1 -# the check on LIST_OF_DETECTORS should ensure that setenv.sh was not called before -[[ -z ${LIST_OF_DETECTORS+z} ]] && source $O2DPG_ROOT/DATA/common/setenv.sh -# the check on TRACK_SOURCES should ensure that workflow-setup.sh was not called before -[[ -z ${TRACK_SOURCES+z} ]] && source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh - -# --------------------------------------------------------------------------------------------------------------------- -# Set general arguments (only if not already defined, checked via ARGS_ALL) -[[ -z ${ARGS_ALL+z} ]] && source $O2DPG_ROOT/DATA/common/getCommonArgs.sh - -# Set up calibrations (if not already done, checked via SETUP_CALIB) -[[ $SETUP_CALIB != 1 ]] && source $O2DPG_ROOT/DATA/common/setenv_calib.sh +source $O2DPG_ROOT/DATA/common/setenv.sh +source $O2_ROOT/prodtests/full-system-test/workflow-setup.sh +source $O2DPG_ROOT/DATA/common/getCommonArgs.sh +source $O2DPG_ROOT/DATA/common/setenv_calib.sh # check that WORKFLOW_DETECTORS is needed, otherwise the wrong calib wf will be built if [[ -z $WORKFLOW_DETECTORS ]]; then echo "WORKFLOW_DETECTORS must be defined" 1>&2; exit 1; fi # CCDB destination for uploads -[[ -z ${CCDBPATH+x} ]] && CCDBPATH="http://o2-ccdb.internal" -echo "CCDBPATH = $CCDBPATH" 1>&2 +[[ -z ${CCDB_POPULATOR_UPLOAD_PATH+x} ]] && CCDB_POPULATOR_UPLOAD_PATH="none" +echo "CCDB_POPULATOR_UPLOAD_PATH = $CCDB_POPULATOR_UPLOAD_PATH" 1>&2 # Adding calibrations EXTRA_WORKFLOW_CALIB= @@ -80,28 +73,32 @@ if [[ $CALIB_PHS_RUNBYRUNCALIB == 1 ]]; then fi # starting with empty workflow -if workflow_has_parameters CALIB_PROXIES; then +if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR ; then WORKFLOW= +fi + +# adding output proxies +if workflow_has_parameter CALIB_PROXIES; then if [[ ! -z $CALIBDATASPEC_BARREL ]]; then - WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel input) | " fi if [[ ! -z $CALIBDATASPEC_CALO ]]; then - WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " + WORKFLOW+="o2-dpl-raw-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_CALO\" $(get_proxy_connection calo input) | " fi fi WORKFLOW+=$EXTRA_WORKFLOW_CALIB -if [[ $CCDBPATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDBPATH $ARGS_ALL | "; fi +if [[ $CCDB_POPULATOR_UPLOAD_PATH != "none" ]]; then WORKFLOW+="o2-calibration-ccdb-populator-workflow --ccdb-path $CCDB_POPULATOR_UPLOAD_PATH $ARGS_ALL | "; fi -if workflow_has_parameters CALIB_PROXIES; then +if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR; then WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b" if [ $WORKFLOWMODE == "print" ]; then - echo Workflow command adding aggregator: - echo $WORKFLOW | sed "s/| */|\n/g" + echo Workflow command adding aggregator: + echo $WORKFLOW | sed "s/| */|\n/g" else - # Execute the command we have assembled - WORKFLOW+=" --$WORKFLOWMODE" - eval $WORKFLOW + # Execute the command we have assembled + WORKFLOW+=" --$WORKFLOWMODE" + eval $WORKFLOW fi fi diff --git a/prodtests/full-system-test/calib-workflow.sh b/prodtests/full-system-test/calib-workflow.sh index df0c0b377dc2b..5b25964dc97ef 100644 --- a/prodtests/full-system-test/calib-workflow.sh +++ b/prodtests/full-system-test/calib-workflow.sh @@ -1,21 +1,24 @@ #!/bin/bash -# the check on LIST_OF_DETECTORS should ensure that setenv.sh was not called before -[[ -z ${LIST_OF_DETECTORS+z} ]] && source $O2DPG_ROOT/DATA/common/setenv.sh - -# Set up calibrations (if not already done, checked via SETUP_CALIB) -[[ $SETUP_CALIB != 1 ]] && source $O2DPG_ROOT/DATA/common/setenv_calib.sh +source $O2DPG_ROOT/DATA/common/setenv.sh +source $O2DPG_ROOT/DATA/common/setenv_calib.sh if [[ -z "$WORKFLOW" ]] || [[ -z "$MYDIR" ]]; then echo This script must be called from the dpl-workflow.sh and not standalone 1>&2 exit 1 fi +# you cannot have a locally integrated aggregator with the proxies +if workflow_has_parameters CALIB_LOCAL_INTEGRATED_AGGREGATOR CALIB_PROXIES; then + echo "you cannot have a locally integrated aggregator with the proxies" 1>&2 + exit 2 +fi + # specific calibration workflows if [[ $CALIB_TPC_SCDCALIB == 1 ]]; then add_W o2-tpc-scdcalib-interpolation-workflow "$DISABLE_ROOT_OUTPUT --disable-root-input --pipeline $(get_N tpc-track-interpolation TPC REST)" "$ITSMFT_FILES"; fi # output-proxy for aggregator -if workflow_has_parameters CALIB_PROXIES; then +if workflow_has_parameter CALIB_PROXIES; then if [[ ! -z $CALIBDATASPEC_BARREL ]]; then WORKFLOW+="o2-dpl-output-proxy ${ARGS_ALL} --dataspec \"$CALIBDATASPEC_BARREL\" $(get_proxy_connection barrel output) | " fi diff --git a/prodtests/full-system-test/dpl-workflow.sh b/prodtests/full-system-test/dpl-workflow.sh index 21cf10c3c76b4..f8e567031e825 100755 --- a/prodtests/full-system-test/dpl-workflow.sh +++ b/prodtests/full-system-test/dpl-workflow.sh @@ -387,7 +387,7 @@ fi # --------------------------------------------------------------------------------------------------------------------- # Calibration workflows workflow_has_parameter CALIB && { source ${CALIB_WF:-$MYDIR/calib-workflow.sh}; [[ $? != 0 ]] && exit 1; } -workflow_has_parameter CALIB && workflow_has_parameters CALIB_LOCAL_AGGREGATOR && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } +workflow_has_parameters CALIB CALIB_LOCAL_INTEGRATED_AGGREGATOR && { source ${CALIB_AGGREGATOR_WF:-$MYDIR/aggregator-workflow.sh}; [[ $? != 0 ]] && exit 1; } # --------------------------------------------------------------------------------------------------------------------- # Event display diff --git a/prodtests/full-system-test/workflow-setup.sh b/prodtests/full-system-test/workflow-setup.sh index e1aff10326ef9..1220981e047b0 100755 --- a/prodtests/full-system-test/workflow-setup.sh +++ b/prodtests/full-system-test/workflow-setup.sh @@ -1,5 +1,9 @@ #!/bin/bash +# used to avoid sourcing this file 2x +if [[ -z $SOURCE_GUARD_WORKFLOW_SETUP ]]; then +SOURCE_GUARD_WORKFLOW_SETUP=1 + # --------------------------------------------------------------------------------------------------------------------- #Some additional settings used in this workflow @@ -106,3 +110,5 @@ add_W() # Add binarry to workflow command USAGE: add_W [BINARY] [COMMAND_LINE_OP [[ ! -z "$KEY_VALUES" ]] && KEY_VALUES="--configKeyValues \"$KEY_VALUES\"" WORKFLOW+="$1 $ARGS_ALL $2 ${!NAME_PROC_ARGS} $KEY_VALUES | " } + +fi # workflow-setup.sh sourced