8 Generates configuration of the reconstructions
10 from AthenaCommon.Logging
import logging
11 log = logging.getLogger(
"RecoSteering")
12 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
16 acc.flagPerfmonDomain(
'IO')
17 if flags.Input.Format
is Format.BS:
18 from ByteStreamCnvSvc.ByteStreamConfig
import ByteStreamReadCfg
21 if flags.Reco.EnableBeamSpotDecoration:
22 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import (
23 EventInfoBeamSpotDecoratorAlgCfg)
25 log.info(
"---------- Configured BS reading")
27 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
30 if "EventInfo" not in flags.Input.Collections:
31 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import (
34 log.info(
"---------- Configured POOL reading")
36 acc.flagPerfmonDomain(
'Truth')
39 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
41 log.info(
"---------- Configured AODtoxAOD Truth Conversion")
47 from JetRecConfig.JetRecoSteering
import addTruthPileupJetsToOutputCfg
49 log.info(
"---------- Configured Truth pileup jet writing")
52 acc.flagPerfmonDomain(
'Trigger')
53 if flags.Reco.EnableTrigger:
54 from TriggerJobOpts.TriggerRecoConfig
import TriggerRecoCfg
56 log.info(
"---------- Configured trigger data decoding")
59 acc.flagPerfmonDomain(
'Calo')
60 if flags.Detector.EnableCalo:
61 from CaloRec.CaloRecoConfig
import CaloRecoCfg
63 log.info(
"---------- Configured calorimeter reconstruction")
66 acc.flagPerfmonDomain(
'ID')
67 if flags.Reco.EnableTracking:
68 if flags.Reco.EnableTrackOverlay:
69 from TrackOverlayRec.TrackOverlayRecoConfig
import TrackOverlayRecoCfg
72 from InDetConfig.TrackRecoConfig
import InDetTrackRecoCfg
75 log.info(
"---------- Configured tracking")
78 acc.flagPerfmonDomain(
'HI')
79 if flags.Reco.EnableHI:
80 from HIRecConfig.HIRecConfig
import HIRecCfg
82 log.info(
"---------- Configured Heavy Ion reconstruction")
85 acc.flagPerfmonDomain(
'HGTD')
86 if flags.Reco.EnableHGTDExtension:
87 from HGTD_Config.HGTD_RecoConfig
import HGTD_RecoCfg
89 log.info(
"---------- Configured HGTD track extension")
92 acc.flagPerfmonDomain(
'Muon')
93 if flags.Detector.EnableMuon:
94 from MuonConfig.MuonReconstructionConfig
import MuonReconstructionCfg
96 log.info(
"---------- Configured muon tracking")
99 acc.flagPerfmonDomain(
'EGamma')
100 if flags.Reco.EnableEgamma:
101 from egammaConfig.egammaSteeringConfig
import EGammaSteeringCfg
103 log.info(
"---------- Configured e/gamma")
107 acc.flagPerfmonDomain(
'CaloExtension')
108 if flags.Reco.EnableCaloExtension:
109 from TrackToCalo.CaloExtensionBuilderAlgCfg
import (
110 CaloExtensionBuilderCfg)
112 log.info(
"---------- Configured track calorimeter extension builder")
115 acc.flagPerfmonDomain(
'CombinedMuon')
116 if flags.Reco.EnableCombinedMuon:
117 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import (
118 MuonCombinedReconstructionCfg)
120 log.info(
"---------- Configured combined muon reconstruction")
124 acc.flagPerfmonDomain(
'TrackCellAssociation')
125 if flags.Reco.EnableTrackCellAssociation:
126 from TrackParticleAssociationAlgs.TrackParticleAssociationAlgsConfig
import (
127 TrackParticleCellAssociationCfg)
129 log.info(
"---------- Configured track particle-cell association")
132 acc.flagPerfmonDomain(
'PFlow')
133 if flags.Reco.EnablePFlow:
134 from eflowRec.PFRun3Config
import PFCfg
135 acc.merge(
PFCfg(flags))
136 log.info(
"---------- Configured particle flow")
139 acc.flagPerfmonDomain(
'Isolation')
140 if flags.Reco.EnableIsolation:
141 from IsolationAlgs.IsolationSteeringConfig
import IsolationSteeringCfg
143 log.info(
"---------- Configured isolation")
146 acc.flagPerfmonDomain(
'Jets')
147 if flags.Reco.EnableJet:
148 from JetRecConfig.JetRecoSteering
import JetRecoSteeringCfg
150 log.info(
"---------- Configured Jets")
153 acc.flagPerfmonDomain(
'FTag')
154 if flags.Reco.EnableBTagging:
155 from BTagging.BTagConfig
import BTagRecoSplitCfg
157 log.info(
"---------- Configured btagging")
160 acc.flagPerfmonDomain(
'Tau')
161 if flags.Reco.EnableTau:
162 from tauRec.TauConfig
import TauReconstructionCfg
164 log.info(
"---------- Configured tau reconstruction")
166 if flags.Reco.EnablePFlow:
167 from eflowRec.PFRun3Config
import PFTauFELinkCfg
169 log.info(
"---------- Configured particle flow tau FE linking")
171 acc.flagPerfmonDomain(
'Jets')
172 if flags.Reco.EnableGlobalFELinking:
176 from eflowRec.PFCfg
import PFGlobalFlowElementLinkingCfg
178 log.info(
"---------- Configured particle flow global linking")
181 acc.flagPerfmonDomain(
'MET')
182 if flags.Reco.EnableMet:
183 from METReconstruction.METRecCfg
import METCfg
185 log.info(
"---------- Configured MET")
188 acc.flagPerfmonDomain(
'CaloRings')
189 if flags.Reco.EnableCaloRinger:
190 from CaloRingerAlgs.CaloRingerAlgsConfig
import CaloRingerSteeringCfg
192 log.info(
"---------- Configured Calo Rings")
195 acc.flagPerfmonDomain(
'AFP')
196 if flags.Detector.EnableAFP:
197 from ForwardRec.AFPRecConfig
import AFPRecCfg
199 log.info(
"---------- Configured AFP reconstruction")
202 acc.flagPerfmonDomain(
'Lucid')
203 if flags.Detector.EnableLucid:
204 from ForwardRec.LucidRecConfig
import LucidRecCfg
206 log.info(
"---------- Configured Lucid reconstruction")
209 acc.flagPerfmonDomain(
'ZDC')
210 if flags.Reco.EnableZDC:
211 from ZdcRec.ZdcRecConfig
import ZdcRecCfg
213 log.info(
"---------- Configured ZDC reconstruction")
216 acc.flagPerfmonDomain(
'DQM')
217 if flags.DQ.doMonitoring:
218 from AthenaMonitoring.AthenaMonitoringCfg
import (
219 AthenaMonitoringCfg, AthenaMonitoringPostprocessingCfg)
221 if flags.DQ.doPostProcessing:
223 log.info(
"---------- Configured DQ monitoring")
226 acc.flagPerfmonDomain(
'PostProcessing')
227 if flags.Reco.EnablePostProcessing:
229 log.info(
"---------- Configured post-processing")
232 acc.flagPerfmonDomain(
'IO')
233 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
234 from OutputStreamAthenaPool.OutputStreamConfig
import outputStreamName
236 if flags.Output.doWriteESD:
238 from TrkEventCnvTools.TrkEventCnvToolsConfig
import (
239 TrkEventCnvSuperToolCfg)
247 MetadataCategory.ByteStreamMetaData,
248 MetadataCategory.LumiBlockMetaData,
249 MetadataCategory.TruthMetaData,
250 MetadataCategory.IOVMetaData,
254 log.info(
"ESD ItemList: %s", acc.getEventAlgo(
256 log.info(
"ESD MetadataItemList: %s", acc.getEventAlgo(
258 log.info(
"---------- Configured ESD writing")
260 if flags.Output.doWriteAOD:
267 MetadataCategory.ByteStreamMetaData,
268 MetadataCategory.LumiBlockMetaData,
269 MetadataCategory.TruthMetaData,
270 MetadataCategory.IOVMetaData,
274 log.info(
"AOD ItemList: %s", acc.getEventAlgo(
276 log.info(
"AOD MetadataItemList: %s", acc.getEventAlgo(
278 log.info(
"---------- Configured AOD writing")
280 if flags.Output.doJiveXML:
281 from JiveXML.JiveXMLConfig
import AlgoJiveXMLCfg
283 log.info(
"---------- Configured JiveXML writing")
286 acc.flagPerfmonDomain(
'PerfMon')
287 if flags.PerfMon.doFastMonMT
or flags.PerfMon.doFullMonMT:
288 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg
290 log.info(
"---------- Configured PerfMon")