Skip to content

Commit b90a4d5

Browse files
committed
Consistently use matbud in MC workflows
* also cleanup: - no longer download ITS/MFT cluster dictionaries since they are fetched via CCDB directly in the tasks
1 parent 13161c5 commit b90a4d5

File tree

1 file changed

+15
-23
lines changed

1 file changed

+15
-23
lines changed

MC/bin/o2dpg_sim_workflow.py

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -351,14 +351,9 @@ def getDPL_global_options(bigshm=False):
351351

352352
# We download some binary files, necessary for processing
353353
# Eventually, these files/objects should be queried directly from within these tasks?
354-
# TODO: add correct timestamp for query
355-
ITS_DICT_DOWNLOADER_TASK = createTask(name='itsdictdownloader', cpu='0')
356-
ITS_DICT_DOWNLOADER_TASK['cmd'] = '[ -f ITSdictionary.root ] || ${O2_ROOT}/bin/o2-ccdb-downloadccdbfile --host http://alice-ccdb.cern.ch/ -p ITS/Calib/ClusterDictionary -o ITSdictionary.root --no-preserve-path --timestamp ' + str(args.timestamp)
357-
workflow['stages'].append(ITS_DICT_DOWNLOADER_TASK)
358-
359-
MFT_DICT_DOWNLOADER_TASK = createTask(name='mftdictdownloader', cpu='0')
360-
MFT_DICT_DOWNLOADER_TASK['cmd'] = '[ -f MFTdictionary.root ] || ${O2_ROOT}/bin/o2-ccdb-downloadccdbfile --host http://alice-ccdb.cern.ch/ -p MFT/Calib/ClusterDictionary -o MFTdictionary.root --no-preserve-path --timestamp ' + str(args.timestamp)
361-
workflow['stages'].append(MFT_DICT_DOWNLOADER_TASK)
354+
MATBUD_DOWNLOADER_TASK = createTask(name='matbuddownloader', cpu='0')
355+
MATBUD_DOWNLOADER_TASK['cmd'] = '[ -f matbud.root ] || ${O2_ROOT}/bin/o2-ccdb-downloadccdbfile --host http://alice-ccdb.cern.ch/ -p GLO/Param/MatLUT -o matbud.root --no-preserve-path --timestamp ' + str(args.timestamp)
356+
workflow['stages'].append(MATBUD_DOWNLOADER_TASK)
362357

363358
# loop over timeframes
364359
for tf in range(1, NTIMEFRAMES + 1):
@@ -720,32 +715,30 @@ def getDigiTaskName(det):
720715
TPCRECOtask['cmd'] = '${O2_ROOT}/bin/o2-tpc-reco-workflow ' + getDPL_global_options(bigshm=True) + ' --input-type clusters --output-type tracks,send-clusters-per-sector ' + putConfigValuesNew(["GPU_global","TPCGasParam"], {"GPU_proc.ompThreads":NWORKERS})
721716
workflow['stages'].append(TPCRECOtask)
722717

723-
ITSConfig = {"ITSClustererParam.dictFilePath":"../"}
724-
ITSRECOtask=createTask(name='itsreco_'+str(tf), needs=[ITS_DICT_DOWNLOADER_TASK['name'], getDigiTaskName("ITS")], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu='1', mem='2000')
718+
ITSRECOtask=createTask(name='itsreco_'+str(tf), needs=[getDigiTaskName("ITS"), MATBUD_DOWNLOADER_TASK['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu='1', mem='2000')
725719
ITSRECOtask['cmd'] = '${O2_ROOT}/bin/o2-its-reco-workflow --trackerCA --tracking-mode async ' + getDPL_global_options() \
726720
+ putConfigValuesNew(["ITSVertexerParam", "ITSAlpideParam",
727-
'ITSClustererParam'], localCF=ITSConfig)
721+
'ITSClustererParam'], {"NameConf.mDirMatLUT" : ".."})
728722
workflow['stages'].append(ITSRECOtask)
729723

730724
FT0RECOtask=createTask(name='ft0reco_'+str(tf), needs=[getDigiTaskName("FT0")], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1000')
731725
FT0RECOtask['cmd'] = '${O2_ROOT}/bin/o2-ft0-reco-workflow ' + getDPL_global_options() + putConfigValues()
732726
workflow['stages'].append(FT0RECOtask)
733727

734728
ITSTPCMATCHtask=createTask(name='itstpcMatch_'+str(tf), needs=[TPCRECOtask['name'], ITSRECOtask['name'], FT0RECOtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='8000', relative_cpu=3/8)
735-
ITSTPCMATCHtask['cmd']= '${O2_ROOT}/bin/o2-tpcits-match-workflow ' + getDPL_global_options(bigshm=True) + ' --tpc-track-reader \"tpctracks.root\" --tpc-native-cluster-reader \"--infile tpc-native-clusters.root\" --use-ft0' + putConfigValuesNew(['MFTClustererParam', 'ITSCATrackerParam', 'tpcitsMatch', 'TPCGasParam', 'ITSClustererParam'],{"ITSClustererParam.dictFilePath":"../"})
729+
ITSTPCMATCHtask['cmd']= '${O2_ROOT}/bin/o2-tpcits-match-workflow ' + getDPL_global_options(bigshm=True) + ' --tpc-track-reader \"tpctracks.root\" --tpc-native-cluster-reader \"--infile tpc-native-clusters.root\" --use-ft0' + putConfigValuesNew(['MFTClustererParam', 'ITSCATrackerParam', 'tpcitsMatch', 'TPCGasParam', 'ITSClustererParam'], {"NameConf.mDirMatLUT" : ".."})
736730
workflow['stages'].append(ITSTPCMATCHtask)
737731

738732
TRDTRACKINGtask = createTask(name='trdreco_'+str(tf), needs=[TRDDigitask['name'], ITSTPCMATCHtask['name'], TPCRECOtask['name'], ITSRECOtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu='1', mem='2000')
739733
TRDTRACKINGtask['cmd'] = '${O2_ROOT}/bin/o2-trd-tracklet-transformer ' + getDPL_global_options() + putConfigValues()
740734
workflow['stages'].append(TRDTRACKINGtask)
741735

742736
# FIXME This is so far a workaround to avoud a race condition for trdcalibratedtracklets.root
743-
TRDTRACKINGtask2 = createTask(name='trdreco2_'+str(tf), needs=[TRDTRACKINGtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu='1', mem='2000')
737+
TRDTRACKINGtask2 = createTask(name='trdreco2_'+str(tf), needs=[TRDTRACKINGtask['name'],MATBUD_DOWNLOADER_TASK['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu='1', mem='2000')
744738
TRDTRACKINGtask2['cmd'] = '${O2_ROOT}/bin/o2-trd-global-tracking ' + getDPL_global_options(bigshm=True) \
745739
+ putConfigValuesNew(['ITSClustererParam',
746740
'ITSCATrackerParam',
747-
'TPCGasParam'],
748-
{"ITSClustererParam.dictFilePath":"../"}) \
741+
'TPCGasParam'], {"NameConf.mDirMatLUT" : ".."}) \
749742
+ " --track-sources " + anchorConfig.get("o2-trd-global-tracking-options",{}).get("track-sources","all")
750743
workflow['stages'].append(TRDTRACKINGtask2)
751744

@@ -763,13 +756,12 @@ def getDigiTaskName(det):
763756
+ putConfigValuesNew(["ITSClustererParam",
764757
'TPCGasParam',
765758
'ITSCATrackerParam',
766-
'MFTClustererParam'],{"ITSClustererParam.dictFilePath":"../"}) \
759+
'MFTClustererParam']) \
767760
+ " --track-sources " + anchorConfig.get("o2-tof-matcher-workflow-options",{}).get("track-sources",toftracksrcdefault)
768761
workflow['stages'].append(TOFTPCMATCHERtask)
769762

770-
MFTConfig = {"MFTClustererParam.dictFilePath":"../"}
771-
MFTRECOtask = createTask(name='mftreco_'+str(tf), needs=[getDigiTaskName("MFT"), MFT_DICT_DOWNLOADER_TASK['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
772-
MFTRECOtask['cmd'] = '${O2_ROOT}/bin/o2-mft-reco-workflow ' + getDPL_global_options() + putConfigValuesNew(['MFTTracking', 'MFTAlpideParam', 'ITSClustererParam','MFTClustererParam'],MFTConfig)
763+
MFTRECOtask = createTask(name='mftreco_'+str(tf), needs=[getDigiTaskName("MFT")], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
764+
MFTRECOtask['cmd'] = '${O2_ROOT}/bin/o2-mft-reco-workflow ' + getDPL_global_options() + putConfigValuesNew(['MFTTracking', 'MFTAlpideParam', 'ITSClustererParam','MFTClustererParam'])
773765
if args.mft_assessment_full == True:
774766
MFTRECOtask['cmd']+= ' --run-assessment '
775767
workflow['stages'].append(MFTRECOtask)
@@ -820,15 +812,15 @@ def getDigiTaskName(det):
820812
workflow['stages'].append(MCHMIDMATCHtask)
821813

822814
MFTMCHMATCHtask = createTask(name='mftmchMatch_'+str(tf), needs=[MCHMIDMATCHtask['name'], MFTRECOtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
823-
MFTMCHMATCHtask['cmd'] = '${O2_ROOT}/bin/o2-globalfwd-matcher-workflow ' + putConfigValuesNew(['ITSAlpideConfig','MFTAlpideConfig'],{"MFTClustererParam.dictFilePath" : "../", "FwdMatching.useMIDMatch":"true"})
815+
MFTMCHMATCHtask['cmd'] = '${O2_ROOT}/bin/o2-globalfwd-matcher-workflow ' + putConfigValuesNew(['ITSAlpideConfig','MFTAlpideConfig'],{"FwdMatching.useMIDMatch":"true"})
824816
if args.fwdmatching_assessment_full == True:
825817
MFTMCHMATCHtask['cmd']+= ' | o2-globalfwd-assessment-workflow '
826818
MFTMCHMATCHtask['cmd']+= getDPL_global_options()
827819
workflow['stages'].append(MFTMCHMATCHtask)
828820

829821
if args.fwdmatching_save_trainingdata == True:
830822
MFTMCHMATCHTraintask = createTask(name='mftmchMatchTrain_'+str(tf), needs=[MCHMIDMATCHtask['name'], MFTRECOtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
831-
MFTMCHMATCHTraintask['cmd'] = '${O2_ROOT}/bin/o2-globalfwd-matcher-workflow ' + putConfigValuesNew(['ITSAlpideConfig','MFTAlpideConfig'],{"MFTClustererParam.dictFilePath" : "../", "FwdMatching.useMIDMatch":"true"})
823+
MFTMCHMATCHTraintask['cmd'] = '${O2_ROOT}/bin/o2-globalfwd-matcher-workflow ' + putConfigValuesNew(['ITSAlpideConfig','MFTAlpideConfig'],{"FwdMatching.useMIDMatch":"true"})
832824
MFTMCHMATCHTraintask['cmd']+= getDPL_global_options()
833825
workflow['stages'].append(MFTMCHMATCHTraintask)
834826

@@ -849,7 +841,7 @@ def getDigiTaskName(det):
849841
pvfinderneeds += [MFTMCHMATCHtask['name']]
850842
PVFINDERtask = createTask(name='pvfinder_'+str(tf), needs=pvfinderneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu=NWORKERS, mem='4000')
851843
PVFINDERtask['cmd'] = '${O2_ROOT}/bin/o2-primary-vertexing-workflow ' \
852-
+ getDPL_global_options() + putConfigValuesNew(['ITSAlpideParam','MFTAlpideParam', 'pvertexer', 'TPCGasParam'])
844+
+ getDPL_global_options() + putConfigValuesNew(['ITSAlpideParam','MFTAlpideParam', 'pvertexer', 'TPCGasParam'], {"NameConf.mDirMatLUT" : ".."})
853845
PVFINDERtask['cmd'] += ' --vertexing-sources ' + anchorConfig.get("o2-primary-vertexing-workflow-options",{}).get("vertexing-sources", "ITS,ITS-TPC,ITS-TPC-TRD,ITS-TPC-TOF") \
854846
+ ' --vertex-track-matching-sources ' + anchorConfig.get("o2-primary-vertexing-workflow-options",{}).get("vertex-track-matching-sources","ITS,MFT,TPC,ITS-TPC,MCH,MFT-MCH,TPC-TOF,TPC-TRD,ITS-TPC-TRD,ITS-TPC-TOF")
855847
workflow['stages'].append(PVFINDERtask)
@@ -950,7 +942,7 @@ def addQCPerTF(taskName, needs, readerCommand, configFilePath, objectsFile=''):
950942
svfinder_cpu = 3
951943
SVFINDERtask = createTask(name='svfinder_'+str(tf), needs=[PVFINDERtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu=svfinder_cpu, mem='5000')
952944
SVFINDERtask['cmd'] = '${O2_ROOT}/bin/o2-secondary-vertexing-workflow '
953-
SVFINDERtask['cmd'] += getDPL_global_options(bigshm=True) + svfinder_threads + putConfigValuesNew(['svertexer'])
945+
SVFINDERtask['cmd'] += getDPL_global_options(bigshm=True) + svfinder_threads + putConfigValuesNew(['svertexer'], {"NameConf.mDirMatLUT" : ".."})
954946
SVFINDERtask['cmd'] += ' --vertexing-sources ' + anchorConfig.get("o2-secondary-vertexing-workflow-options",{}).get("vertexing-sources","ITS,ITS-TPC,TPC-TRD,TPC-TOF,ITS-TPC-TRD,ITS-TPC-TOF")
955947
workflow['stages'].append(SVFINDERtask)
956948

0 commit comments

Comments
 (0)