From 03a65729569d3a57dccb103f81f987408b46788f Mon Sep 17 00:00:00 2001 From: Marco Giacalone Date: Tue, 5 Aug 2025 11:09:05 +0200 Subject: [PATCH 1/2] Adaptable QED events based on INTRATE --- MC/bin/o2dpg_sim_workflow.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MC/bin/o2dpg_sim_workflow.py b/MC/bin/o2dpg_sim_workflow.py index 7636763c4..435e10263 100755 --- a/MC/bin/o2dpg_sim_workflow.py +++ b/MC/bin/o2dpg_sim_workflow.py @@ -519,7 +519,10 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True): # preproduce the collision context / timeframe structure for all timeframes at once precollneeds=[GRP_TASK['name']] -NEventsQED=10000 # max number of QED events to simulate per timeframe +# max number of QED events simulated per timeframe. +# A large pool of QED events (0.6*INTRATE) is needed to avoid repetition of events in the same or +# neighbouring ITS readout frames, which would fire already activated pixel, discarding the event. +NEventsQED = 10000 if (INTRATE <= 16668) else int(INTRATE*0.6) # Hadronic cross section values are taken from Glauber MC XSecSys = {'PbPb': 8., 'OO': 1.273, 'NeNe': 1.736} # QED cross section values were calculated with TEPEMGEN @@ -723,7 +726,6 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True): QEDdigiargs = "" if includeQED: - NEventsQED=10000 # 35K for a full timeframe? qedneeds=[GRP_TASK['name'], PreCollContextTask['name']] QED_task=createTask(name='qedsim_'+str(tf), needs=qedneeds, tf=tf, cwd=timeframeworkdir, cpu='1') ######################################################################################################## From 1dbceabaf1f17fdc22fc4de4eaed44e41ab7fb9e Mon Sep 17 00:00:00 2001 From: Marco Giacalone Date: Tue, 5 Aug 2025 14:18:59 +0200 Subject: [PATCH 2/2] Update o2dpg_sim_workflow.py --- MC/bin/o2dpg_sim_workflow.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MC/bin/o2dpg_sim_workflow.py b/MC/bin/o2dpg_sim_workflow.py index 435e10263..ebc5daa30 100755 --- a/MC/bin/o2dpg_sim_workflow.py +++ b/MC/bin/o2dpg_sim_workflow.py @@ -522,7 +522,8 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True): # max number of QED events simulated per timeframe. # A large pool of QED events (0.6*INTRATE) is needed to avoid repetition of events in the same or # neighbouring ITS readout frames, which would fire already activated pixel, discarding the event. -NEventsQED = 10000 if (INTRATE <= 16668) else int(INTRATE*0.6) +# Discussed in detail in https://its.cern.ch/jira/browse/O2-5861 +NEventsQED = max(10000, int(INTRATE*0.6)) # Hadronic cross section values are taken from Glauber MC XSecSys = {'PbPb': 8., 'OO': 1.273, 'NeNe': 1.736} # QED cross section values were calculated with TEPEMGEN