Skip to content

Commit f223555

Browse files
committed
Seperate IDC/SAC and CMV to different calibration workflows
1 parent fb65f6e commit f223555

1 file changed

Lines changed: 56 additions & 8 deletions

File tree

prodtests/full-system-test/aggregator-workflow.sh

Lines changed: 56 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ if workflow_has_parameter CALIB_PROXIES; then
161161
fi
162162
CHANNELS_LIST=
163163
[[ $EPNSYNCMODE == 0 ]] && FLP_ADDRESS="tcp://localhost:29950"
164-
if [[ -n ${CALIBDATASPEC_TPCIDC_A:-} ]] || [[ -n ${CALIBDATASPEC_TPCIDC_C:-} ]] || [[ -n ${CALIBDATASPEC_TPCCMV:-} ]]; then
164+
if [[ -n ${CALIBDATASPEC_TPCIDC_A:-} ]] || [[ -n ${CALIBDATASPEC_TPCIDC_C:-} ]]; then
165165
# define port for FLP
166166
: ${TPC_IDC_FLP_PORT:=29950}
167167
# expand FLPs; TPC uses from 001 to 145, but 145 is reserved for SAC
@@ -190,17 +190,52 @@ if workflow_has_parameter CALIB_PROXIES; then
190190
if [[ -n ${CALIBDATASPEC_TPCIDC_C:-} ]]; then
191191
add_semicolon_separated DATASPEC_LIST "\"$CALIBDATASPEC_TPCIDC_C\""
192192
fi
193-
if [[ -n ${CALIBDATASPEC_TPCCMV:-} ]]; then
194-
add_semicolon_separated DATASPEC_LIST "\"$CALIBDATASPEC_TPCCMV\""
195-
fi
196193
if [[ -n ${CALIBDATASPEC_TPCSAC:-} ]]; then
197194
add_semicolon_separated DATASPEC_LIST "\"$CALIBDATASPEC_TPCSAC\""
198195
fi
199-
if [[ -z ${O2_TPC_IDC_CMV_IO_THREADS:-} ]]; then
200-
O2_TPC_IDC_CMV_IO_THREADS=4;
196+
if [[ -z ${O2_TPC_IDC_IO_THREADS:-} ]]; then
197+
O2_TPC_IDC_IO_THREADS=4;
198+
fi
199+
add_W o2-dpl-raw-proxy "--proxy-name tpcidc --io-threads ${O2_TPC_IDC_IO_THREADS} --dataspec \"$DATASPEC_LIST\" --sporadic-outputs --channel-config \"$CHANNELS_LIST\" ${TIMEFRAME_SHM_LIMIT+--timeframes-shm-limit} $TIMEFRAME_SHM_LIMIT" "" 0
200+
fi
201+
elif [[ $AGGREGATOR_TASKS == TPC_CMV ]]; then
202+
if [[ $EPNSYNCMODE != 1 ]]; then
203+
echo "ERROR: TPC CMV calib workflow enabled without EPNSYNCMODE, please note that there will not be input data for it" 1>&2
201204
fi
202-
add_W o2-dpl-raw-proxy "--proxy-name tpcidc --io-threads ${O2_TPC_IDC_CMV_IO_THREADS} --dataspec \"$DATASPEC_LIST\" --sporadic-outputs --channel-config \"$CHANNELS_LIST\" ${TIMEFRAME_SHM_LIMIT+--timeframes-shm-limit} $TIMEFRAME_SHM_LIMIT" "" 0
205+
CHANNELS_LIST=
206+
[[ $EPNSYNCMODE == 0 ]] && FLP_ADDRESS="tcp://localhost:29950"
207+
if [[ -n ${CALIBDATASPEC_TPCCMV:-} ]]; then
208+
# define port for FLP
209+
: ${TPC_CMV_FLP_PORT:=29952}
210+
# expand FLPs; TPC uses from 001 to 145, but 145 is reserved for SAC
211+
if [[ "${GEN_TOPO_DEPLOYMENT_TYPE:-}" == "ALICE_STAGING" ]]; then
212+
FLP_ADDRESS="tcp://alio2-cr1-mvs03-ib:${TPC_CMV_FLP_PORT}"
213+
CHANNELS_LIST+="type=pull,name=tpcmv_flp,transport=zeromq,address=$FLP_ADDRESS,method=connect,rateLogging=10;"
214+
else
215+
for flp in $(seq -f "%03g" 1 144); do
216+
[[ ! $FLP_IDS =~ (^|,)"$flp"(,|$) ]] && continue
217+
[[ $EPNSYNCMODE == 1 ]] && FLP_ADDRESS="tcp://alio2-cr1-flp${flp}-ib:${TPC_CMV_FLP_PORT}"
218+
CHANNELS_LIST+="type=pull,name=tpccmv_flp${flp},transport=zeromq,address=$FLP_ADDRESS,method=connect,rateLogging=10;"
219+
done
220+
fi
203221
fi
222+
if [[ -n ${CALIBDATASPEC_TPCSAC:-} ]]; then
223+
# define port for FLP
224+
[[ -z ${TPC_SAC_FLP_PORT:-} ]] && TPC_SAC_FLP_PORT=29951
225+
[[ $EPNSYNCMODE == 1 ]] && FLP_ADDRESS="tcp://alio2-cr1-flp145-ib:${TPC_SAC_FLP_PORT}"
226+
CHANNELS_LIST+="type=pull,name=tpcidc_sac,transport=zeromq,address=$FLP_ADDRESS,method=connect,rateLogging=10;"
227+
fi
228+
if [[ -n $CHANNELS_LIST ]]; then
229+
DATASPEC_LIST=
230+
if [[ -n ${CALIBDATASPEC_TPCCMV:-} ]]; then
231+
add_semicolon_separated DATASPEC_LIST "\"$CALIBDATASPEC_TPCCMV\""
232+
fi
233+
if [[ -z ${O2_TPC_CMV_IO_THREADS:-} ]]; then
234+
O2_TPC_CMV_IO_THREADS=4;
235+
fi
236+
add_W o2-dpl-raw-proxy "--proxy-name tpccmv --io-threads ${O2_TPC_CMV_IO_THREADS} --dataspec \"$DATASPEC_LIST\" --sporadic-outputs --channel-config \"$CHANNELS_LIST\" ${TIMEFRAME_SHM_LIMIT+--timeframes-shm-limit} $TIMEFRAME_SHM_LIMIT" "" 0
237+
fi
238+
204239
elif [[ $AGGREGATOR_TASKS == CALO_TF ]]; then
205240
if [[ -n ${CALIBDATASPEC_CALO_TF:-} ]]; then
206241
add_W o2-dpl-raw-proxy "--dataspec \"$CALIBDATASPEC_CALO_TF\" $(get_proxy_connection calo_tf input timeframe)" "" 0
@@ -333,9 +368,22 @@ if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR && [[ $AGGREGATOR_
333368
add_W o2-tpc-sac-factorize "--timeframes ${nTFs_SAC} --nthreads-SAC-factorization 4 --input-lanes 1 --compression 2"
334369
add_W o2-tpc-idc-ft-aggregator "--rangeIDC 200 --nFourierCoeff 40 --process-SACs true --inputLanes 1"
335370
fi
336-
[[ $AGGREGATOR_TASKS == TPC_IDCBOTH_SAC ]] && [[ $CALIB_TPC_IDC == 0 && $CALIB_TPC_SAC == 0 && $CALIB_TPC_CMV == 1 ]] && CCDB_POPULATOR_UPLOAD_PATH="none"
371+
[[ $AGGREGATOR_TASKS == TPC_IDCBOTH_SAC ]] && [[ $CALIB_TPC_IDC == 0 && $CALIB_TPC_SAC == 0 ]] && CCDB_POPULATOR_UPLOAD_PATH="none"
337372
fi
338373

374+
if ! workflow_has_parameter CALIB_LOCAL_INTEGRATED_AGGREGATOR && [[ $AGGREGATOR_TASKS == TPC_CMV || $AGGREGATOR_TASKS == ALL ]]; then
375+
if [[ $CALIB_TPC_CMV == 1 ]]; then
376+
if [[ -z ${O2_TPC_CMV_COMPRESSION:-} ]]; then O2_TPC_CMV_COMPRESSION="--use-sparse --cmv-zero-threshold 1.0 --cmv-dynamic-precision-mean 1.0 --cmv-dynamic-precision-sigma 8.0 --use-compression-huffman"; fi
377+
if [[ -z ${O2_TPC_CMV_TIMEFRAMES:-} ]]; then O2_TPC_CMV_TIMEFRAMES="2000"; fi
378+
add_W o2-tpc-cmv-distribute "--crus ${crus} --lanes 1 --output-lanes ${lanesCMVaggregate} --n-TFs-buffer ${nBuffer_cmv} --timeframes ${O2_TPC_CMV_TIMEFRAMES} --send-precise-timestamp "
379+
add_W o2-tpc-cmv-aggregate "--crus ${crus} --input-lanes ${lanesCMVaggregate} --n-TFs-buffer ${nBuffer_cmv} --nthreads-compression 4 --timeframes ${O2_TPC_CMV_TIMEFRAMES} --use-precise-timestamp ${O2_TPC_CMV_COMPRESSION} --output-dir $CALIB_DIR --meta-output-dir $EPN2EOS_METAFILES_DIR "
380+
fi
381+
[[ $AGGREGATOR_TASKS == TPC_CMV ]] && CCDB_POPULATOR_UPLOAD_PATH="none"
382+
fi
383+
384+
385+
386+
339387
# Calo cal
340388
# calibrations for AGGREGATOR_TASKS == CALO_TF
341389
if [[ $AGGREGATOR_TASKS == CALO_TF || $AGGREGATOR_TASKS == ALL ]]; then

0 commit comments

Comments
 (0)