2 """Main steering for MC+MC and MC+data overlay
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
7 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
8 from AthenaConfiguration.DetectorConfigFlags
import getEnabledDetectors
9 from AthenaConfiguration.Enums
import LHCPeriod
10 from AthenaKernel.EventIdOverrideConfig
import IOVDbMetaDataToolWithRunNumberOverrideCfg
11 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
12 from DigitizationConfig.DigitizationParametersConfig
import writeDigitizationParameters
13 from OverlayCopyAlgs.OverlayCopyAlgsConfig
import \
14 CopyCaloCalibrationHitContainersCfg, CopyJetTruthInfoCfg, CopyPileupParticleTruthInfoCfg, CopyMcEventCollectionCfg, \
15 CopyTrackRecordCollectionsCfg, CopyBackgroundVertexCfg
16 from PyJobTransforms.TransformUtils
import executeFromFragment
17 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoOverlayCfg
21 """Main overlay steering configuration"""
31 """Main overlay content"""
33 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
37 if hasattr(configFlags,
'_Overlay_pileupDigitizationMetadata'):
38 if configFlags.IOVDb.WriteParametersAsMetaData:
40 from IOVDbMetaDataTools.ParameterWriterConfig
import writeParametersToMetaData
41 from DigitizationConfig.DigitizationParametersConfig
import folderName
42 from AthenaCommon.Logging
import logging
43 logOverlay = logging.getLogger(
'OverlayMetadataConfig')
44 logOverlay.info(
'Writing overlay digitization parameters directly to in-file metadata (bypassing DigitParams.db)')
46 pileupDict = configFlags._Overlay_pileupDigitizationMetadata
47 runNumber = configFlags.Input.RunNumbers[0]
48 runNumberEnd = configFlags.Input.RunNumbers[-1]
49 if runNumberEnd == runNumber:
54 for key
in pileupDict:
55 value =
str(pileupDict[key])
57 logOverlay.info(
'DigitizationMetaData: setting "%s" to be %s', key, value)
62 from OverlayConfiguration.OverlayMetadata
import writeOverlayDigitizationMetadata
68 if not configFlags.IOVDb.WriteParametersAsMetaData
and hasattr(configFlags,
'_Overlay_pileupDigitizationMetadata'):
71 if not configFlags.Overlay.ByteStream:
75 if not configFlags.Sim.DoFullChain:
79 if not configFlags.Sim.DoFullChain
and (
getEnabledDetectors(configFlags)
or configFlags.Digitization.EnableTruth):
81 if configFlags.Digitization.EnableTruth:
85 if not configFlags.Sim.DoFullChain:
89 if configFlags.Digitization.InputBeamSigmaZ > 0:
90 from BeamEffects.BeamEffectsAlgConfig
import BeamSpotReweightingAlgCfg
94 if configFlags.Detector.EnableBCM:
95 from InDetOverlay.BCMOverlayConfig
import BCMOverlayCfg
97 if configFlags.Detector.EnablePixel:
98 from InDetOverlay.PixelOverlayConfig
import PixelOverlayCfg
100 if configFlags.Detector.EnableSCT:
101 from InDetOverlay.SCTOverlayConfig
import SCTOverlayCfg
103 if configFlags.Detector.EnableTRT:
104 from InDetOverlay.TRTOverlayConfig
import TRTOverlayCfg
108 if configFlags.Detector.EnableITkPixel:
109 from InDetOverlay.ITkPixelOverlayConfig
import ITkPixelOverlayCfg
111 if configFlags.Detector.EnableITkStrip:
112 from InDetOverlay.ITkStripOverlayConfig
import ITkStripOverlayCfg
114 if configFlags.Detector.EnablePLR:
115 from InDetOverlay.PLR_OverlayConfig
import PLR_OverlayCfg
119 if configFlags.Detector.EnableHGTD:
120 from HGTD_Overlay.HGTD_OverlayConfig
import HGTD_OverlayCfg
124 if configFlags.Detector.EnableLAr:
125 from LArDigitization.LArDigitizationConfig
import LArOverlayCfg, LArSuperCellOverlayCfg
127 if configFlags.Detector.EnableL1Calo:
128 if configFlags.Overlay.DataOverlay:
131 from TrigT1CaloSim.TTL1OverlayConfig
import LArTTL1OverlayCfg
133 if configFlags.GeoModel.Run >= LHCPeriod.Run3:
136 if configFlags.Detector.EnableTile:
137 from TileSimAlgs.TileDigitizationConfig
import TileDigitizationCfg, TileOverlayTriggerDigitizationCfg
139 if configFlags.Detector.EnableL1Calo:
140 if configFlags.Overlay.DataOverlay:
143 from TrigT1CaloSim.TTL1OverlayConfig
import TileTTL1OverlayCfg
148 from MuonConfig.MuonOverlayConfig
import MuonOverlayCfg
152 if configFlags.Overlay.doTrackOverlay:
154 from TrkEventCnvTools.TrkEventCnvToolsConfig
import TrkEventCnvSuperToolCfg
156 if configFlags.Detector.GeometryITk:
157 from OverlayCopyAlgs.OverlayCopyAlgsConfig
import CopyITkTrackCollectionsCfg, CopyITkPixelClusterContainerCfg, CopyITkStripClusterContainerCfg
162 from OverlayCopyAlgs.OverlayCopyAlgsConfig
import CopyTrackCollectionsCfg,CopyPixelClusterContainerCfg, CopySCT_ClusterContainerCfg,\
163 CopyTRT_DriftCircleContainerCfg
169 if configFlags.Overlay.DataOverlay:
173 if configFlags.Overlay.DataOverlayConditions:
177 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
178 if configFlags.Output.doWriteRDO:
180 if configFlags.Output.doWriteRDO_SGNL: