Skip to content
Snippets Groups Projects
Commit 39bc15cf authored by John Chapman's avatar John Chapman
Browse files

Configuring Pile-up Digitization to run in AthenaMT should cause the job to bail

Digitization configuration should throw a RuntimeError if a pile-up digitization
job is configured to be run with AthenaMT. This configuration is not currently
supported. See discussion in ATLASRECTS-6129.
parent 26e8f633
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!42028Configuring Pile-up Digitization to run in AthenaMT should cause the job to bail
...@@ -22,10 +22,16 @@ from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationCfg ...@@ -22,10 +22,16 @@ from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationCfg
from TileSimAlgs.TileDigitizationConfig import TileDigitizationCfg, TileTriggerDigitizationCfg from TileSimAlgs.TileDigitizationConfig import TileDigitizationCfg, TileTriggerDigitizationCfg
from TRT_Digitization.TRT_DigitizationConfigNew import TRT_DigitizationCfg from TRT_Digitization.TRT_DigitizationConfigNew import TRT_DigitizationCfg
from AthenaCommon.Logging import logging
logDigiSteering = logging.getLogger('DigitizationSteering')
def DigitizationMainServicesCfg(flags): def DigitizationMainServicesCfg(flags):
"""Configure main digitization services""" """Configure main digitization services"""
if flags.Digitization.PileUp: 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 from Digitization.PileUpConfigNew import PileUpEventLoopMgrCfg
acc = MainServicesCfg(flags, LoopMgr="PileUpEventLoopMgr") acc = MainServicesCfg(flags, LoopMgr="PileUpEventLoopMgr")
acc.merge(PileUpEventLoopMgrCfg(flags)) acc.merge(PileUpEventLoopMgrCfg(flags))
......
...@@ -75,6 +75,11 @@ if DetFlags.pileup.any_on() or digitizationFlags.doXingByXingPileUp(): ...@@ -75,6 +75,11 @@ if DetFlags.pileup.any_on() or digitizationFlags.doXingByXingPileUp():
# protection for SteppingCache usage - currently incompatible with PileUpTools # protection for SteppingCache usage - currently incompatible with PileUpTools
if digitizationFlags.SignalPatternForSteppingCache.statusOn and digitizationFlags.doXingByXingPileUp(): if digitizationFlags.SignalPatternForSteppingCache.statusOn and digitizationFlags.doXingByXingPileUp():
raise RuntimeError("SteppingCache is incompatible with PileUpTools. Please switch off either digitizationFlags.SignalPatternForSteppingCache or 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" ) include( "Digitization/ConfigPileUpEventLoopMgr.py" )
if DetFlags.pileup.any_on(): if DetFlags.pileup.any_on():
logConfigDigitization.info("PILEUP CONFIGURATION:") logConfigDigitization.info("PILEUP CONFIGURATION:")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment