diff --git a/Reconstruction/RecJobTransforms/python/RecoConfigFlags.py b/Reconstruction/RecJobTransforms/python/RecoConfigFlags.py index 9ef5e8b8dc697a0585450606239bcddf471130ab..86a13daea486404f3091579a608968472973012d 100644 --- a/Reconstruction/RecJobTransforms/python/RecoConfigFlags.py +++ b/Reconstruction/RecJobTransforms/python/RecoConfigFlags.py @@ -1,6 +1,7 @@ # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.AthConfigFlags import AthConfigFlags + def createRecoConfigFlags(): """Return an AthConfigFlags object with required flags""" flags = AthConfigFlags() @@ -12,8 +13,19 @@ def createRecoConfigFlags(): flags.addFlag("Reco.EnablePFlow", True) flags.addFlag("Reco.EnableTau", True) flags.addFlag("Reco.EnableTracking", True) - flags.addFlag("Reco.EnableTrigger", lambda prevFlags: prevFlags.Input.Format == "BS") # this flags enables trigger data decoding (not trigger simulation) - flags.addFlag("Reco.EnableHI", lambda prevFlags: "_hi" in prevFlags.Input.ProjectName ) # enable automatically for HI data + flags.addFlag( + "Reco.EnableCaloExtension", lambda prevFlags: ( + ( + prevFlags.Reco.EnablePFlow + or prevFlags.Reco.EnableTau + or prevFlags.Reco.EnableCombinedMuon + ) + and prevFlags.Detector.EnableCalo + and prevFlags.Reco.EnableTracking)) + # this flags enables trigger data decoding (not trigger simulation) + flags.addFlag("Reco.EnableTrigger", lambda prevFlags: prevFlags.Input.Format == "BS") + # enable automatically for HI data + flags.addFlag("Reco.EnableHI", lambda prevFlags: "_hi" in prevFlags.Input.ProjectName) return flags diff --git a/Reconstruction/RecJobTransforms/python/RecoSteering.py b/Reconstruction/RecJobTransforms/python/RecoSteering.py index 986df1e1343db72e5e0b0a65406a62430bc96ad3..7d80928dd1a4be129116661b6bb651a19beb780b 100644 --- a/Reconstruction/RecJobTransforms/python/RecoSteering.py +++ b/Reconstruction/RecJobTransforms/python/RecoSteering.py @@ -23,7 +23,8 @@ def RecoSteering(flags, tryConfiguringAll=False): acc.merge(PoolReadCfg(flags)) # Check if running on legacy inputs if "EventInfo" not in flags.Input.Collections: - from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg + from xAODEventInfoCnv.xAODEventInfoCnvConfig import ( + EventInfoCnvAlgCfg) acc.merge(EventInfoCnvAlgCfg(flags)) log.info("---------- Configured POOL reading") @@ -52,7 +53,7 @@ def RecoSteering(flags, tryConfiguringAll=False): log.info("---------- Configured tracking") # Muon - if flags.Detector.EnableMuon and flags.GeoModel.AtlasVersion != 'ATLAS-P2-ITK-24-00-00': # Temporarily disable Muons for Phase-II + if flags.Detector.EnableMuon and flags.GeoModel.AtlasVersion != 'ATLAS-P2-ITK-24-00-00': # Temporarily disable Muons for Phase-II from MuonConfig.MuonReconstructionConfig import MuonReconstructionCfg acc.merge(MuonReconstructionCfg(flags)) log.info("---------- Configured muon tracking") @@ -63,6 +64,14 @@ def RecoSteering(flags, tryConfiguringAll=False): acc.merge(EGammaSteeringCfg(flags)) log.info("---------- Configured egamma") + # Caching of CaloExtension for downstream + # Combined Performance algorithms. + if flags.Reco.EnableCaloExtension: + from TrackToCalo.CaloExtensionBuilderAlgCfg import ( + CaloExtensionBuilderCfg) + acc.merge(CaloExtensionBuilderCfg(flags)) + log.info("---------- Configured track calorimeter extension builder") + # Muon Combined if flags.Reco.EnableCombinedMuon and tryConfiguringAll: from MuonCombinedConfig.MuonCombinedReconstructionConfig import ( @@ -70,15 +79,6 @@ def RecoSteering(flags, tryConfiguringAll=False): acc.merge(MuonCombinedReconstructionCfg(flags)) log.info("---------- Configured combined muon reconstruction") - # Caching of CaloExtension for downstream Combined Performance algorithms. - if ((flags.Reco.EnablePFlow or flags.Reco.EnableTau or flags.Reco.EnableCombinedMuon) - and flags.Detector.EnableCalo - and flags.Reco.EnableTracking): - from TrackToCalo.CaloExtensionBuilderAlgCfg import ( - CaloExtensionBuilderCfg) - acc.merge(CaloExtensionBuilderCfg(flags)) - log.info("---------- Configured track calorimeter extension builder") - # PFlow if flags.Reco.EnablePFlow: from eflowRec.PFRun3Config import PFCfg @@ -88,7 +88,7 @@ def RecoSteering(flags, tryConfiguringAll=False): # EGamma and CombinedMuon isolation if flags.Reco.EnableCombinedMuon or flags.Reco.EnableEgamma: from IsolationAlgs.IsolationSteeringConfig import IsolationSteeringCfg - acc.merge(IsolationSteeringCfg(flags, doIsoMuon = tryConfiguringAll)) + acc.merge(IsolationSteeringCfg(flags, doIsoMuon=tryConfiguringAll)) log.info("---------- Configured isolation") # jets