@@ -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"
337372fi
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
341389if [[ $AGGREGATOR_TASKS == CALO_TF || $AGGREGATOR_TASKS == ALL ]]; then
0 commit comments