@@ -145,6 +145,14 @@ NWORKERS=${NWORKERS:-8}
145145# set a default seed if not given
146146SEED=${ALIEN_PROC_ID:- ${SEED:- 1} }
147147
148+ # <----- START OF part that should run under a clean alternative software environment if this was given ------
149+ (
150+
151+ if [ " ${ALIEN_JDL_O2DPG_ASYNC_RECO_TAG} " ]; then
152+ echo_info " Using tag ${ALIEN_JDL_O2DPG_ASYNC_RECO_TAG} to setup anchored MC"
153+ /cvmfs/alice.cern.ch/bin/alienv printenv " ${ALIEN_JDL_O2DPG_ASYNC_RECO_TAG} " & > async_environment.env
154+ source async_environment.env
155+ fi
148156
149157# default async_pass.sh script
150158DPGRECO=$O2DPG_ROOT /DATA/production/configurations/asyncReco/async_pass.sh
@@ -193,6 +201,9 @@ if [[ "${RECO_RC}" != "0" ]] ; then
193201 exit ${RECO_RC}
194202fi
195203
204+ )
205+ # <----- END OF part that should run under a clean alternative software environment if this was given ------
206+
196207ALIEN_JDL_LPMPRODUCTIONTAG=$ALIEN_JDL_LPMPRODUCTIONTAG_KEEP
197208echo_info " Setting back ALIEN_JDL_LPMPRODUCTIONTAG to $ALIEN_JDL_LPMPRODUCTIONTAG "
198209
@@ -213,17 +224,19 @@ MODULES="--skipModules ZDC"
213224ALICEO2_CCDB_LOCALCACHE=${ALICEO2_CCDB_LOCALCACHE:- $(pwd)/ ccdb}
214225
215226# these arguments will be digested by o2dpg_sim_workflow_anchored.py
216- baseargs=" -tf ${NTIMEFRAMES} --split-id ${SPLITID} --prod-split ${PRODSPLIT} --cycle ${CYCLE} --run-number ${ALIEN_JDL_LPMRUNNUMBER} \
217- ${ALIEN_JDL_RUN_TIME_SPAN_FILE: +--run-time-span-file ${ALIEN_JDL_RUN_TIME_SPAN_FILE} ${ALIEN_JDL_INVERT_IRFRAME_SELECTION: +--invert-irframe-selection} } " \
218- ${ALIEN_JDL_MC_ORBITS_PER_TF: +--orbitsPerTF ${ALIEN_JDL_MC_ORBITS_PER_TF} }
227+ baseargs=" -tf ${NTIMEFRAMES} --split-id ${SPLITID} --prod-split ${PRODSPLIT} --cycle ${CYCLE} --run-number ${ALIEN_JDL_LPMRUNNUMBER} \
228+ ${ALIEN_JDL_RUN_TIME_SPAN_FILE: +--run-time-span-file ${ALIEN_JDL_RUN_TIME_SPAN_FILE} ${ALIEN_JDL_INVERT_IRFRAME_SELECTION: +--invert-irframe-selection} } \
229+ ${ALIEN_JDL_MC_ORBITS_PER_TF: +--orbitsPerTF ${ALIEN_JDL_MC_ORBITS_PER_TF} } "
219230
220- # these arguments will be passed as well but only evetually be digested by o2dpg_sim_workflow.py which is called from o2dpg_sim_workflow_anchored.py
231+ # these arguments will be passed as well but only eventually be digested by o2dpg_sim_workflow.py which is called from o2dpg_sim_workflow_anchored.py
221232remainingargs=" -seed ${SEED} -ns ${NSIGEVENTS} --include-local-qc --pregenCollContext"
222233remainingargs=" ${remainingargs} -e ${ALIEN_JDL_SIMENGINE} -j ${NWORKERS} "
223234remainingargs=" ${remainingargs} -productionTag ${ALIEN_JDL_LPMPRODUCTIONTAG:- alibi_anchorTest_tmp} "
224235# prepend(!) ALIEN_JDL_ANCHOR_SIM_OPTIONS
225236# since the last passed argument wins, e.g. -productionTag cannot be overwritten by the user
226237remainingargs=" ${ALIEN_JDL_ANCHOR_SIM_OPTIONS} ${remainingargs} --anchor-config config-json.json"
238+ # apply software tagging choice
239+ remainingargs=" ${remainingargs} ${ALIEN_JDL_O2DPG_ASYNC_RECO_TAG: +--alternative-reco-software ${ALIEN_JDL_O2DPG_ASYNC_RECO_TAG} } "
227240
228241echo_info " baseargs passed to o2dpg_sim_workflow_anchored.py: ${baseargs} "
229242echo_info " remainingargs forwarded to o2dpg_sim_workflow.py: ${remainingargs} "
240253TIMESTAMP=` grep " Determined timestamp to be" ${anchoringLogFile} | awk ' //{print $6}' `
241254echo_info " TIMESTAMP IS ${TIMESTAMP} "
242255
256+
243257# check if this job is exluded because it falls inside a bad data-taking period
244258ISEXCLUDED=$( grep " TIMESTAMP IS EXCLUDED IN RUN" ${anchoringLogFile} )
245259if [ " ${ISEXCLUDED} " ]; then
0 commit comments