9494# power feature (for playing) --> does not appear in help message
9595# help='Treat smaller sensors in a single digitization')
9696parser .add_argument ('--combine-smaller-digi' , action = 'store_true' , help = argparse .SUPPRESS )
97+ parser .add_argument ('--combine-dpl-devices' , action = 'store_true' , help = argparse .SUPPRESS )
9798parser .add_argument ('--combine-tpc-clusterization' , action = 'store_true' , help = argparse .SUPPRESS ) #<--- useful for small productions (pp, low interaction rate, small number of events)
9899parser .add_argument ('--first-orbit' , default = 0 , type = int , help = argparse .SUPPRESS ) # to set the first orbit number of the run for HBFUtils (only used when anchoring)
99100 # (consider doing this rather in O2 digitization code directly)
@@ -208,7 +209,7 @@ def addWhenActive(detID, needslist, appendstring):
208209
209210
210211def getDPL_global_options (bigshm = False ):
211- common = " -b --run --driver-client-backend ws:// "
212+ common = " -b --run " # --driver-client-backend ws:// "
212213 if args .noIPC != None :
213214 return common + " --no-IPC "
214215 if bigshm :
@@ -652,10 +653,12 @@ def createRestDigiTask(name, det='ALLSMALLER'):
652653 for d in itertools .chain (smallsensorlist , ctp_trigger_inputlist ):
653654 tneeds += [ BKG_HITDOWNLOADER_TASKS [d ]['name' ] ]
654655 t = createTask (name = name , needs = tneeds ,
655- tf = tf , cwd = timeframeworkdir , lab = ["DIGI" ,"SMALLDIGI" ], cpu = NWORKERS )
656+ tf = tf , cwd = timeframeworkdir , lab = ["DIGI" ,"SMALLDIGI" ], cpu = '1' )
656657 t ['cmd' ] = ('' ,'ln -nfs ../bkg_Hits*.root . ;' )[doembedding ]
657- t ['cmd' ] += commondigicmd + ' --skipDet TPC,TRD '
658- t ['cmd' ] += ' --ccdb-tof-sa'
658+ # t['cmd'] += commondigicmd + ' --skipDet TPC,TRD,FT0,FV0,CTP '
659+ t ['cmd' ] += commondigicmd + ' --onlyDet TOF,CPV,EMC,HMP,PHS,ITS,MFT,MID,MCH,FDD'
660+ t ['cmd' ] += ' --ccdb-tof-sa '
661+ t ['cmd' ] += ('' ,' --combine-devices ' )[args .combine_dpl_devices ]
659662 workflow ['stages' ].append (t )
660663 return t
661664
@@ -682,14 +685,14 @@ def createRestDigiTask(name, det='ALLSMALLER'):
682685 t = det_to_digitask ['ALLSMALLER' ] if args .combine_smaller_digi == True else createRestDigiTask (name , det )
683686 det_to_digitask [det ]= t
684687
685- if args .combine_smaller_digi == False :
688+ if True or args .combine_smaller_digi == False :
686689 # detectors serving CTP need to be treated somewhat special since CTP needs
687690 # these inputs at the same time --> still need to be made better
688691 tneeds = [ContextTask ['name' ]]
689692 t = createTask (name = "ft0fv0ctp_digi_" + str (tf ), needs = tneeds ,
690693 tf = tf , cwd = timeframeworkdir , lab = ["DIGI" ,"SMALLDIGI" ], cpu = '1' )
691694 t ['cmd' ] = ('' ,'ln -nfs ../bkg_HitsFT0.root . ; ln -nfs ../bkg_HitsFV0.root . ;' )[doembedding ]
692- t ['cmd' ] += '${O2_ROOT}/bin/o2-sim-digitizer-workflow ' + getDPL_global_options () + ' -n ' + str (args .ns ) + simsoption + ' --onlyDet FT0,FV0,CTP --interactionRate ' + str (INTRATE ) + ' --incontext ' + str (CONTEXTFILE ) + ' --disable-write-ini' + putConfigValuesNew ()
695+ t ['cmd' ] += '${O2_ROOT}/bin/o2-sim-digitizer-workflow ' + getDPL_global_options () + ' -n ' + str (args .ns ) + simsoption + ' --onlyDet FT0,FV0,CTP --interactionRate ' + str (INTRATE ) + ' --incontext ' + str (CONTEXTFILE ) + ' --disable-write-ini' + putConfigValuesNew () + ( '' , ' --combine-devices' )[ args . combine_dpl_devices ]
693696 workflow ['stages' ].append (t )
694697 det_to_digitask ["FT0" ]= t
695698 det_to_digitask ["FV0" ]= t
@@ -775,7 +778,7 @@ def getDigiTaskName(det):
775778 'TPCGasParam' ,
776779 'ITSCATrackerParam' ,
777780 'MFTClustererParam' ]) \
778- + " --track-sources " + anchorConfig .get ("o2-tof-matcher-workflow-options" ,{}).get ("track-sources" ,toftracksrcdefault )
781+ + " --track-sources " + anchorConfig .get ("o2-tof-matcher-workflow-options" ,{}).get ("track-sources" ,toftracksrcdefault ) + ( '' , ' --combine-devices' )[ args . combine_dpl_devices ]
779782 workflow ['stages' ].append (TOFTPCMATCHERtask )
780783
781784 MFTRECOtask = createTask (name = 'mftreco_' + str (tf ), needs = [getDigiTaskName ("MFT" )], tf = tf , cwd = timeframeworkdir , lab = ["RECO" ], mem = '1500' )
@@ -875,7 +878,7 @@ def getDigiTaskName(det):
875878 PVFINDERtask = createTask (name = 'pvfinder_' + str (tf ), needs = pvfinderneeds , tf = tf , cwd = timeframeworkdir , lab = ["RECO" ], cpu = NWORKERS , mem = '4000' )
876879 PVFINDERtask ['cmd' ] = '${O2_ROOT}/bin/o2-primary-vertexing-workflow ' \
877880 + getDPL_global_options () + putConfigValuesNew (['ITSAlpideParam' ,'MFTAlpideParam' , 'pvertexer' , 'TPCGasParam' ], {"NameConf.mDirMatLUT" : ".." })
878- PVFINDERtask ['cmd' ] += ' --vertexing-sources ' + pvfinder_sources + ' --vertex-track-matching-sources ' + pvfinder_matching_sources
881+ PVFINDERtask ['cmd' ] += ' --vertexing-sources ' + pvfinder_sources + ' --vertex-track-matching-sources ' + pvfinder_matching_sources + ( '' , ' --combine-source-devices' )[ args . combine_dpl_devices ]
879882 workflow ['stages' ].append (PVFINDERtask )
880883
881884 if includeFullQC or includeLocalQC :
@@ -995,7 +998,7 @@ def addQCPerTF(taskName, needs, readerCommand, configFilePath, objectsFile=''):
995998 svfinder_sources = "ITS,ITS-TPC,TPC-TRD,TPC-TOF,ITS-TPC-TRD,ITS-TPC-TOF"
996999 if isActive ("MID" ):
9971000 svfinder_sources += ",MID"
998- SVFINDERtask ['cmd' ] += ' --vertexing-sources ' + svfinder_sources
1001+ SVFINDERtask ['cmd' ] += ' --vertexing-sources ' + svfinder_sources + ( '' , ' --combine-source-devices' )[ args . combine_dpl_devices ]
9991002 workflow ['stages' ].append (SVFINDERtask )
10001003
10011004 # -----------
@@ -1043,6 +1046,7 @@ def addQCPerTF(taskName, needs, readerCommand, configFilePath, objectsFile=''):
10431046 AODtask ['cmd' ] += ' --lpmp-prod-tag ${ALIEN_JDL_LPMPRODUCTIONTAG:-unknown}'
10441047 AODtask ['cmd' ] += ' --anchor-pass ${ALIEN_JDL_LPMANCHORPASSNAME:-unknown}'
10451048 AODtask ['cmd' ] += ' --anchor-prod ${ALIEN_JDL_MCANCHOR:-unknown}'
1049+ AODtask ['cmd' ] += ('' ,' --combine-source-devices ' )[args .combine_dpl_devices ]
10461050 if environ .get ('O2DPG_AOD_NOTRUNCATE' ) != None or environ .get ('ALIEN_JDL_O2DPG_AOD_NOTRUNCATE' ) != None :
10471051 AODtask ['cmd' ] += ' --enable-truncation 0' # developer option to suppress precision truncation
10481052
0 commit comments