diff --git a/Simulation/Digitization/python/DigitizationSteering.py b/Simulation/Digitization/python/DigitizationSteering.py index dcbea0c8af95dde71f6c085343e48f5109d65d9b..c64c604a1e1193576c350b15162f9e802723cdfe 100644 --- a/Simulation/Digitization/python/DigitizationSteering.py +++ b/Simulation/Digitization/python/DigitizationSteering.py @@ -22,10 +22,16 @@ from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationCfg from TileSimAlgs.TileDigitizationConfig import TileDigitizationCfg, TileTriggerDigitizationCfg from TRT_Digitization.TRT_DigitizationConfigNew import TRT_DigitizationCfg +from AthenaCommon.Logging import logging +logDigiSteering = logging.getLogger('DigitizationSteering') def DigitizationMainServicesCfg(flags): """Configure main digitization services""" if flags.Digitization.PileUp: + if flags.Concurrency.NumThreads > 0: + logDigiSteering.error("DigitizationMainServicesCfg: Attempting to run pile-up digitization AthenaMT using %s threads!", str(flags.Concurrency.NumThreads)) + logDigiSteering.error("DigitizationMainServicesCfg: Running pile-up digitization with AthenaMT is not supported. Please update your configuration. The job will fail now.") + raise RuntimeError("DigitizationSteering.DigitizationMainServicesCfg: Running pile-up digitization with AthenaMT is not supported. Please update your configuration.") from Digitization.PileUpConfigNew import PileUpEventLoopMgrCfg acc = MainServicesCfg(flags, LoopMgr="PileUpEventLoopMgr") acc.merge(PileUpEventLoopMgrCfg(flags)) diff --git a/Simulation/Digitization/share/ConfigDigitization.py b/Simulation/Digitization/share/ConfigDigitization.py index 91e8abea8f1d324f39f322ebe28ca24cbcd281a6..6f62b7ccdf29064853daa909a66677ffe97ae337 100755 --- a/Simulation/Digitization/share/ConfigDigitization.py +++ b/Simulation/Digitization/share/ConfigDigitization.py @@ -75,6 +75,11 @@ if DetFlags.pileup.any_on() or digitizationFlags.doXingByXingPileUp(): # protection for SteppingCache usage - currently incompatible with PileUpTools if digitizationFlags.SignalPatternForSteppingCache.statusOn and digitizationFlags.doXingByXingPileUp(): raise RuntimeError("SteppingCache is incompatible with PileUpTools. Please switch off either digitizationFlags.SignalPatternForSteppingCache or digitizationFlags.doXingByXingPileUp.") + from AthenaCommon.ConcurrencyFlags import jobproperties as jp + if jp.ConcurrencyFlags.NumThreads() > 0: + logConfigDigitization.error("Attempting to run pile-up digitization AthenaMT using %s threads!", str(jp.ConcurrencyFlags.NumThreads())) + logConfigDigitization.error("Running pile-up digitization with AthenaMT is not supported. Please update your configuration. The job will fail now.") + raise RuntimeError("Running pile-up digitization with AthenaMT is not supported. Please update your configuration.") include( "Digitization/ConfigPileUpEventLoopMgr.py" ) if DetFlags.pileup.any_on(): logConfigDigitization.info("PILEUP CONFIGURATION:")