4545workflow ['stages' ] = []
4646
4747taskcounter = 0
48- def createTask (name = '' , needs = [], tf = - 1 , cwd = './' ):
48+ def createTask (name = '' , needs = [], tf = - 1 , cwd = './' , lab = [] ):
4949 global taskcounter
5050 taskcounter = taskcounter + 1
51- return { 'name' : name , 'cmd' :'' , 'needs' : needs , 'resources' : { 'cpu' : - 1 , 'mem' : - 1 }, 'timeframe' : tf , 'labels' : [] , 'cwd' : cwd }
51+ return { 'name' : name , 'cmd' :'' , 'needs' : needs , 'resources' : { 'cpu' : - 1 , 'mem' : - 1 }, 'timeframe' : tf , 'labels' : lab , 'cwd' : cwd }
5252
5353def getDPL_global_options ():
5454 if args .noIPC != None :
@@ -60,7 +60,7 @@ def getDPL_global_options():
6060
6161if doembedding :
6262 # ---- background transport task -------
63- BKGtask = createTask (name = 'bkgsim' )
63+ BKGtask = createTask (name = 'bkgsim' , lab = [ "GEANT" ] )
6464 BKGtask ['cmd' ]= 'o2-sim -e ' + SIMENGINE + ' -j ' + str (NWORKERS ) + ' -n ' + str (NBKGEVENTS ) + ' -g pythia8hi ' + str (MODULES ) + ' -o bkg --configFile ${O2DPG_ROOT}/MC/config/common/ini/basic.ini'
6565 workflow ['stages' ].append (BKGtask )
6666
@@ -101,11 +101,7 @@ def getDPL_global_options():
101101 embeddinto = "--embedIntoFile bkg_Kine.root" if doembedding else ""
102102 if doembedding :
103103 signalneeds = signalneeds + [ BKGtask ['name' ], LinkBKGtask ['name' ] ]
104- SGNtask = createTask (name = 'sgnsim_' + str (tf ), needs = signalneeds , tf = tf , cwd = 'tf' + str (tf ))
105- #SGNtask['cmd']='o2-sim -e '+str(SIMENGINE) + ' ' + str(MODULES) + ' -n ' + str(NSIGEVENTS) + ' -j ' + str(NWORKERS) + ' -g extgen \
106- # --configFile ${O2DPG_ROOT}/MC/config/PWGHF/ini/GeneratorHF.ini \
107- # --configKeyValues \"GeneratorPythia8.config=pythia8_'+ str(tf) +'.cfg\"' \
108- # + ' -o ' + signalprefix + ' ' + embeddinto
104+ SGNtask = createTask (name = 'sgnsim_' + str (tf ), needs = signalneeds , tf = tf , cwd = 'tf' + str (tf ), lab = ["GEANT" ])
109105 SGNtask ['cmd' ]= 'o2-sim -e ' + str (SIMENGINE ) + ' ' + str (MODULES ) + ' -n ' + str (NSIGEVENTS ) + ' -j ' + str (NWORKERS ) + ' -g pythia8 ' \
110106 + ' -o ' + signalprefix + ' ' + embeddinto
111107 workflow ['stages' ].append (SGNtask )
@@ -126,17 +122,18 @@ def getDPL_global_options():
126122 CONTEXTFILE = 'collisioncontext.root'
127123
128124 simsoption = ' --sims ' + ('bkg,' + signalprefix if doembedding else signalprefix )
129- TPCDigitask = createTask (name = 'tpcdigi_' + str (tf ), needs = [SGNtask ['name' ], LinkGRPFileTask ['name' ]], tf = tf , cwd = timeframeworkdir )
125+ TPCDigitask = createTask (name = 'tpcdigi_' + str (tf ), needs = [SGNtask ['name' ], LinkGRPFileTask ['name' ]],
126+ tf = tf , cwd = timeframeworkdir , lab = ["DIGI" ])
130127 TPCDigitask ['cmd' ] = 'o2-sim-digitizer-workflow ' + getDPL_global_options () + ' -n ' + str (args .ns ) + simsoption + ' --onlyDet TPC --interactionRate 50000 --tpc-lanes ' + str (NWORKERS ) + ' --outcontext ' + str (CONTEXTFILE )
131128 workflow ['stages' ].append (TPCDigitask )
132129
133130 # The TRD digi task has a dependency on TPC only because of the digitization context (and because they both use CPU efficiently)
134131 # TODO: activate only if TRD present
135- TRDDigitask = createTask (name = 'trddigi_' + str (tf ), needs = [TPCDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
132+ TRDDigitask = createTask (name = 'trddigi_' + str (tf ), needs = [TPCDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "DIGI" ] )
136133 TRDDigitask ['cmd' ] = 'o2-sim-digitizer-workflow ' + getDPL_global_options () + ' -n ' + str (args .ns ) + simsoption + ' --onlyDet TRD --interactionRate 50000 --configKeyValues \" TRDSimParams.digithreads=' + str (NWORKERS ) + '\" --incontext ' + str (CONTEXTFILE )
137134 workflow ['stages' ].append (TRDDigitask )
138135
139- RESTDigitask = createTask (name = 'restdigi_' + str (tf ), needs = [TPCDigitask ['name' ], LinkGRPFileTask ['name' ]], tf = tf , cwd = timeframeworkdir )
136+ RESTDigitask = createTask (name = 'restdigi_' + str (tf ), needs = [TPCDigitask ['name' ], LinkGRPFileTask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "DIGI" ] )
140137 RESTDigitask ['cmd' ] = 'o2-sim-digitizer-workflow ' + getDPL_global_options () + ' -n ' + str (args .ns ) + simsoption + ' --skipDet TRD,TPC --interactionRate 50000 --incontext ' + str (CONTEXTFILE )
141138 workflow ['stages' ].append (RESTDigitask )
142139
@@ -145,36 +142,36 @@ def getDPL_global_options():
145142 # -----------
146143
147144 # TODO: check value for MaxTimeBin; A large value had to be set tmp in order to avoid crashes bases on "exceeding timeframe limit"
148- TPCRECOtask = createTask (name = 'tpcreco_' + str (tf ), needs = [TPCDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
145+ TPCRECOtask = createTask (name = 'tpcreco_' + str (tf ), needs = [TPCDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
149146 TPCRECOtask ['cmd' ] = 'o2-tpc-reco-workflow ' + getDPL_global_options () + ' --tpc-digit-reader "--infile tpcdigits.root" --input-type digits --output-type clusters,tracks,send-clusters-per-sector --configKeyValues "GPU_global.continuousMaxTimeBin=100000;GPU_proc.ompThreads=' + str (NWORKERS )+ '"'
150147 workflow ['stages' ].append (TPCRECOtask )
151148
152- ITSRECOtask = createTask (name = 'itsreco_' + str (tf ), needs = [RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
149+ ITSRECOtask = createTask (name = 'itsreco_' + str (tf ), needs = [RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
153150 ITSRECOtask ['cmd' ] = 'o2-its-reco-workflow --trackerCA --tracking-mode async ' + getDPL_global_options ()
154151 workflow ['stages' ].append (ITSRECOtask )
155152
156- FT0RECOtask = createTask (name = 'ft0reco_' + str (tf ), needs = [RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
153+ FT0RECOtask = createTask (name = 'ft0reco_' + str (tf ), needs = [RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
157154 FT0RECOtask ['cmd' ] = 'o2-ft0-reco-workflow ' + getDPL_global_options ()
158155 workflow ['stages' ].append (FT0RECOtask )
159156
160- ITSTPCMATCHtask = createTask (name = 'itstpcMatch_' + str (tf ), needs = [TPCRECOtask ['name' ], ITSRECOtask ['name' ]], tf = tf , cwd = timeframeworkdir )
157+ ITSTPCMATCHtask = createTask (name = 'itstpcMatch_' + str (tf ), needs = [TPCRECOtask ['name' ], ITSRECOtask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
161158 ITSTPCMATCHtask ['cmd' ]= 'o2-tpcits-match-workflow ' + getDPL_global_options () + ' --tpc-track-reader \" tpctracks.root\" --tpc-native-cluster-reader \" --infile tpc-native-clusters.root\" '
162159 workflow ['stages' ].append (ITSTPCMATCHtask )
163160
164161 # this can be combined with TRD digitization if benefical
165- TRDTRAPtask = createTask (name = 'trdtrap_' + str (tf ), needs = [TRDDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
162+ TRDTRAPtask = createTask (name = 'trdtrap_' + str (tf ), needs = [TRDDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "DIGI" ] )
166163 TRDTRAPtask ['cmd' ] = 'o2-trd-trap-sim'
167164 workflow ['stages' ].append (TRDTRAPtask )
168165
169- TRDTRACKINGtask = createTask (name = 'trdreco_' + str (tf ), needs = [TRDTRAPtask ['name' ], ITSTPCMATCHtask ['name' ], TPCRECOtask ['name' ], ITSRECOtask ['name' ]], tf = tf , cwd = timeframeworkdir )
166+ TRDTRACKINGtask = createTask (name = 'trdreco_' + str (tf ), needs = [TRDTRAPtask ['name' ], ITSTPCMATCHtask ['name' ], TPCRECOtask ['name' ], ITSRECOtask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
170167 TRDTRACKINGtask ['cmd' ] = 'o2-trd-global-tracking'
171168 workflow ['stages' ].append (TRDTRACKINGtask )
172169
173- TOFRECOtask = createTask (name = 'tofmatch_' + str (tf ), needs = [ITSTPCMATCHtask ['name' ], RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir )
170+ TOFRECOtask = createTask (name = 'tofmatch_' + str (tf ), needs = [ITSTPCMATCHtask ['name' ], RESTDigitask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
174171 TOFRECOtask ['cmd' ] = 'o2-tof-reco-workflow ' + getDPL_global_options ()
175172 workflow ['stages' ].append (TOFRECOtask )
176173
177- PVFINDERtask = createTask (name = 'pvfinder_' + str (tf ), needs = [ITSTPCMATCHtask ['name' ], FT0RECOtask ['name' ]], tf = tf , cwd = timeframeworkdir )
174+ PVFINDERtask = createTask (name = 'pvfinder_' + str (tf ), needs = [ITSTPCMATCHtask ['name' ], FT0RECOtask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "RECO" ] )
178175 PVFINDERtask ['cmd' ] = 'o2-primary-vertexing-workflow ' + getDPL_global_options ()
179176 workflow ['stages' ].append (PVFINDERtask )
180177
@@ -184,7 +181,7 @@ def getDPL_global_options():
184181
185182 # enable later. It still has memory access problems
186183 # taskwrapper aod_${tf}.log o2-aod-producer-workflow --aod-writer-keep dangling --aod-writer-resfile "AO2D" --aod-writer-resmode UPDATE --aod-timeframe-id ${tf} $gloOpt
187- AODtask = createTask (name = 'aod_' + str (tf ), needs = [PVFINDERtask ['name' ], TOFRECOtask ['name' ], TRDTRACKINGtask ['name' ]], tf = tf , cwd = timeframeworkdir )
184+ AODtask = createTask (name = 'aod_' + str (tf ), needs = [PVFINDERtask ['name' ], TOFRECOtask ['name' ], TRDTRACKINGtask ['name' ]], tf = tf , cwd = timeframeworkdir , lab = [ "AOD" ] )
188185 AODtask ['cmd' ] = ' echo "Would do AOD (enable later)" '
189186 workflow ['stages' ].append (AODtask )
190187
0 commit comments