@@ -283,11 +283,12 @@ def getDPL_global_options(bigshm=False,nosmallrate=False):
283283 --ptHatMax=' + str (PTHATMAX )
284284 if WEIGHTPOW > - 1 :
285285 SGN_CONFIG_task ['cmd' ] = SGN_CONFIG_task ['cmd' ] + ' --weightPow=' + str (WEIGHTPOW )
286- workflow ['stages' ].append (SGN_CONFIG_task )
287286 # elif GENERATOR == 'extgen': what do we do if generator is not pythia8?
288287 # NOTE: Generator setup might be handled in a different file or different files (one per
289288 # possible generator)
290289
290+ workflow ['stages' ].append (SGN_CONFIG_task )
291+
291292 # -----------------
292293 # transport signals
293294 # -----------------
@@ -465,11 +466,24 @@ def createRestDigiTask(name, det='ALLSMALLER'):
465466 if usebkgcache :
466467 aodneeds += [ BKG_KINEDOWNLOADER_TASK ['name' ] ]
467468
469+ aod_df_id = '{0:03}' .format (tf )
470+
468471 AODtask = createTask (name = 'aod_' + str (tf ), needs = aodneeds , tf = tf , cwd = timeframeworkdir , lab = ["AOD" ], mem = '4000' , cpu = '1' )
469472 AODtask ['cmd' ] = ('' ,'ln -nfs ../bkg_Kine.root . ;' )[doembedding ]
470- AODtask ['cmd' ] += 'o2-aod-producer-workflow --reco-mctracks-only 1 --aod-writer-keep dangling --aod-writer-resfile \" AO2D\" --aod-writer-resmode UPDATE --aod-timeframe-id ' + str (tf ) + ' ' + getDPL_global_options (bigshm = True )
473+ AODtask ['cmd' ] += 'o2-aod-producer-workflow --reco-mctracks-only 1 --aod-writer-keep dangling --aod-writer-resfile AO2D'
474+ AODtask ['cmd' ] += ' --aod-timeframe-id ${ALIEN_PROC_ID}' + aod_df_id + ' ' + getDPL_global_options (bigshm = True )
471475 workflow ['stages' ].append (AODtask )
472476
477+ # AOD merging / combination step
478+ AOD_merge_task = createTask (name = 'aodmerge_' + str (tf ), needs = [ AODtask ['name' ] ], tf = tf , cwd = timeframeworkdir , lab = ["AOD" ], mem = '2000' , cpu = '1' )
479+ AOD_merge_task ['cmd' ] = '[ -f ../AO2D.root ] && mv ../AO2D.root ../AO2D_old.root;'
480+ AOD_merge_task ['cmd' ] += ' echo "./AO2D.root" > input.txt;'
481+ AOD_merge_task ['cmd' ] += ' [ -f ../AO2D_old.root ] && echo "../AO2D_old.root" >> input.txt;'
482+ AOD_merge_task ['cmd' ] += ' o2-aod-merger --output ../AO2D.root;'
483+ AOD_merge_task ['cmd' ] += ' rm ../AO2D_old.root || true'
484+ AOD_merge_task ['semaphore' ] = 'aodmerge' #<---- this is making sure that only one merge is running at any time
485+ workflow ['stages' ].append (AOD_merge_task )
486+
473487def trimString (cmd ):
474488 return ' ' .join (cmd .split ())
475489
0 commit comments