30def OverlayMainContentCfg(configFlags):
31 """Main overlay content"""
32
33 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
34 acc = ComponentAccumulator()
35
36
37 if hasattr(configFlags, '_Overlay_pileupDigitizationMetadata'):
38 if configFlags.IOVDb.WriteParametersAsMetaData:
39
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)')
45
46 pileupDict = configFlags._Overlay_pileupDigitizationMetadata
47 runNumber = configFlags.Input.RunNumbers[0]
48 runNumberEnd = configFlags.Input.RunNumbers[-1]
49 if runNumberEnd == runNumber:
50 runNumberEnd += 1
51
52
53 params = {}
54 for key in pileupDict:
55 value = str(pileupDict[key])
56 params[key] = value
57 logOverlay.info('DigitizationMetaData: setting "%s" to be %s', key, value)
58
59 acc.merge(writeParametersToMetaData(configFlags, folderName, params, runNumber, runNumberEnd))
60 else:
61
62 from OverlayConfiguration.OverlayMetadata import writeOverlayDigitizationMetadata
63 writeOverlayDigitizationMetadata(configFlags, configFlags._Overlay_pileupDigitizationMetadata)
64
65
66
67
68 if not configFlags.IOVDb.WriteParametersAsMetaData and hasattr(configFlags, '_Overlay_pileupDigitizationMetadata'):
69 acc.merge(writeDigitizationParameters(configFlags))
70
71 if not configFlags.Overlay.ByteStream:
72 acc.merge(IOVDbMetaDataToolWithRunNumberOverrideCfg(configFlags))
73
74
75 if not configFlags.Sim.DoFullChain:
76 acc.merge(EventInfoOverlayCfg(configFlags))
77
78
79 if not configFlags.Sim.DoFullChain and (getEnabledDetectors(configFlags) or configFlags.Digitization.EnableTruth):
80 acc.merge(CopyMcEventCollectionCfg(configFlags))
81 if configFlags.Digitization.EnableTruth:
82 acc.merge(CopyJetTruthInfoCfg(configFlags))
83 acc.merge(CopyPileupParticleTruthInfoCfg(configFlags))
84 acc.merge(CopyCaloCalibrationHitContainersCfg(configFlags))
85 if not configFlags.Sim.DoFullChain:
86 acc.merge(CopyTrackRecordCollectionsCfg(configFlags))
87
88
89 if configFlags.Digitization.InputBeamSigmaZ > 0:
90 from BeamEffects.BeamEffectsAlgConfig import BeamSpotReweightingAlgCfg
91 acc.merge(BeamSpotReweightingAlgCfg(configFlags))
92
93
94 if configFlags.Detector.EnableBCM:
95 from InDetOverlay.BCMOverlayConfig import BCMOverlayCfg
96 acc.merge(BCMOverlayCfg(configFlags))
97 if configFlags.Detector.EnablePixel:
98 from InDetOverlay.PixelOverlayConfig import PixelOverlayCfg
99 acc.merge(PixelOverlayCfg(configFlags))
100 if configFlags.Detector.EnableSCT:
101 from InDetOverlay.SCTOverlayConfig import SCTOverlayCfg
102 acc.merge(SCTOverlayCfg(configFlags))
103 if configFlags.Detector.EnableTRT:
104 from InDetOverlay.TRTOverlayConfig import TRTOverlayCfg
105 acc.merge(TRTOverlayCfg(configFlags))
106
107
108 if configFlags.Detector.EnableITkPixel:
109 from InDetOverlay.ITkPixelOverlayConfig import ITkPixelOverlayCfg
110 acc.merge(ITkPixelOverlayCfg(configFlags))
111 if configFlags.Detector.EnableITkStrip:
112 from InDetOverlay.ITkStripOverlayConfig import ITkStripOverlayCfg
113 acc.merge(ITkStripOverlayCfg(configFlags))
114 if configFlags.Detector.EnablePLR:
115 from InDetOverlay.PLR_OverlayConfig import PLR_OverlayCfg
116 acc.merge(PLR_OverlayCfg(configFlags))
117
118
119 if configFlags.Detector.EnableHGTD:
120 from HGTD_Overlay.HGTD_OverlayConfig import HGTD_OverlayCfg
121 acc.merge(HGTD_OverlayCfg(configFlags))
122
123
124 if configFlags.Detector.EnableLAr:
125 from LArDigitization.LArDigitizationConfig import LArOverlayCfg, LArSuperCellOverlayCfg
126 acc.merge(LArOverlayCfg(configFlags))
127 if configFlags.Detector.EnableL1Calo:
128 if configFlags.Overlay.DataOverlay:
129 pass
130 else:
131 from TrigT1CaloSim.TTL1OverlayConfig import LArTTL1OverlayCfg
132 acc.merge(LArTTL1OverlayCfg(configFlags))
133 if configFlags.GeoModel.Run >= LHCPeriod.Run3:
134 acc.merge(LArSuperCellOverlayCfg(configFlags))
135
136 if configFlags.Detector.EnableTile:
137 from TileSimAlgs.TileDigitizationConfig import TileDigitizationCfg, TileOverlayTriggerDigitizationCfg
138 acc.merge(TileDigitizationCfg(configFlags))
139 if configFlags.Detector.EnableL1Calo:
140 if configFlags.Overlay.DataOverlay:
141 pass
142 else:
143 from TrigT1CaloSim.TTL1OverlayConfig import TileTTL1OverlayCfg
144 acc.merge(TileTTL1OverlayCfg(configFlags))
145 acc.merge(TileOverlayTriggerDigitizationCfg(configFlags))
146
147
148 from MuonConfig.MuonOverlayConfig import MuonOverlayCfg
149 acc.merge(MuonOverlayCfg(configFlags))
150
151
152 if configFlags.Overlay.doTrackOverlay:
153
154 from TrkEventCnvTools.TrkEventCnvToolsConfig import TrkEventCnvSuperToolCfg
155 acc.merge(TrkEventCnvSuperToolCfg(configFlags))
156 if configFlags.Detector.GeometryITk:
157 from OverlayCopyAlgs.OverlayCopyAlgsConfig import CopyITkTrackCollectionsCfg, CopyITkPixelClusterContainerCfg, CopyITkStripClusterContainerCfg
158 acc.merge(CopyITkTrackCollectionsCfg(configFlags))
159 acc.merge(CopyITkPixelClusterContainerCfg(configFlags))
160 acc.merge(CopyITkStripClusterContainerCfg(configFlags))
161 else:
162 from OverlayCopyAlgs.OverlayCopyAlgsConfig import CopyTrackCollectionsCfg,CopyPixelClusterContainerCfg, CopySCT_ClusterContainerCfg,\
163 CopyTRT_DriftCircleContainerCfg
164 acc.merge(CopyTrackCollectionsCfg(configFlags))
165 acc.merge(CopyPixelClusterContainerCfg(configFlags))
166 acc.merge(CopySCT_ClusterContainerCfg(configFlags))
167 acc.merge(CopyTRT_DriftCircleContainerCfg(configFlags))
168
169 if configFlags.Overlay.DataOverlay:
170
171 acc.merge(CopyBackgroundVertexCfg(configFlags))
172
173 if configFlags.Overlay.DataOverlayConditions:
174 executeFromFragment(configFlags.Overlay.DataOverlayConditions, configFlags, acc)
175
176
177 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
178 if configFlags.Output.doWriteRDO:
179 acc.merge(SetupMetaDataForStreamCfg(configFlags, "RDO"))
180 if configFlags.Output.doWriteRDO_SGNL:
181 acc.merge(SetupMetaDataForStreamCfg(configFlags, "RDO_SGNL"))
182
183 return acc