From d8bcc61713bdb96d8a92346dc6def232fe38692e Mon Sep 17 00:00:00 2001 From: Ernst Hellbar Date: Mon, 9 Nov 2026 15:15:15 +0100 Subject: [PATCH 1/2] fix dependencies of PV finder and AOD producer in o2dpg_sim_workflow.py --- MC/bin/o2dpg_sim_workflow.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/MC/bin/o2dpg_sim_workflow.py b/MC/bin/o2dpg_sim_workflow.py index 470e538f7..9eadf6d9c 100755 --- a/MC/bin/o2dpg_sim_workflow.py +++ b/MC/bin/o2dpg_sim_workflow.py @@ -1378,13 +1378,13 @@ def getDigiTaskName(det): if not isActive('CTP'): # CTP digits won't be produced for this timeframe (CTP not in the readout detector list) tpc_corr_scaling_options += ' --disable-ctp-lumi-request' - + # why not simply? # tpc_corr_scaling_options = ('--lumi-type 1', '')[tpcDistortionType != 0] # at the moment MC is not ready for the sector edge fluctuations (RS: and does not use IDC but --disable-IDC-scalers can be added only once it is added by the CorrectionMapsOptions::addGlobalOptions) tpc_corr_scaling_options += option_if_available('o2-tpc-reco-workflow', '--disable-sec-edge-fluc-correction', envfile=async_envfile) - + #<--------- TPC reco task if includeTPCSyncMode: tpcSyncreconeeds = tpcreconeeds.copy() @@ -1745,6 +1745,10 @@ def getDigiTaskName(det): pvfinder_matching_sources = cleanDetectorInputList(pvfinder_matching_sources) pvfinderneeds = [TRDTRACKINGtask2['name'] if isActive("TRD") else None, + ITSRECOtask['name'] if isActive("ITS") else None, + TPCRECOtask['name'] if isActive("TPC") else None, + MFTRECOtask['name'] if isActive("MFT") else None, + MCHRECOtask['name'] if isActive("MCH") else None, FT0RECOtask['name'] if isActive("FT0") else None, FV0RECOtask['name'] if isActive("FV0") else None, EMCRECOtask['name'] if isActive("EMC") else None, @@ -1757,7 +1761,7 @@ def getDigiTaskName(det): TOFTPCMATCHERtask['name'] if isActive("TPC") and isActive("TOF") else None, MFTMCHMATCHtask['name'] if isActive("MFT") and isActive("MCH") else None, MCHMIDMATCHtask['name'] if isActive("MCH") and isActive("MID") else None] - pvfinderneeds = [ p for p in pvfinderneeds if p != None ] + pvfinderneeds = [p for p in pvfinderneeds if p != None] PVFINDERtask = createTask(name='pvfinder_'+str(tf), needs=pvfinderneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], cpu=NWORKERS_TF, mem='4000') PVFINDERtask['cmd'] = task_finalizer( @@ -1810,7 +1814,8 @@ def getDigiTaskName(det): aod_info_souces_default = 'ITS-TPC,TPC-TRD,ITS-TPC-TRD,TPC-TOF,ITS-TPC-TOF,TPC-TRD-TOF,ITS-TPC-TRD-TOF,MFT-MCH,MCH-MID,ITS,MFT,TPC,TOF,FT0,MID,EMC,PHS,CPV,ZDC,FDD,HMP,FV0,TRD,MCH,CTP' aodinfosources = dpl_option_from_config(anchorConfig, 'o2-aod-producer-workflow', '--info-sources', default_value=aod_info_souces_default) aodinfosources = cleanDetectorInputList(aodinfosources) - aodneeds = [PVFINDERtask['name'], SVFINDERtask['name']] + aodneeds = [PVFINDERtask['name'], SVFINDERtask['name'], + MIDRECOtask['name'] if isActive("MID") else None] if usebkgcache: aodneeds += [ BKG_KINEDOWNLOADER_TASK['name'] ] From a9c81f5767ff0e7243e7b74782ff0df049ce4064 Mon Sep 17 00:00:00 2001 From: Ernst Hellbar Date: Mon, 9 Nov 2026 15:30:22 +0100 Subject: [PATCH 2/2] move unused dependencies in PV finder to AOD producer in o2dpg_sim_workflow.py The first commit fixes the issue reported in https://its.cern.ch/jira/browse/O2-7313 1) add missing ITS, TPC, MCH and MFT reco dependencies to pvfinder task, MID reco dependency to aod task The second one moves dependencies which are unnecessary for pvfinder to the aod task 2) remove HMP, ZDC dependencies from pvfinder since they are filtered out in the workflow itself (https://github.com/AliceO2Group/AliceO2/blob/b02000319f85bddcfa11525a7d4e8e5b86fcca45/Detectors/GlobalTrackingWorkflow/src/primary-vertexing-workflow.cxx#L89), add them to the aod task where they are needed after the removal from the pvfinder --- MC/bin/o2dpg_sim_workflow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MC/bin/o2dpg_sim_workflow.py b/MC/bin/o2dpg_sim_workflow.py index 9eadf6d9c..89d98cede 100755 --- a/MC/bin/o2dpg_sim_workflow.py +++ b/MC/bin/o2dpg_sim_workflow.py @@ -1755,8 +1755,6 @@ def getDigiTaskName(det): PHSRECOtask['name'] if isActive("PHS") else None, CPVRECOtask['name'] if isActive("CPV") else None, FDDRECOtask['name'] if isActive("FDD") else None, - ZDCRECOtask['name'] if isActive("ZDC") else None, - HMPMATCHtask['name'] if isActive("HMP") else None, ITSTPCMATCHtask['name'] if isActive("ITS") and isActive("TPC") else None, TOFTPCMATCHERtask['name'] if isActive("TPC") and isActive("TOF") else None, MFTMCHMATCHtask['name'] if isActive("MFT") and isActive("MCH") else None, @@ -1815,6 +1813,8 @@ def getDigiTaskName(det): aodinfosources = dpl_option_from_config(anchorConfig, 'o2-aod-producer-workflow', '--info-sources', default_value=aod_info_souces_default) aodinfosources = cleanDetectorInputList(aodinfosources) aodneeds = [PVFINDERtask['name'], SVFINDERtask['name'], + HMPMATCHtask['name'] if isActive("HMP") else None, + ZDCRECOtask['name'] if isActive("ZDC") else None, MIDRECOtask['name'] if isActive("MID") else None] if usebkgcache: