diff --git a/InnerDetector/InDetConfig/python/InDetRecToolConfig.py b/InnerDetector/InDetConfig/python/InDetRecToolConfig.py index a262b30104b1af6267325a2c1d420b42319f34db..46cae9185618b9005c62e751cb6b3a4ce7243079 100644 --- a/InnerDetector/InDetConfig/python/InDetRecToolConfig.py +++ b/InnerDetector/InDetConfig/python/InDetRecToolConfig.py @@ -151,3 +151,30 @@ def makeNameGetPreAndSuffix( name, kwargs) : nameSuffix=kwargs.pop('nameSuffix','') return namePrefix + name + nameSuffix,namePrefix,nameSuffix + + +### Common InDet/ITk config interfaces + +def PrdAssociationToolCfg(flags, name='InDetPrdAssociationTool',**kwargs): + if flags.Detector.GeometryID: + return InDetPrdAssociationToolCfg(name,**kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkRecToolConfig import ITkPrdAssociationToolCfg + return ITkPrdAssociationToolCfg(flags, name,**kwargs) + +def TrackHoleSearchToolCfg(flags, name = 'InDetHoleSearchTool', **kwargs): + if flags.Detector.GeometryID: + return InDetTrackHoleSearchToolCfg(flags, name, **kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkRecToolConfig import ITkTrackHoleSearchToolCfg + return ITkTrackHoleSearchToolCfg(flags, name, **kwargs) + +def TrackSummaryHelperToolCfg(flags, name='InDetSummaryHelper', **kwargs): + if flags.Detector.GeometryID: + return InDetTrackSummaryHelperToolCfg(flags, name, **kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkRecToolConfig import ITkTrackSummaryHelperToolCfg + return ITkTrackSummaryHelperToolCfg(flags, name, **kwargs) diff --git a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py index d750ce310b27004bed4302f75c4244245905eee0..6df71978972c8e495ece49066862474e718ce9d2 100644 --- a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py +++ b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py @@ -39,7 +39,7 @@ def DeterministicAnnealingFilterCfg(flags, name = 'InDetDAF', **kwargs): InDetExtrapolator = acc.getPrimaryAndMerge(InDetExtrapolatorCfg(flags)) from InDetConfig.TrackingCommonConfig import InDetUpdatorCfg - InDetUpdator = acc.getPrimaryAndMerge(InDetUpdatorCfg(flags)) + InDetUpdator = acc.popToolsAndMerge(InDetUpdatorCfg(flags)) kwargs.setdefault("ToolForExtrapolation", InDetExtrapolator) kwargs.setdefault("ToolForCompetingROTsCreation", InDetCompetingRotCreator) diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py index 579c38eae30f19cd006523326b53a2aff488153c..c29429784f3ec3e12afa56d62e156715fc12c013 100644 --- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py +++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py @@ -196,7 +196,7 @@ def TrackParticleCnvAlgCfg(flags, name="TrackParticleCnvAlg", OutputTrackParticl result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs)) return result -def TrackRecoCfg(flags): +def InDetTrackRecoCfg(flags): """Configures complete ID tracking """ result = ComponentAccumulator() @@ -263,6 +263,16 @@ def TrackRecoCfg(flags): result.merge(addToAOD(flags, toAOD)) return result +### Common InDet/ITk config interfaces + +def TrackRecoCfg(flags): + if flags.Detector.GeometryID: + return InDetTrackRecoCfg(flags) + elif flags.Detector.GeometryITk: + from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg + return ITkTrackRecoCfg(flags) + + if __name__ == "__main__": from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior=1 diff --git a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py index 87c304b376e12477965772ffc53a4914087454bb..60b2b4683c243f19fe901e53fc10ee52793c71b7 100644 --- a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py +++ b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py @@ -820,7 +820,7 @@ def InDetGlobalChi2FitterBaseCfg(flags, name='GlobalChi2FitterBase', **kwargs): InDetExtrapolator = acc.getPrimaryAndMerge(InDetExtrapolatorCfg(flags)) InDetNavigator = acc.getPrimaryAndMerge(AtlasNavigatorCfg(flags)) InDetPropagator = acc.getPrimaryAndMerge(InDetPropagatorCfg(flags)) - InDetUpdator = acc.getPrimaryAndMerge(InDetUpdatorCfg(flags)) + InDetUpdator = acc.popToolsAndMerge(InDetUpdatorCfg(flags)) InDetMultipleScatteringUpdator = acc.popToolsAndMerge( InDetMultipleScatteringUpdatorCfg()) @@ -1399,3 +1399,30 @@ def InDetNNScoringToolSiCfg(flags, name='InDetNNScoringToolSi', **kwargs) : def InDetCosmicsScoringToolCfg(flags, name='InDetCosmicsScoringTool', **kwargs) : return InDetCosmicsScoringToolBaseCfg(flags, name=name+flags.InDet.Tracking.extension) + + +### Common InDet/ITk config interfaces + +def TrackSummaryToolCfg(flags, name='InDetTrackSummaryTool', **kwargs): + if flags.Detector.GeometryID: + return InDetTrackSummaryToolCfg(flags, name, **kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkTrackingCommonConfig import ITkTrackSummaryToolCfg + return ITkTrackSummaryToolCfg(flags, name, **kwargs) + +def UpdatorCfg(flags, name = 'InDetUpdator', **kwargs): + if flags.Detector.GeometryID: + return InDetUpdatorCfg(flags, name, **kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkRecToolConfig import ITkUpdatorCfg + return ITkUpdatorCfg(flags, name, **kwargs) + +def RotCreatorCfg(flags, name='InDetRotCreator', **kwargs): + if flags.Detector.GeometryID: + return InDetRotCreatorCfg(flags, name, **kwargs) + elif flags.Detector.GeometryITk: + name = name.replace("InDet", "ITk") + from InDetConfig.ITkTrackingCommonConfig import ITkRotCreatorCfg + return ITkRotCreatorCfg(flags, name, **kwargs) diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoringRun3Test/python/InDetGlobalMonitoringRun3TestConfig.py b/InnerDetector/InDetMonitoring/InDetGlobalMonitoringRun3Test/python/InDetGlobalMonitoringRun3TestConfig.py index 98efaaf9956675d57fdd58e4ed4fa788ec52bb7f..9019ff62ea9b1702acf8af96258de73a10585069 100644 --- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoringRun3Test/python/InDetGlobalMonitoringRun3TestConfig.py +++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoringRun3Test/python/InDetGlobalMonitoringRun3TestConfig.py @@ -48,12 +48,12 @@ def InDetGlobalMonitoringRun3TestConfig(flags): inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.CutLevel = "TightPrimary" inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.minPt = 5000 - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - InDetTrackSummaryTool = acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)) - inDetGlobalTrackMonAlg.TrackSummaryTool = InDetTrackSummaryTool - inDetGlobalTrackMonAlg.TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + TrackSummaryTool = acc.getPrimaryAndMerge(TrackSummaryToolCfg(flags)) + inDetGlobalTrackMonAlg.TrackSummaryTool = TrackSummaryTool + inDetGlobalTrackMonAlg.TrackSelectionTool.TrackSummaryTool = TrackSummaryTool inDetGlobalTrackMonAlg.TrackSelectionTool.Extrapolator = acc.getPublicTool("InDetExtrapolator") - inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.TrackSummaryTool = InDetTrackSummaryTool + inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.TrackSummaryTool = TrackSummaryTool inDetGlobalTrackMonAlg.Tight_TrackSelectionTool.Extrapolator = acc.getPublicTool("InDetExtrapolator") InDetGlobalTrackMonAlgCfg(helper, inDetGlobalTrackMonAlg, **kwargsInDetGlobalTrackMonAlg) diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py index 2f5de62a66b641b54d8260c485321f82080413fe..e6c6a4e37f86c0ab18c469e766cabfcc3f5f1a1b 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py @@ -52,8 +52,8 @@ def PixelMonitoringConfig(flags): pixelAthClusterMonAlg.TrackSelectionTool.maxD0 = 2 pixelAthClusterMonAlg.TrackSelectionTool.maxZ0 = 150 - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - pixelAthClusterMonAlg.TrackSelectionTool.TrackSummaryTool = acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)) + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + pixelAthClusterMonAlg.TrackSelectionTool.TrackSummaryTool = acc.getPrimaryAndMerge(TrackSummaryToolCfg(flags)) pixelAthClusterMonAlg.TrackSelectionTool.Extrapolator = acc.getPublicTool("InDetExtrapolator") diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py index 7dc2155ecbc7b4e70c193b69edd6f9b039fd79f8..acea86ca750bdb23536ebaea717514751132ac0a 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py @@ -46,8 +46,8 @@ def SCTLorentzMonAlgConfig(inputFlags): # myMonAlg.RandomHist = True # Set InDetTrackSummaryTool to TrackSummaryTool of SCTLorentzMonAlg - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - myMonAlg.TrackSummaryTool = result.getPrimaryAndMerge(InDetTrackSummaryToolCfg(inputFlags)) + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + myMonAlg.TrackSummaryTool = result.getPrimaryAndMerge(TrackSummaryToolCfg(inputFlags)) ### STEP 4 ### # Add some tools. N.B. Do not use your own trigger decion tool. Use the diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTTracksMonAlg.py b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTTracksMonAlg.py index 90132c5a100779bc548272d8d6b0f1f75945443e..b4cc6c8857084fe21005ad7c4989c2cf99664a5e 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTTracksMonAlg.py +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTTracksMonAlg.py @@ -51,8 +51,8 @@ def SCTTracksMonAlgConfig(inputFlags): myMonAlg.TriggerChain = '' # myMonAlg.RandomHist = True - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - myMonAlg.TrackSummaryTool = result.getPrimaryAndMerge(InDetTrackSummaryToolCfg(inputFlags)) + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + myMonAlg.TrackSummaryTool = result.getPrimaryAndMerge(TrackSummaryToolCfg(inputFlags)) ### STEP 4 ### # Add some tools. N.B. Do not use your own trigger decion tool. Use the diff --git a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py index 07f9f30bbdf46a5fefabf717275e9dab5fa39148..ece4875d2e93176dd8fd77a8692bec5395459ab6 100644 --- a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py +++ b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py @@ -35,8 +35,8 @@ def TRTMonitoringRun3ESD_AlgConfig(inputFlags): result.merge(addFoldersSplitOnline(inputFlags, "TRT","/TRT/Onl/Calib/RT","/TRT/Calib/RT",className="TRTCond::RtRelationMultChanContainer")) result.merge(addFoldersSplitOnline(inputFlags, "TRT","/TRT/Onl/Calib/T0","/TRT/Calib/T0",className="TRTCond::StrawT0MultChanContainer")) - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - algTRTMonitoringRun3ESD.TrackSummaryTool = result.getPrimaryAndMerge(InDetTrackSummaryToolCfg(inputFlags)) + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + algTRTMonitoringRun3ESD.TrackSummaryTool = result.getPrimaryAndMerge(TrackSummaryToolCfg(inputFlags)) # # To run job only with ID # if hasattr(inputFlags, "Detector") and hasattr(inputFlags.Detector, "GeometryMuon") and hasattr(inputFlags.Detector, "GeometryID"): diff --git a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3RAW_Alg.py b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3RAW_Alg.py index 25dd54b10d2957346c7f592c31f3cbc5c5cf9abb..aed9481d62658dac69eb1156de0a85f9d8438f84 100644 --- a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3RAW_Alg.py +++ b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3RAW_Alg.py @@ -48,8 +48,8 @@ def TRTMonitoringRun3RAW_AlgConfig(inputFlags): # @TODO really run the TRT hole search ? Hole search still seems to use a condition service if isRun3Cfg(): - from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolCfg - algTRTMonitoringRun3RAW.TrackSummaryTool = rv.getPrimaryAndMerge(InDetTrackSummaryToolCfg(inputFlags)) + from InDetConfig.TrackingCommonConfig import TrackSummaryToolCfg + algTRTMonitoringRun3RAW.TrackSummaryTool = rv.getPrimaryAndMerge(TrackSummaryToolCfg(inputFlags)) algTRTMonitoringRun3RAW.trt_hole_search= rv.popToolsAndMerge( TRTHoleSearchCfg(inputFlags) ) else : algTRTMonitoringRun3RAW.trt_hole_search=TRTHoleSearch() diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecorationConfig.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecorationConfig.py index 19ac6cfb2d7ed59a468012eedfaef0b782d9e5de..7d4a20785e5ebd5a5f474333d09d44f82f109f32 100644 --- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecorationConfig.py +++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecorationConfig.py @@ -95,13 +95,9 @@ def createExtendNameIfNotDefaultCfg(alg, return acc -def PhysValMonInDetHoleSearchToolCfg(flags, name="PhysValMonInDetHoleSearchTool", **kwargs): - if flags.Detector.GeometryID: - from InDetConfig.InDetRecToolConfig import InDetTrackHoleSearchToolCfg - return InDetTrackHoleSearchToolCfg(flags, name=name, **kwargs) - elif flags.Detector.GeometryITk: - from InDetConfig.ITkRecToolConfig import ITkTrackHoleSearchToolCfg - return ITkTrackHoleSearchToolCfg(flags, name=name, **kwargs) +def PhysValMonInDetHoleSearchToolCfg(flags, name="PhysValMonInDetHoleSearchTool", **kwargs): + from InDetConfig.InDetRecToolConfig import TrackHoleSearchToolCfg + return TrackHoleSearchToolCfg(flags, name=name, **kwargs) def InDetPhysHitDecoratorAlgCfg(flags, **kwargs): ''' @@ -113,13 +109,8 @@ def InDetPhysHitDecoratorAlgCfg(flags, **kwargs): kwargs.setdefault( "InDetTrackHoleSearchTool", acc.popToolsAndMerge(PhysValMonInDetHoleSearchToolCfg(flags)) ) - Updator = None - if flags.Detector.GeometryID: - from InDetConfig.TrackingCommonConfig import InDetUpdatorCfg - Updator = acc.getPrimaryAndMerge(InDetUpdatorCfg(flags)) - elif flags.Detector.GeometryITk: - from InDetConfig.ITkRecToolConfig import ITkUpdatorCfg - Updator = acc.popToolsAndMerge(ITkUpdatorCfg(flags)) + from InDetConfig.TrackingCommonConfig import UpdatorCfg + Updator = acc.popToolsAndMerge(UpdatorCfg(flags)) kwargs.setdefault( "Updator", Updator ) acc.merge(createExtendNameIfNotDefaultCfg(CompFactory.InDetPhysHitDecoratorAlg, diff --git a/Reconstruction/RecJobTransforms/python/RecoSteering.py b/Reconstruction/RecJobTransforms/python/RecoSteering.py index 2ff4a8fc2d93bd97cb195fe54013e8b2aab0cfa8..17f59b3826a5d09d9e8c9d57e70b5e47cc9e7599 100644 --- a/Reconstruction/RecJobTransforms/python/RecoSteering.py +++ b/Reconstruction/RecJobTransforms/python/RecoSteering.py @@ -47,12 +47,8 @@ def RecoSteering(flags, tryConfiguringAll=False): # ID / ITk if flags.Reco.EnableTracking: - if flags.Detector.GeometryID: - from InDetConfig.TrackRecoConfig import TrackRecoCfg - acc.merge(TrackRecoCfg(flags)) - elif flags.Detector.GeometryITk: - from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg - acc.merge(ITkTrackRecoCfg(flags)) + from InDetConfig.TrackRecoConfig import TrackRecoCfg + acc.merge(TrackRecoCfg(flags)) log.info("---------- Configured tracking") # muons diff --git a/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilderConfig.py index 07b1c0aa13d8455d6410f3dc5f56014710af7cdf..75bd13fa58c96819c1b844beb7a3ff94b4aa2629 100644 --- a/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilderConfig.py +++ b/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilderConfig.py @@ -37,9 +37,9 @@ def GSFTrackSummaryToolCfg(flags, name="GSFBuildTestBLayerTool")) from InDetConfig.InDetRecToolConfig import ( - InDetTrackSummaryHelperToolCfg) + TrackSummaryHelperToolCfg) kwargs["InDetSummaryHelperTool"] = acc.getPrimaryAndMerge( - InDetTrackSummaryHelperToolCfg( + TrackSummaryHelperToolCfg( flags, name="GSFBuildTrackSummaryHelperTool", HoleSearch=None, diff --git a/Reconstruction/egamma/egammaTrackTools/python/GSFTrackFitterConfig.py b/Reconstruction/egamma/egammaTrackTools/python/GSFTrackFitterConfig.py index 03f721bd273b19489f7b0a743afbf8993b490c9b..f6523291a2b77276f0abf9142c3572f8830a89b9 100644 --- a/Reconstruction/egamma/egammaTrackTools/python/GSFTrackFitterConfig.py +++ b/Reconstruction/egamma/egammaTrackTools/python/GSFTrackFitterConfig.py @@ -47,14 +47,8 @@ def EMGSFTrackFitterCfg(flags, name='EMGSFTrackFitter', **kwargs): kwargs["ToolForROTCreation"] = None if not kwargs["RefitOnMeasurementBase"]: - if flags.Detector.EnableITk: - from InDetConfig.ITkTrackingCommonConfig import ITkRotCreatorCfg - kwargs["ToolForROTCreation"] = acc.popToolsAndMerge( - ITkRotCreatorCfg(flags)) - else: - from InDetConfig.TrackingCommonConfig import InDetRotCreatorCfg - kwargs["ToolForROTCreation"] = acc.popToolsAndMerge( - InDetRotCreatorCfg(flags)) + from InDetConfig.TrackingCommonConfig import RotCreatorCfg + kwargs["ToolForROTCreation"] = acc.popToolsAndMerge(RotCreatorCfg(flags)) if "ToolForExtrapolation" not in kwargs: gsfextrap = EMGSFExtrapolatorToolCfg(flags) diff --git a/Tracking/TrkConfig/python/AtlasTrackSummaryToolConfig.py b/Tracking/TrkConfig/python/AtlasTrackSummaryToolConfig.py index 96946646cc01744192f5a89716cb6b09eaf8beaa..477583c2d91b82264d88028eefe6e0b231eb68ab 100644 --- a/Tracking/TrkConfig/python/AtlasTrackSummaryToolConfig.py +++ b/Tracking/TrkConfig/python/AtlasTrackSummaryToolConfig.py @@ -9,7 +9,6 @@ from AthenaConfiguration.AccumulatorCache import AccumulatorCache def AtlasTrackSummaryToolCfg(flags, name="", **kwargs): # Based on AtlasTrackSummaryTool.py # FIXME - check all of this once the ID configuration is available, because probably we can simplify this a lot - from InDetConfig.InDetRecToolConfig import InDetBoundaryCheckToolCfg, InDetTrackSummaryHelperToolCfg # Setup Atlas Extrapolator result = AtlasExtrapolatorCfg(flags) @@ -17,45 +16,29 @@ def AtlasTrackSummaryToolCfg(flags, name="", **kwargs): result.addPublicTool(extrapolator) # Setup Association Tool - # FIXME - use InDetConfig when it works... - # acc = InDetPrdAssociationToolCfg(flags, - # name='AtlasPrdAssociationTool', - # PixelClusterAmbiguitiesMapName="PixelClusterAmbiguitiesMap") - # atlasPrdAssociationTool = acc.getPrimary() - atlasPrdAssociationTool = CompFactory.InDet.InDetPRD_AssociationToolGangedPixels(name='AtlasPrdAssociationTool', - PixelClusterAmbiguitiesMapName = "PixelClusterAmbiguitiesMap") - # result.merge(acc) - - # Setup Boundary Check Tool - acc = InDetBoundaryCheckToolCfg(flags, - name="AtlasBoundaryCheckTool", - UsePixel=flags.Detector.EnablePixel, - UseSCT=flags.Detector.EnableSCT) - atlasBoundaryCheckTool = acc.getPrimary() - result.merge(acc) + from InDetConfig.InDetRecToolConfig import PrdAssociationToolCfg + atlasPrdAssociationTool = result.getPrimaryAndMerge(PrdAssociationToolCfg(flags, + name='AtlasPrdAssociationTool')) + atlasPrdAssociationTool.addTRToutliers = False # Loading Configurable HoleSearchTool - from InDetConfig.InDetRecToolConfig import InDetTrackHoleSearchToolCfg - acc = InDetTrackHoleSearchToolCfg(flags, - name="AtlasHoleSearchTool", - Extrapolator=extrapolator, - BoundaryCheckTool=atlasBoundaryCheckTool) - atlasHoleSearchTool = acc.getPrimary() - result.merge(acc) + from InDetConfig.InDetRecToolConfig import TrackHoleSearchToolCfg + atlasHoleSearchTool = result.getPrimaryAndMerge(TrackHoleSearchToolCfg(flags, + name="AtlasHoleSearchTool", + Extrapolator=extrapolator)) # FIXME - need InDet to provide configuration for PixelConditionsSummaryTool # Also assuming we don't use DetailedPixelHoleSearch (since it seems to be off in standard workflows) - acc = InDetTrackSummaryHelperToolCfg(flags, - name="AtlasTrackSummaryHelperTool", - AssoTool=atlasPrdAssociationTool, - DoSharedHits=False, - HoleSearch=atlasHoleSearchTool) - indet_track_summary_helper_tool = acc.getPrimary() - result.merge(acc) + from InDetConfig.InDetRecToolConfig import TrackSummaryHelperToolCfg + indet_track_summary_helper_tool = result.getPrimaryAndMerge(TrackSummaryHelperToolCfg(flags, + name="AtlasTrackSummaryHelperTool", + AssoTool=atlasPrdAssociationTool, + DoSharedHits=False, + HoleSearch=atlasHoleSearchTool)) from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryHelperToolCfg - acc = MuonTrackSummaryHelperToolCfg(flags) - muon_track_summary_helper_tool = acc.getPrimary() + muon_track_summary_helper_tool = result.getPrimaryAndMerge(MuonTrackSummaryHelperToolCfg(flags)) + track_summary_tool = CompFactory.Trk.TrackSummaryTool(name="CombinedMuonTrackSummary", doSharedHits=False, doHolesInDet=True, @@ -67,6 +50,5 @@ def AtlasTrackSummaryToolCfg(flags, name="", **kwargs): PixelToTPIDTool=None, MuonSummaryHelperTool=muon_track_summary_helper_tool, PixelExists=True) - result.merge(acc) result.setPrivateTools(track_summary_tool) return result