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