diff --git a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
index 9fbced33d9e2511d9d936c82a4935723c4097c78..5c314ebbc262ef6ed532f909a1c04084c679eb04 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
@@ -41,7 +41,7 @@ def ITkTrackCollectionMergerAlgCfg(flags, name="ITkTrackCollectionMerger", Input
 
     kwargs.setdefault("TracksLocation", InputCombinedTracks)
     kwargs.setdefault("OutputTracksLocation", 'CombinedITkTracks')
-    from InDetConfig.ITkTrackingCommonConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.InDetAssociationToolsConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
     ITkPRDtoTrackMapToolGangedPixels = result.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags))
     kwargs.setdefault("AssociationTool", ITkPRDtoTrackMapToolGangedPixels)
     kwargs.setdefault("AssociationMapName", 'ITkPRDToTrackMapCombinedITkTracks')
diff --git a/InnerDetector/InDetConfig/python/ITkTrackingCommonConfig.py b/InnerDetector/InDetConfig/python/ITkTrackingCommonConfig.py
index 2465557378288bb2ea1c4d85cb541f00ee4392b8..39fcc9b6ccf3dd084f7d853abffe7f469a374196 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackingCommonConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackingCommonConfig.py
@@ -4,26 +4,6 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.Enums import BeamType
 import AthenaCommon.SystemOfUnits as Units
 
-def ITkPRDtoTrackMapToolGangedPixelsCfg(flags, name='ITkPRDtoTrackMapToolGangedPixels', **kwargs):
-    acc = ComponentAccumulator()
-    kwargs.setdefault("PixelClusterAmbiguitiesMapName", 'ITkPixelClusterAmbiguitiesMap')
-    kwargs.setdefault("addTRToutliers", False)
-    acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels( name, **kwargs))
-    return acc
-
-def ITkTrackPRD_AssociationCfg(flags, name='ITkTrackPRD_Association', **kwargs):
-    acc = ComponentAccumulator()
-
-    if kwargs.get('TracksName', None) is None :
-        raise Exception('Not TracksName argument provided')
-
-    if 'AssociationTool' not in kwargs:
-        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags)))
-
-    kwargs.setdefault("AssociationMapName", 'ITkPRDtoTrackMap' + flags.ITk.Tracking.ActivePass.extension)
-    acc.addEventAlgo(CompFactory.InDet.InDetTrackPRD_Association(name, **kwargs))
-    return acc
-
 def ITkTrackSummaryToolCfg(flags, name='ITkTrackSummaryTool', **kwargs):
     acc = ComponentAccumulator()
     do_holes=kwargs.get("doHolesInDet",True)
diff --git a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
index a4bb605d9509f091ca4cb7484773fc7afb560778..3d0b59e0832f2a15d80f6f4f74e74ae99949e25b 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
@@ -205,9 +205,10 @@ def ITkTrackingSiPatternCfg(flags, InputCollections = None, ResolvedTrackCollect
     # --- get list of already associated hits (always do this, even if no other tracking ran before)
     #
     if (len(InputCollections) > 0) and flags.ITk.Tracking.ActivePass.usePrdAssociationTool:
-        acc.merge(TC.ITkTrackPRD_AssociationCfg(flags,
-                                                name = 'ITkTrackPRD_Association' + flags.ITk.Tracking.ActivePass.extension,
-                                                TracksName = list(InputCollections)))
+        from InDetConfig.InDetTrackPRD_AssociationConfig import ITkTrackPRD_AssociationCfg
+        acc.merge(ITkTrackPRD_AssociationCfg(flags,
+                                             name = 'ITkTrackPRD_Association' + flags.ITk.Tracking.ActivePass.extension,
+                                             TracksName = list(InputCollections)))
 
     # ------------------------------------------------------------
     #
diff --git a/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py b/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
index d409cafa11c159d0ed10941315a89c002d68e5c4..66f2e4f41ce0c0ff07789bca4ca62ac47d74e528 100644
--- a/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
@@ -27,7 +27,7 @@ def InDetAmbiTrackSelectionToolCfg(flags, name = "InDetAmbiTrackSelectionTool",
         InDetTRTDriftCircleCut = acc.popToolsAndMerge(InDetTRTDriftCircleCutForPatternRecoCfg(flags))
         kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCut)
 
-    from InDetConfig.TrackingCommonConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
 
     kwargs.setdefault("AssociationTool" , InDetPRDtoTrackMapToolGangedPixels)
@@ -84,8 +84,9 @@ def InDetAmbiTrackSelectionToolCfg(flags, name = "InDetAmbiTrackSelectionTool",
 def InDetTRTAmbiTrackSelectionToolCfg(flags, name = 'InDetTRT_SeededAmbiTrackSelectionTool', **kwargs):
     acc = ComponentAccumulator()
 
-    from InDetConfig.TrackingCommonConfig import InDetTRTDriftCircleCutForPatternRecoCfg, InDetPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.TrackingCommonConfig import InDetTRTDriftCircleCutForPatternRecoCfg
     InDetTRTDriftCircleCut = acc.popToolsAndMerge(InDetTRTDriftCircleCutForPatternRecoCfg(flags))
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
 
     kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCut)
@@ -106,9 +107,9 @@ def InDetTrigTrackSelectionToolCfg(flags, name = 'InDetTrigAmbiTrackSelectionToo
   acc = ComponentAccumulator()
 
   #TODO add configurations fro beamgas and cosmic see: trackSelectionTool_getter
-  from TrigInDetConfig.TrigInDetConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+  from InDetConfig.InDetAssociationToolsConfig import TrigPRDtoTrackMapToolGangedPixelsCfg
   kwargs.setdefault("DriftCircleCutTool", None)
-  kwargs.setdefault("AssociationTool", acc.getPrimaryAndMerge( InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
+  kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(TrigPRDtoTrackMapToolGangedPixelsCfg(flags)))
   kwargs.setdefault("minHits", flags.InDet.Tracking.ActivePass.minClusters)
   kwargs.setdefault("minNotShared", flags.InDet.Tracking.ActivePass.minSiNotShared)
   kwargs.setdefault("maxShared", flags.InDet.Tracking.ActivePass.maxShared)
@@ -132,7 +133,7 @@ def ITkAmbiTrackSelectionToolCfg(flags, name = "ITkAmbiTrackSelectionTool", **kw
     # --- load InnerDetector TrackSelectionTool
     #
 
-    from InDetConfig.ITkTrackingCommonConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.InDetAssociationToolsConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
     ITkPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags))
 
     kwargs.setdefault("DriftCircleCutTool", None)
diff --git a/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py b/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
index b7c27e6b1957cd46dd777a803c100e399c680299..a05d246362a2b246f3ea74fc0136273d3ccebd3a 100644
--- a/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
@@ -33,3 +33,24 @@ def ITkPrdAssociationToolCfg(flags, name='ITkPrdAssociationTool', **kwargs):
 def ITkPrdAssociationTool_setupCfg(flags, name='ITkPrdAssociationTool_setup', **kwargs):
   kwargs.setdefault("SetupCorrect", True)
   return ITkPrdAssociationToolCfg(flags, name, **kwargs)
+
+def InDetPRDtoTrackMapToolGangedPixelsCfg(flags, name='PRDtoTrackMapToolGangedPixels', **kwargs):
+    acc = ComponentAccumulator()
+    kwargs.setdefault("PixelClusterAmbiguitiesMapName", 'PixelClusterAmbiguitiesMap')
+    kwargs.setdefault("addTRToutliers", True)
+    acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels(name, **kwargs))
+    return acc
+
+def TrigPRDtoTrackMapToolGangedPixelsCfg(flags, name='InDetTrigPRDtoTrackMapToolGangedPixels', **kwargs):
+    acc = ComponentAccumulator()
+    kwargs.setdefault("PixelClusterAmbiguitiesMapName", 'TrigPixelClusterAmbiguitiesMap')
+    kwargs.setdefault("addTRToutliers", False)
+    acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels(name, **kwargs))
+    return acc
+
+def ITkPRDtoTrackMapToolGangedPixelsCfg(flags, name='ITkPRDtoTrackMapToolGangedPixels', **kwargs):
+    acc = ComponentAccumulator()
+    kwargs.setdefault("PixelClusterAmbiguitiesMapName", 'ITkPixelClusterAmbiguitiesMap')
+    kwargs.setdefault("addTRToutliers", False)
+    acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels(name, **kwargs))
+    return acc
diff --git a/InnerDetector/InDetConfig/python/InDetTrackPRD_AssociationConfig.py b/InnerDetector/InDetConfig/python/InDetTrackPRD_AssociationConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..39466e6729f267c592dee3bab49d8f2c421eb777
--- /dev/null
+++ b/InnerDetector/InDetConfig/python/InDetTrackPRD_AssociationConfig.py
@@ -0,0 +1,34 @@
+# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+# Configuration of InDetTrackPRD_Association package
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+def InDetTrackPRD_AssociationCfg(flags, name='InDetTrackPRD_Association', **kwargs):
+    acc = ComponentAccumulator()
+
+    if kwargs.get('TracksName', None) is None :
+        raise Exception('Not TracksName argument provided')
+
+    if 'AssociationTool' not in kwargs:
+        from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
+
+    if "AssociationMapName" not in kwargs:
+        kwargs.setdefault("AssociationMapName", "InDetPRDtoTrackMap" + flags.InDet.Tracking.ActivePass.extension)
+
+    acc.addEventAlgo(CompFactory.InDet.InDetTrackPRD_Association(name, **kwargs))
+    return acc
+
+def ITkTrackPRD_AssociationCfg(flags, name='ITkTrackPRD_Association', **kwargs):
+    acc = ComponentAccumulator()
+
+    if kwargs.get('TracksName', None) is None :
+        raise Exception('Not TracksName argument provided')
+
+    if 'AssociationTool' not in kwargs:
+        from InDetConfig.InDetAssociationToolsConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
+        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags)))
+
+    kwargs.setdefault("AssociationMapName", 'ITkPRDtoTrackMap' + flags.ITk.Tracking.ActivePass.extension)
+    acc.addEventAlgo(CompFactory.InDet.InDetTrackPRD_Association(name, **kwargs))
+    return acc
diff --git a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
index a57394b94ebce6774846797ba3b5c29c714b9e1a..d312741b0717e5cc573a8f4bf8b20c16110f66f9 100644
--- a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
+++ b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
@@ -168,10 +168,11 @@ def TRTSegmentFindingCfg(flags, extension = "", InputCollections = None, BarrelS
     prefix = 'InDetSegment'
     suffix = extension
     if usePrdAssociationTool:
-        acc.merge(TC.InDetTrackPRD_AssociationCfg(flags,
-                                                  name = prefix + 'TrackPRD_Association' + suffix,
-                                                  AssociationMapName = prefix + 'PRDtoTrackMap' + suffix,
-                                                  TracksName = list(InputCollections)))
+        from InDetConfig.InDetTrackPRD_AssociationConfig import InDetTrackPRD_AssociationCfg
+        acc.merge(InDetTrackPRD_AssociationCfg(flags,
+                                               name = prefix + 'TrackPRD_Association' + suffix,
+                                               AssociationMapName = prefix + 'PRDtoTrackMap' + suffix,
+                                               TracksName = list(InputCollections)))
     #
     # --- TRT track reconstruction
     #
diff --git a/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py b/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py
index e0fac3ea2371b93f6d696690c79aac758ab3d457..228d36de8c3fcd726188938926c9f4e61c71865e 100644
--- a/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py
+++ b/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py
@@ -41,7 +41,8 @@ def TRT_SegmentToTrackToolCfg(flags, name ='InDetTRT_SegmentToTrackTool', extens
     #
 
     if flags.InDet.Tracking.ActivePass.usePrdAssociationTool:
-        asso_tool = acc.popToolsAndMerge( TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags) )
+        from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+        asso_tool = acc.popToolsAndMerge( InDetPRDtoTrackMapToolGangedPixelsCfg(flags) )
     else:
         asso_tool = None
 
@@ -122,7 +123,8 @@ def TRT_SegmentsToTrackCfg( flags, name ='InDetTRT_SegmentsToTrack_Barrel', exte
     InDetTrackSummaryToolTRTTracks = acc.popToolsAndMerge(TC.InDetTrackSummaryToolTRTTracksCfg(flags))
     acc.addPublicTool(InDetTrackSummaryToolTRTTracks)
 
-    InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge( TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags) )
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+    InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge( InDetPRDtoTrackMapToolGangedPixelsCfg(flags) )
     acc.addPublicTool(InDetPRDtoTrackMapToolGangedPixels)
 
     kwargs.setdefault("InputSegmentsCollection", BarrelSegments)
@@ -152,10 +154,11 @@ def TRTStandaloneCfg( flags, extension = '', InputCollections = None, BarrelSegm
     if flags.InDet.Tracking.ActivePass.usePrdAssociationTool and extension != "_TRT" :
         prefix='InDetTRTonly_'
         prd_to_track_map = prefix+'PRDtoTrackMap'+extension
-        acc.merge(TC.InDetTrackPRD_AssociationCfg(flags,
-                                                  name = prefix + 'TrackPRD_Association' + extension,
-                                                  AssociationMapName = prd_to_track_map,
-                                                  TracksName = list(InputCollections)))
+        from InDetConfig.InDetTrackPRD_AssociationConfig import InDetTrackPRD_AssociationCfg
+        acc.merge(InDetTrackPRD_AssociationCfg(flags,
+                                               name = prefix + 'TrackPRD_Association' + extension,
+                                               AssociationMapName = prd_to_track_map,
+                                               TracksName = list(InputCollections)))
     
     if flags.Beam.Type is not BeamType.Cosmics:
         #
diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
index a47f2dd58857a3c07b7b555c62986fa51f473a63..75467b36256b8107ad193f92d736d1f5a39ba3a5 100644
--- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
@@ -73,7 +73,7 @@ def TrackCollectionMergerAlgCfg(flags, name="InDetTrackCollectionMerger",
 
     kwargs.setdefault("TracksLocation", InputCombinedTracks)
     kwargs.setdefault("OutputTracksLocation", OutputCombinedTracks)
-    from InDetConfig.TrackingCommonConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = result.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
     kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels)
     kwargs.setdefault("AssociationMapName", AssociationMapName)
@@ -125,10 +125,11 @@ def TrackParticleCnvAlgCfg(flags, name="TrackParticleCnvAlg", TrackContainerName
 def ReFitTrackAlgCfg(flags, name="InDetRefitTrack", InputTrackCollection="CombinedInDetTracks", OutputTrackCollection="RefittedTracks", **kwargs):
     result = ComponentAccumulator()
 
-    from InDetConfig.TrackingCommonConfig import InDetTrackFitterCfg, InDetTrackFitterTRTCfg, InDetTrackSummaryToolSharedHitsCfg, InDetPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.TrackingCommonConfig import InDetTrackFitterCfg, InDetTrackFitterTRTCfg, InDetTrackSummaryToolSharedHitsCfg
     InDetTrackFitter = result.popToolsAndMerge(InDetTrackFitterCfg(flags))
     InDetTrackFitterTRT = result.popToolsAndMerge(InDetTrackFitterTRTCfg(flags))
     TrackSummaryTool = result.popToolsAndMerge(InDetTrackSummaryToolSharedHitsCfg(flags))
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = result.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
     kwargs.setdefault("FitterTool", InDetTrackFitter)
     kwargs.setdefault("FitterToolTRT", InDetTrackFitterTRT)
diff --git a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
index e8f797ea97cb9a5bff077beda1c4b758c17df74b..92aa9e4c1b1a746d949d446369e1ed9714571582 100644
--- a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
@@ -102,28 +102,6 @@ def InDetTRT_DriftCircleOnTrackUniversalToolCfg(name='InDetTRT_RefitRotCreator',
     acc.setPrivateTools(CompFactory.InDet.TRT_DriftCircleOnTrackUniversalTool(name, **kwargs))
     return acc
 
-def InDetPRDtoTrackMapToolGangedPixelsCfg(flags, name='PRDtoTrackMapToolGangedPixels', **kwargs):
-    acc = ComponentAccumulator()
-    kwargs.setdefault("PixelClusterAmbiguitiesMapName", 'PixelClusterAmbiguitiesMap')
-    kwargs.setdefault("addTRToutliers", True)
-    acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels(name, **kwargs))
-    return acc
-
-def InDetTrackPRD_AssociationCfg(flags, name='InDetTrackPRD_Association', **kwargs):
-    acc = ComponentAccumulator()
-
-    if kwargs.get('TracksName', None) is None :
-        raise Exception('Not TracksName argument provided')
-
-    if 'AssociationTool' not in kwargs:
-        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
-
-    if "AssociationMapName" not in kwargs:
-        kwargs.setdefault("AssociationMapName", "InDetPRDtoTrackMap" + flags.InDet.Tracking.ActivePass.extension)
-
-    acc.addEventAlgo(CompFactory.InDet.InDetTrackPRD_Association(name, **kwargs))
-    return acc
-
 def InDetTRTDriftCircleCutForPatternRecoCfg(flags, name='InDetTRTDriftCircleCutForPatternReco', **kwargs):
     from TRT_ConditionsAlgs.TRT_ConditionsAlgsConfig import TRTActiveCondAlgCfg
     result = TRTActiveCondAlgCfg(flags) # To produce the input TRTCond::ActiveFraction CondHandle
diff --git a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
index 21d7dbc2d3480650fd28afe949b91266aba2e3a8..344bf971cd29fcd194689b3fccd57041238ff105 100644
--- a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
@@ -244,9 +244,10 @@ def TrackingSiPatternCfg(flags, InputCollections = None, ResolvedTrackCollection
     # --- get list of already associated hits (always do this, even if no other tracking ran before)
     #
     if (len(InputCollections) > 0) and flags.InDet.Tracking.ActivePass.usePrdAssociationTool:
-        acc.merge(TC.InDetTrackPRD_AssociationCfg(flags,
-                                                  name = 'InDetTrackPRD_Association' + flags.InDet.Tracking.ActivePass.extension,
-                                                  TracksName = list(InputCollections)))
+        from InDetConfig.InDetTrackPRD_AssociationConfig import InDetTrackPRD_AssociationCfg
+        acc.merge(InDetTrackPRD_AssociationCfg(flags,
+                                               name = 'InDetTrackPRD_Association' + flags.InDet.Tracking.ActivePass.extension,
+                                               TracksName = list(InputCollections)))
 
     # ------------------------------------------------------------
     #
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py
index 2c30c49132e5f7f569cbcb51b70b04880e496efe..e095f5e2ec7b82736160a6b0fe1c8f4dedb97598 100644
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/python/SCTLorentzMonAlg.py
@@ -7,7 +7,6 @@
 @date 2019-04-02
 @brief Based on AthenaMonitoring/ExampleMonitorAlgorithm.py
 '''
-from InDetConfig import TrackingCommonConfig
 
 def SCTLorentzMonAlgConfig(inputFlags):
     
@@ -30,9 +29,10 @@ def SCTLorentzMonAlgConfig(inputFlags):
     # base class configuration following the inputFlags. The returned object 
     # is the algorithm.
     from AthenaConfiguration.ComponentFactory import CompFactory
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     myMonAlg = helper.addAlgorithm(CompFactory.SCTLorentzMonAlg,
                                    'SCTLorentzMonAlg',
-                                   AssociationTool = result.popToolsAndMerge(TrackingCommonConfig.InDetPRDtoTrackMapToolGangedPixelsCfg(inputFlags)) )
+                                   AssociationTool = result.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(inputFlags)) )
 
     # # If for some really obscure reason you need to instantiate an algorithm
     # # yourself, the AddAlgorithm method will still configure the base 
diff --git a/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py b/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
index bf624ea0122d2a89a5326417e43e00507a5dd536..0ba543dd5916f30954dc7d64b75595407a15737b 100644
--- a/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
+++ b/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
@@ -29,8 +29,9 @@ def SimpleAmbiguityProcessorToolCfg(flags, name = "InDetAmbiguityProcessor", Clu
         from InDetConfig.TrackingCommonConfig import InDetTrackFitterCfg
         InDetTrackFitter = acc.popToolsAndMerge(InDetTrackFitterCfg(flags))
 
-    from InDetConfig.TrackingCommonConfig import InDetPRDtoTrackMapToolGangedPixelsCfg, InDetTrackSummaryToolAmbiCfg
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
+    from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolAmbiCfg
     ambi_track_summary_tool = acc.getPrimaryAndMerge(InDetTrackSummaryToolAmbiCfg(flags, name = "InDetAmbiguityProcessorSplitProbTrackSummaryTool" + flags.InDet.Tracking.ActivePass.extension))
 
     from InDetConfig.InDetAmbiTrackSelectionToolConfig import InDetAmbiTrackSelectionToolCfg
@@ -62,8 +63,9 @@ def SimpleAmbiguityProcessorTool_TRT_Cfg(flags, name='InDetTRT_SeededAmbiguityPr
     #
     # --- load Ambiguity Processor
     #
-    from InDetConfig.TrackingCommonConfig import InDetTrackFitterBTCfg, InDetPRDtoTrackMapToolGangedPixelsCfg
+    from InDetConfig.TrackingCommonConfig import InDetTrackFitterBTCfg
     InDetTrackFitterBT = acc.popToolsAndMerge(InDetTrackFitterBTCfg(flags))
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
 
     #
@@ -108,11 +110,12 @@ def SimpleAmbiguityProcessorTool_Trig_Cfg(flags, name='InDetTrig_SeededAmbiguity
     kwargs.setdefault("pTminBrem", 5*Units.GeV)
     kwargs.setdefault("MatEffects", 3)
     
-    from TrigInDetConfig.TrigInDetConfig import FitterToolCfg, ambiguityScoringToolCfg, InDetPRDtoTrackMapToolGangedPixelsCfg, TrackSummaryToolCfg
+    from TrigInDetConfig.TrigInDetConfig import FitterToolCfg, ambiguityScoringToolCfg, TrackSummaryToolCfg
     kwargs.setdefault("Fitter",acc.getPrimaryAndMerge(FitterToolCfg(flags)))
     kwargs.setdefault("ScoringTool", acc.getPrimaryAndMerge(ambiguityScoringToolCfg(flags)))
-    kwargs.setdefault("AssociationTool", acc.getPrimaryAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
     kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(TrackSummaryToolCfg(flags, useTRT=False, makePublic=False)))
+    from InDetConfig.InDetAssociationToolsConfig import TrigPRDtoTrackMapToolGangedPixelsCfg
+    kwargs.setdefault("AssociationTool", acc.getPrimaryAndMerge(TrigPRDtoTrackMapToolGangedPixelsCfg(flags)))
 
     from InDetConfig.InDetAmbiTrackSelectionToolConfig import InDetTrigTrackSelectionToolCfg
     kwargs.setdefault("SelectionTool", acc.getPrimaryAndMerge(InDetTrigTrackSelectionToolCfg(flags)))
@@ -138,8 +141,9 @@ def DenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name="InDetAmbiguityS
     from InDetConfig.SiClusterizationToolConfig import NnPixelClusterSplitProbToolCfg
     kwargs.setdefault("SplitProbTool", acc.popToolsAndMerge(NnPixelClusterSplitProbToolCfg(flags)) if flags.InDet.Tracking.doPixelClusterSplitting else "")
 
-    from InDetConfig.TrackingCommonConfig import InDetPRDtoTrackMapToolGangedPixelsCfg, PRDtoTrackMapToolCfg
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
+    from InDetConfig.TrackingCommonConfig import PRDtoTrackMapToolCfg
     kwargs.setdefault("AssociationToolNotGanged", acc.popToolsAndMerge(PRDtoTrackMapToolCfg()))
     kwargs.setdefault("AssociationMapName", f"PRDToTrackMap{flags.InDet.Tracking.ActivePass.extension}")
 
@@ -170,8 +174,9 @@ def ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name = "ITkAmbigui
     from InDetConfig.SiClusterizationToolConfig import ITkTruthPixelClusterSplitProbToolCfg
     ITkTruthPixelClusterSplitProbTool = acc.popToolsAndMerge(ITkTruthPixelClusterSplitProbToolCfg(flags))
 
-    from InDetConfig.ITkTrackingCommonConfig import ITkPRDtoTrackMapToolGangedPixelsCfg, ITkPRDtoTrackMapToolCfg
+    from InDetConfig.InDetAssociationToolsConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
     ITkPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags))
+    from InDetConfig.ITkTrackingCommonConfig import ITkPRDtoTrackMapToolCfg
     ITkPRDtoTrackMapTool = acc.popToolsAndMerge(ITkPRDtoTrackMapToolCfg(flags))
 
     kwargs.setdefault("sharedProbCut",  flags.ITk.Tracking.pixelClusterSplitProb1)
@@ -239,8 +244,9 @@ def DenseEnvironmentsAmbiguityProcessorToolCfg(flags, name="InDetAmbiguityProces
         ReferenceKalmanFitter = acc.popToolsAndMerge(ReferenceKalmanFitterCfg(flags, name='ReferenceKalmanFitter'+flags.InDet.Tracking.ActivePass.extension))
         fitter_list.append(ReferenceKalmanFitter)
 
-    from InDetConfig.TrackingCommonConfig import InDetPRDtoTrackMapToolGangedPixelsCfg, InDetTrackSummaryToolAmbiCfg
+    from InDetConfig.InDetAssociationToolsConfig import InDetPRDtoTrackMapToolGangedPixelsCfg
     InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
+    from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolAmbiCfg
     ambi_track_summary_tool = acc.getPrimaryAndMerge(InDetTrackSummaryToolAmbiCfg(flags, name = "InDetAmbiguityProcessorSplitProbTrackSummaryTool" + flags.InDet.Tracking.ActivePass.extension))
 
     from InDetConfig.InDetAmbiTrackSelectionToolConfig import InDetAmbiTrackSelectionToolCfg
@@ -284,13 +290,14 @@ def ITkDenseEnvironmentsAmbiguityProcessorToolCfg(flags, name = "ITkAmbiguityPro
     ITkBoundaryCheckTool = acc.popToolsAndMerge(ITkBoundaryCheckToolCfg(flags))
     fitter_args.setdefault("BoundaryCheckTool", ITkBoundaryCheckTool)
 
-    from InDetConfig.ITkTrackingCommonConfig import ITkTrackFitterAmbiCfg, ITkPRDtoTrackMapToolGangedPixelsCfg, ITkTrackSummaryToolCfg
+    from InDetConfig.ITkTrackingCommonConfig import ITkTrackFitterAmbiCfg, ITkTrackSummaryToolCfg
     fitter_list=[]
     ITkTrackFitterAmbi = acc.popToolsAndMerge(ITkTrackFitterAmbiCfg(flags,
                                                                    name='ITkTrackFitterAmbi'+flags.ITk.Tracking.ActivePass.extension,
                                                                    **fitter_args))
     fitter_list.append(ITkTrackFitterAmbi)
 
+    from InDetConfig.InDetAssociationToolsConfig import ITkPRDtoTrackMapToolGangedPixelsCfg
     ITkPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(ITkPRDtoTrackMapToolGangedPixelsCfg(flags))
 
     ambi_track_summary_tool = acc.getPrimaryAndMerge(ITkTrackSummaryToolCfg( flags,
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
index ba7ba2558f29cd865ee533d57c543b700726361b..2c1efb90ee3bd867f7d2b59028f7b0838c79d9a3 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
@@ -526,15 +526,6 @@ def TRTExtrensionBuilderCfg(flags):
 
   return acc
 
-def InDetPRDtoTrackMapToolGangedPixelsCfg(flags):
-  acc = ComponentAccumulator()
-  from .InDetTrigCollectionKeys import TrigPixelKeys
-  tool =  CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels( "InDetTrigPRDtoTrackMapToolGangedPixels",
-                                                                PixelClusterAmbiguitiesMapName=TrigPixelKeys.PixelClusterAmbiguitiesMap, 
-                                                                addTRToutliers = False)
-  acc.addPublicTool(tool, primary=True)
-  return acc
-
 def ambiguityScoringToolCfg(flags):
   acc = ComponentAccumulator()
   from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg #TODO using offline, consider porting