@@ -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