diff --git a/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py b/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
index 494de418d298e7fc437917b4ff92d243b617e553..3ef09ba1317b6096c9f66dd332d903cf4a22553a 100644
--- a/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetAmbiTrackSelectionToolConfig.py
@@ -130,11 +130,23 @@ def InDetTRTAmbiTrackSelectionToolCfg(
         CompFactory.InDet.InDetAmbiTrackSelectionTool(name, **kwargs))
     return acc
 
+def TrigAmbiTrackSelectionToolCfg(
+        flags, name='InDetTrigAmbiTrackSelectionTool', **kwargs):
+    
+    if flags.Detector.GeometryITk:
+        kwargs.setdefault("minHits", flags.Tracking.ActiveConfig.minClusters[0]) #TODO eta-dependant cuts
+        kwargs.setdefault("minNotShared",
+                          flags.Tracking.ActiveConfig.minSiNotShared[0])
+        kwargs.setdefault("maxShared", flags.Tracking.ActiveConfig.maxShared[0])
+        tool = ITkTrigAmbiTrackSelectionToolCfg(flags, name, **kwargs)
+    else:
+        tool = InDetTrigAmbiTrackSelectionToolCfg(flags, name, **kwargs)
+
+    return tool
 
 def InDetTrigAmbiTrackSelectionToolCfg(
         flags, name='InDetTrigAmbiTrackSelectionTool', **kwargs):
     acc = ComponentAccumulator()
-    # TODO add AmbiTrackSelectionTool for cosmics
 
     if "DriftCircleCutTool" not in kwargs:
         from InDetConfig.InDetTrackSelectorToolConfig import (
@@ -234,3 +246,34 @@ def ITkAmbiTrackSelectionToolCfg(
     acc.setPrivateTools(CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool(
         name=name+flags.Tracking.ActiveConfig.extension, **kwargs))
     return acc
+
+def ITkTrigAmbiTrackSelectionToolCfg(
+        flags, name="ITkTrigAmbiTrackSelectionTool", **kwargs):
+
+    acc = ComponentAccumulator()
+
+    if "DriftCircleCutTool" not in kwargs:
+        from InDetConfig.InDetTrackSelectorToolConfig import (
+            InDetTrigTRTDriftCircleCutToolCfg)
+        DriftCircleCutTool = acc.popToolsAndMerge(
+            InDetTrigTRTDriftCircleCutToolCfg(flags))
+        acc.addPublicTool(DriftCircleCutTool)
+        kwargs.setdefault("DriftCircleCutTool", DriftCircleCutTool)
+
+    if "AssociationTool" not in kwargs:
+        from InDetConfig.InDetAssociationToolsConfig import (
+            TrigITkPRDtoTrackMapToolGangedPixelsCfg)
+        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
+            TrigITkPRDtoTrackMapToolGangedPixelsCfg(flags)))
+
+    kwargs.setdefault("minHits", flags.Tracking.ActiveConfig.minClusters)
+    kwargs.setdefault("minNotShared",
+                      flags.Tracking.ActiveConfig.minSiNotShared)
+    kwargs.setdefault("maxShared", flags.Tracking.ActiveConfig.maxShared)
+    kwargs.setdefault("minTRTHits", 0)  # used for Si only tracking !!!
+    kwargs.setdefault("Cosmics", False)  # there is a different instance
+    kwargs.setdefault("UseParameterization", False)
+
+    acc.setPrivateTools(
+        CompFactory.InDet.InDetAmbiTrackSelectionTool(name, **kwargs))
+    return acc
diff --git a/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py b/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
index 77612630e27eab3c2d3a869e971be51ebac68b02..8110e0ea61bdbeb1d84750c0207cb788d287d51d 100644
--- a/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetAssociationToolsConfig.py
@@ -46,3 +46,7 @@ def ITkPRDtoTrackMapToolGangedPixelsCfg(flags, name='ITkPRDtoTrackMapToolGangedP
     kwargs.setdefault("addTRToutliers", False)
     acc.setPrivateTools(CompFactory.InDet.InDetPRDtoTrackMapToolGangedPixels(name, **kwargs))
     return acc
+
+def TrigITkPRDtoTrackMapToolGangedPixelsCfg(flags, name='ITkPRDtoTrackMapToolGangedPixels', **kwargs):
+    kwargs.setdefault("PixelClusterAmbiguitiesMapName", flags.Trigger.ITkTracking.ClusterAmbiguitiesMap)
+    return ITkPRDtoTrackMapToolGangedPixelsCfg(flags, name, **kwargs)
diff --git a/InnerDetector/InDetConfig/python/InDetExtensionProcessorConfig.py b/InnerDetector/InDetConfig/python/InDetExtensionProcessorConfig.py
index 6e25a630bbf05bcb4234fcedcd39ae62ce169895..78bc9099082126b88b3491207382a4deb19c0777 100644
--- a/InnerDetector/InDetConfig/python/InDetExtensionProcessorConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetExtensionProcessorConfig.py
@@ -77,9 +77,9 @@ def TrigInDetExtensionProcessorCfg(flags, name="InDetTrigMTExtensionProcessor",
 
     if "ScoringTool" not in kwargs:
         from InDetConfig.InDetTrackScoringToolsConfig import (
-            InDetTrigAmbiScoringToolCfg)
+            TrigAmbiScoringToolCfg)
         InDetExtenScoringTool = acc.popToolsAndMerge(
-            InDetTrigAmbiScoringToolCfg(flags,
+            TrigAmbiScoringToolCfg(flags,
                                         name="TrigAmbiguityScoringTool"+flags.Tracking.ActiveConfig.input_name))
         acc.addPublicTool(InDetExtenScoringTool)
         kwargs.setdefault("ScoringTool", InDetExtenScoringTool)
diff --git a/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py b/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
index b41341a323bf0edffbf32fdfb55be3a40fe8d9a7..f25b90c9c17d0f0e487c627efa9cf9259a39e64b 100644
--- a/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
@@ -104,7 +104,7 @@ def TrigPixelClusterizationCfg(flags, RoIs, name="InDetPixelClusterization", **k
         kwargs.setdefault("gangedAmbiguitiesFinder", acc.popToolsAndMerge(
             PixelGangedAmbiguitiesFinderCfg(flags)))
 
-    kwargs.setdefault("AmbiguitiesMap", "TrigPixelClusterAmbiguitiesMap")
+    kwargs.setdefault("AmbiguitiesMap", flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
     kwargs.setdefault("ClustersName", "PixelTrigClusters")
     kwargs.setdefault("isRoI_Seeded", True)
     kwargs.setdefault("RoIs", RoIs)
@@ -146,6 +146,7 @@ def ITkTrigPixelClusterizationCfg(flags, name = "ITkTrigPixelClusterization", ro
                                         RoIs=roisKey,
                                         ClustersName = "ITkTrigPixelClusters",
                                         ClusterContainerCacheKey=flags.Trigger.ITkTracking.PixelClusterCacheKey,
+                                        AmbiguitiesMap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap,
                                         RegSelTool= acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags))))
     return acc
 
diff --git a/InnerDetector/InDetConfig/python/InDetTrackScoringToolsConfig.py b/InnerDetector/InDetConfig/python/InDetTrackScoringToolsConfig.py
index 0f5e5ea1af50058767e072971302e69cdd8a783e..393d2ae6d878b451931bface1c7b90131854bb97 100644
--- a/InnerDetector/InDetConfig/python/InDetTrackScoringToolsConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetTrackScoringToolsConfig.py
@@ -96,6 +96,17 @@ def InDetTRT_SeededScoringToolCfg(
 
     return InDetAmbiScoringToolBaseCfg(flags, name, **kwargs)
 
+def TrigAmbiScoringToolCfg(
+        flags, 
+        name='TrigAmbiguityScoringTool', **kwargs):
+    
+    if flags.Detector.GeometryITk:
+        tool = ITkTrigAmbiScoringToolCfg(flags, name, **kwargs)
+    else:
+        tool = InDetTrigAmbiScoringToolCfg(flags, name, **kwargs)
+        
+    return tool
+
 
 def InDetTrigAmbiScoringToolCfg(
         flags, 
@@ -142,9 +153,7 @@ def InDetTrigAmbiScoringToolCfg(
         kwargs.setdefault("minTRTPrecisionFraction", 0)
 
         
-    acc.setPrivateTools(ambiScoringFactory(
-        name=name+flags.Tracking.ActiveConfig.input_name, 
-        **kwargs))
+    acc.setPrivateTools(ambiScoringFactory(name=name, **kwargs))
     
     return acc
 
@@ -321,6 +330,9 @@ def ITkAmbiScoringToolCfg(flags, name='ITkAmbiScoringTool', **kwargs):
         name + flags.Tracking.ActiveConfig.extension, **kwargs))
     return acc
 
+def ITkTrigAmbiScoringToolCfg(flags, name='ITkTrigAmbiScoringTool', **kwargs):
+    kwargs.setdefault("InDetEtaDependentCutsSvc", None)    #TODO
+    return ITkAmbiScoringToolCfg(flags, name, **kwargs)
 
 def ITkCosmicsScoringToolCfg(flags, name='ITkCosmicsScoringTool', **kwargs):
     acc = ComponentAccumulator()
diff --git a/InnerDetector/InDetConfig/python/SiClusterOnTrackTool_PixelConfig.py b/InnerDetector/InDetConfig/python/SiClusterOnTrackTool_PixelConfig.py
index 88a7ceb0df355a0f875473b06a414e2c54d78e77..3e0a24d99f1f3e2188a3355c9c2995b5e8b0fc60 100644
--- a/InnerDetector/InDetConfig/python/SiClusterOnTrackTool_PixelConfig.py
+++ b/InnerDetector/InDetConfig/python/SiClusterOnTrackTool_PixelConfig.py
@@ -126,7 +126,7 @@ def TrigPixelClusterOnTrackToolBaseCfg(
 
     kwargs.setdefault("ErrorStrategy", 2)
     kwargs.setdefault("SplitClusterAmbiguityMap",
-                      "TrigPixelClusterAmbiguitiesMap")
+                      flags.Trigger.InDetTracking.ClusterAmbiguitiesMap)
 
     acc.setPrivateTools(
         CompFactory.InDet.PixelClusterOnTrackTool(name, **kwargs))
diff --git a/Tracking/TrkConfig/python/TrackingPassFlags.py b/Tracking/TrkConfig/python/TrackingPassFlags.py
index abd093661829f328b1290e0624cfda9dde0a7b80..edd6ab130e3a7f88f1ce5109b2ed582465e27698 100644
--- a/Tracking/TrkConfig/python/TrackingPassFlags.py
+++ b/Tracking/TrkConfig/python/TrackingPassFlags.py
@@ -136,6 +136,8 @@ def createITkTrackingPassFlags():
     icf.addFlag("doZBoundary"               , True)
     icf.addFlag("doAmbiguityProcessorTrackFit", True)
 
+    icf.addFlag("useTIDE_Ambi", lambda pcf: pcf.Tracking.doTIDE_Ambi)
+
     # Maximum bin set to 9999 instead of four to prevent out of bounds lookups
     icf.addFlag("etaBins"                   , [-1.0, 2.0, 2.6, 9999.0])
     icf.addFlag("maxEta"                    , 4.0)
diff --git a/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py b/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
index 0addf3cc574ff970c7c813c1608ccaa7303172ce..1ba1b5f3eb048c63cdbc0a0bc912af5a7f9bfe3f 100644
--- a/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
+++ b/Tracking/TrkConfig/python/TrkAmbiguityProcessorConfig.py
@@ -183,9 +183,9 @@ def SimpleAmbiguityProcessorTool_Trig_Cfg(
 
     if "ScoringTool" not in kwargs:
         from InDetConfig.InDetTrackScoringToolsConfig import (
-            InDetTrigAmbiScoringToolCfg)
+            TrigAmbiScoringToolCfg)
         kwargs.setdefault("ScoringTool", acc.popToolsAndMerge(
-            InDetTrigAmbiScoringToolCfg(flags)))
+            TrigAmbiScoringToolCfg(flags, name="TrigAmbiguityScoringTool"+flags.Tracking.ActiveConfig.input_name)))
 
     if "TrackSummaryTool" not in kwargs:
         from TrkConfig.TrkTrackSummaryToolConfig import (
@@ -199,16 +199,77 @@ def SimpleAmbiguityProcessorTool_Trig_Cfg(
         kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
             TrigPRDtoTrackMapToolGangedPixelsCfg(flags)))
 
+
+
+    if "SelectionTool" not in kwargs:
+        from InDetConfig.InDetAmbiTrackSelectionToolConfig import (
+            TrigAmbiTrackSelectionToolCfg,InDetTrigAmbiTrackSelectionToolCosmicsCfg)
+        
+        if flags.Tracking.ActiveConfig.input_name == "cosmics":
+            kwargs.setdefault("SelectionTool", acc.popToolsAndMerge(
+                InDetTrigAmbiTrackSelectionToolCosmicsCfg(flags)))
+        else:
+            kwargs.setdefault("SelectionTool", acc.popToolsAndMerge(
+                TrigAmbiTrackSelectionToolCfg(flags,DriftCircleCutTool=None)))
+
+    acc.setPrivateTools(
+        CompFactory.Trk.SimpleAmbiguityProcessorTool(name, **kwargs))
+    return acc
+
+
+def SimpleAmbiguityProcessorTool_ITkTrig_Cfg(
+        flags,
+        name='ITkTrigAmbiguityProcessor',
+        **kwargs):
+    import AthenaCommon.SystemOfUnits as Units
+
+    acc = ComponentAccumulator()
+
+    kwargs.setdefault("SuppressTrackFit", (
+        not flags.Tracking.ActiveConfig.doAmbiguityProcessorTrackFit))
+    kwargs.setdefault("SuppressHoleSearch", False)
+    kwargs.setdefault("tryBremFit",
+                      flags.Tracking.ActiveConfig.doBremRecoverySi)
+    kwargs.setdefault("pTminBrem", 5*Units.GeV)
+    kwargs.setdefault("MatEffects", 3)
+
+    if "Fitter" not in kwargs:
+        from TrkConfig.CommonTrackFitterConfig import (
+            ITkTrackFitterCfg)
+        ITkTrackFitter = acc.popToolsAndMerge(
+            ITkTrackFitterCfg(
+                flags,
+                name=('ITkTrackFitterAmbi')))
+        kwargs.setdefault("Fitter",  ITkTrackFitter)
+        
+
+    if "ScoringTool" not in kwargs:
+        from InDetConfig.InDetTrackScoringToolsConfig import (
+            TrigAmbiScoringToolCfg)
+        kwargs.setdefault("ScoringTool", acc.popToolsAndMerge(
+            TrigAmbiScoringToolCfg(flags, name="TrigAmbiguityScoringTool"+flags.Tracking.ActiveConfig.input_name)))
+
+    if "TrackSummaryTool" not in kwargs:
+        from TrkConfig.TrkTrackSummaryToolConfig import ITkTrackSummaryToolCfg
+        kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
+            ITkTrackSummaryToolCfg(flags)))
+
+    if "AssociationTool" not in kwargs:
+        from InDetConfig.InDetAssociationToolsConfig import (
+            TrigITkPRDtoTrackMapToolGangedPixelsCfg)
+        kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
+            TrigITkPRDtoTrackMapToolGangedPixelsCfg(flags)))
+
     if "SelectionTool" not in kwargs:
         from InDetConfig.InDetAmbiTrackSelectionToolConfig import (
-            InDetTrigAmbiTrackSelectionToolCfg,InDetTrigAmbiTrackSelectionToolCosmicsCfg)
+            TrigAmbiTrackSelectionToolCfg,InDetTrigAmbiTrackSelectionToolCosmicsCfg)
         
         if flags.Tracking.ActiveConfig.input_name == "cosmics":
             kwargs.setdefault("SelectionTool", acc.popToolsAndMerge(
                 InDetTrigAmbiTrackSelectionToolCosmicsCfg(flags)))
         else:
             kwargs.setdefault("SelectionTool", acc.popToolsAndMerge(
-                InDetTrigAmbiTrackSelectionToolCfg(flags,DriftCircleCutTool=None)))
+                TrigAmbiTrackSelectionToolCfg(flags,DriftCircleCutTool=None)))
 
     acc.setPrivateTools(
         CompFactory.Trk.SimpleAmbiguityProcessorTool(name, **kwargs))
diff --git a/Tracking/TrkConfig/python/TrkAmbiguitySolverConfig.py b/Tracking/TrkConfig/python/TrkAmbiguitySolverConfig.py
index 02c59ca3bb5a2d894b9206386e0c9778d431fd28..cc4ab14125c72c7ae4ad485fbff3c0a1e5d943c1 100644
--- a/Tracking/TrkConfig/python/TrkAmbiguitySolverConfig.py
+++ b/Tracking/TrkConfig/python/TrkAmbiguitySolverConfig.py
@@ -79,12 +79,15 @@ def ITkTrkAmbiguityScoreCfg(
         **kwargs):
     acc = ComponentAccumulator()
 
-    from TrkConfig.TrkAmbiguityProcessorConfig import (
-        ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg)
-    ITkAmbiguityScoreProcessor = acc.popToolsAndMerge(
-        ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg(
-            flags,
-            ClusterSplitProbContainer=ClusterSplitProbContainer))
+    if flags.Tracking.ActiveConfig.useTIDE_Ambi:
+        from TrkConfig.TrkAmbiguityProcessorConfig import (
+            ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg)
+        ITkAmbiguityScoreProcessor = acc.popToolsAndMerge(
+            ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg(
+                flags,
+                ClusterSplitProbContainer=ClusterSplitProbContainer))
+    else:
+        ITkAmbiguityScoreProcessor = None
 
     #
     # --- configure Ambiguity (score) solver
@@ -96,10 +99,23 @@ def ITkTrkAmbiguityScoreCfg(
     # TODO: check the case when it is None object
     kwargs.setdefault("AmbiguityScoreProcessor",  ITkAmbiguityScoreProcessor)
 
-    acc.addEventAlgo(CompFactory.Trk.TrkAmbiguityScore(
-        name+flags.Tracking.ActiveConfig.extension, **kwargs))
+    scorename = name + flags.Tracking.ActiveConfig.extension
+    kwargs.setdefault("name", scorename)
+    
+    acc.addEventAlgo(CompFactory.Trk.TrkAmbiguityScore(**kwargs))
     return acc
 
+def TrigITkTrkAmbiguityScoreCfg(
+        flags,
+        name='InDetTrig_SeededAmbiguityScore',
+        **kwargs):
+    kwargs.setdefault("TrackInput", [flags.Tracking.ActiveConfig.trkTracks_FTF])
+    kwargs.setdefault("TrackOutput",
+                      f"ScoreMap{flags.Tracking.ActiveConfig.input_name}")
+    kwargs.setdefault("AmbiguityScoreProcessor", None)
+    
+    return ITkTrkAmbiguityScoreCfg(flags, name, **kwargs)
+
 
 def TrkAmbiguitySolverCfg(
         flags,
@@ -164,12 +180,20 @@ def TrkAmbiguitySolver_Trig_Cfg(
         **kwargs):
     acc = ComponentAccumulator()
 
-    from TrkConfig.TrkAmbiguityProcessorConfig import (
-        SimpleAmbiguityProcessorTool_Trig_Cfg)
-    processorTool = acc.popToolsAndMerge(
-        SimpleAmbiguityProcessorTool_Trig_Cfg(
-            flags,
-            name=f"InDetTrigMT_AmbiguityProcessor_{flags.Tracking.ActiveConfig.name}"))
+    if flags.Detector.GeometryITk:
+        from TrkConfig.TrkAmbiguityProcessorConfig import (
+            SimpleAmbiguityProcessorTool_ITkTrig_Cfg)
+        processorTool = acc.popToolsAndMerge(
+            SimpleAmbiguityProcessorTool_ITkTrig_Cfg(
+                flags,
+                name=f"TrigAmbiguityProcessor_{flags.Tracking.ActiveConfig.name}"))
+    else:
+        from TrkConfig.TrkAmbiguityProcessorConfig import (
+            SimpleAmbiguityProcessorTool_Trig_Cfg)
+        processorTool = acc.popToolsAndMerge(
+            SimpleAmbiguityProcessorTool_Trig_Cfg(
+                flags,
+                name=f"TrigAmbiguityProcessor_{flags.Tracking.ActiveConfig.name}"))
 
     kwargs.setdefault(
         "TrackInput", f"ScoreMap{flags.Tracking.ActiveConfig.input_name}")
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/BuildSignatureFlags.py b/Trigger/TrigTools/TrigInDetConfig/python/BuildSignatureFlags.py
index 9a042c8bda06d018566530542e58f21f1260324c..ab44ed64bd198d6e347257539d938eb7d5ee4f1f 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/BuildSignatureFlags.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/BuildSignatureFlags.py
@@ -148,6 +148,7 @@ def defaultITkTrigTrackingFlags() -> AthConfigFlags:
   flags.doCaloSeededBremSi  = False
   flags.doCaloSeededAmbiSi  = False
   flags.DoubletDR_Max       = 150.0
+  flags.useTIDE_Ambi        = False  
   
   return flags
 
@@ -846,6 +847,7 @@ def addGlobalFlags(flags: AthConfigFlags, category : str):
   flags.addFlag(f'{category}.PixBSErrCacheKey',        "PixBSErrCache")
   flags.addFlag(f'{category}.TRTRDOCacheKey',          "TrtRDOCache")
   flags.addFlag(f'{category}.TRT_DriftCircleCacheKey', "TRT_DriftCircleCache")
+  flags.addFlag(f'{category}.ClusterAmbiguitiesMap',   "TrigPixelClusterAmbiguitiesMap")
 
   
 import unittest
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/ITkTrigSequence.py b/Trigger/TrigTools/TrigInDetConfig/python/ITkTrigSequence.py
index 2e76cadb4e7259c258851c28b141da7fc19b9593..c6e2d576f4b571f7707a2b4c4628bca96b412a37 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/ITkTrigSequence.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/ITkTrigSequence.py
@@ -75,7 +75,7 @@ class ITkTrigSequence(InnerTrackerTrigSequence):
     acc = ComponentAccumulator()
 
     dataObjects = [
-                ( 'InDet::PixelGangedClusterAmbiguities' , 'ITkPixelClusterAmbiguitiesMap'),
+                ( 'InDet::PixelGangedClusterAmbiguities' , self.flags.Trigger.ITkTracking.ClusterAmbiguitiesMap),
                 ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map')
             ]
     from TrigInDetConfig.TrigInDetConfig import InDetExtraDataObjectsFromDataPrep
@@ -124,25 +124,23 @@ class ITkTrigSequence(InnerTrackerTrigSequence):
     if self.inView:
       acc.merge(self.viewDataVerifierAfterPattern())
 
-
-    from TrkConfig.TrkAmbiguitySolverConfig import ITkTrkAmbiguityScoreCfg
+    from TrkConfig.TrkAmbiguitySolverConfig import TrigITkTrkAmbiguityScoreCfg
     acc.merge(
-      ITkTrkAmbiguityScoreCfg(
+      TrigITkTrkAmbiguityScoreCfg(
         self.flags,
-        name = "TrkAmbiguityScore_",
-        SiSPSeededTrackCollectionKey=self.lastTrkCollection
-        )
+        name = f"{self.ambiPrefix}Score_{self.flags.Tracking.ActiveConfig.input_name}",
+        TrackInput = [self.lastTrkCollection],
+        AmbiguityScoreProcessor = None
       )
+    )
 
-    from TrkConfig.TrkAmbiguitySolverConfig import ITkTrkAmbiguitySolverCfg
+    from TrkConfig.TrkAmbiguitySolverConfig import TrkAmbiguitySolver_Trig_Cfg
     acc.merge(
-      ITkTrkAmbiguitySolverCfg(
+      TrkAmbiguitySolver_Trig_Cfg(
         self.flags,
-        name  = "TrkAmbiguitySolver_",
-        ResolvedTrackCollectionKey=self.flags.Tracking.ActiveConfig.trkTracks_IDTrig+"_Amb"
+        name = f"{self.ambiPrefix}guitySolver_{self.flags.Tracking.ActiveConfig.input_name}",
       )
     )
-
     self.lastTrkCollection = self.flags.Tracking.ActiveConfig.trkTracks_IDTrig+"_Amb"
     return acc
 
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetTrigCollectionKeys.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetTrigCollectionKeys.py
deleted file mode 100644
index 2b8cc3c452dc059a86ad18e7adc9ad344447576d..0000000000000000000000000000000000000000
--- a/Trigger/TrigTools/TrigInDetConfig/python/InDetTrigCollectionKeys.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-#----------------------------------------------------------------------------------------------------------
-#
-#           This file contains names of the collections used across the Inner detector Trigger SW
-#     
-
-
-class IDTrigTRTKeys:
-   """ Keys for the Transition Radiation Tracker """
-   def __init__ (self):
-      #Created by TRTRawDataProvider 
-      self.RDOs         = "TRT_RDOs_TRIG" #Raw data objects
-
-      #Created by RIO_MAKER
-      self.DriftCircles = "TRT_TrigDriftCircles" 
-
-
-class IDTrigPixelKeys:
-   """ Keys for the Pixel """
-   def __init__ (self):
-
-      self.Clusters = "PixelTrigClusters" #FIXME: "TrigPixelClusters" 
-
-      #Created by silicon Tracker space point finder alg
-      self.SpacePoints = "PixelTrigSpacePoints"#FIXME: "TrigPixelSpacePoints" 
-
-      #Created by InDetPRD_AssociationTool(GangedPixels)
-      #self.PRDtoTrackMap = "TrigPixelClusterAmbiguitiesMap"
-      self.PRDtoTrackMap = "TrigPRDtoTrackMap"
-      self.PixelClusterAmbiguitiesMap = 'TrigPixelClusterAmbiguitiesMap'
-
-
-class IDTrigSCTKeys:
-   """ Keys for the Pixel """
-   def __init__ (self):
-
-      self.Clusters = "SCT_TrigClusters"  #FIXME unify this with the naming of others? (Remove the underscore, Trig as prefix)
-
-      #Created by silicon Tracker space point finder alg
-      self.SpacePoints = "SCT_TrigSpacePoints" # FIXME: should be unified "TrigSCTSpacePoints" 
-
-
-
-TrigTRTKeys   = IDTrigTRTKeys( )
-TrigPixelKeys = IDTrigPixelKeys( )
-TrigSCTKeys   = IDTrigSCTKeys( )
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/utils.py b/Trigger/TrigTools/TrigInDetConfig/python/utils.py
index 384460286547bb7ac358e5a17d4c505affee0325..69a679934fbf2ac3433ed95eb72b18ea962e2d2f 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/utils.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/utils.py
@@ -58,8 +58,9 @@ def cloneFlagsToActiveConfig(
     do InDet/ITk specific clone and replace of ActiveConfig without checking flags vs config_name
     
     """
+    prefix = "Trigger.ITkTracking." if flags.Detector.GeometryITk else "Trigger.InDetTracking." 
     return flags.cloneAndReplace(
         "Tracking.ActiveConfig",
-        ("Trigger.ITkTracking." if flags.Detector.GeometryITk else "Trigger.InDetTracking.") + config_name,
+        prefix + config_name,
         keepOriginal = True
     )
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronRecoSequences.py
index 943261f1c94344e7fb211169c9f4c86b74191589..e419ae4efb8ace3ad01bae67843afc0140d30326 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronRecoSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronRecoSequences.py
@@ -70,8 +70,6 @@ def precisionElectronRecoSequence(flags, RoIs, ion=False, doGSF=True, doLRT=Fals
     OutputClusterContainerName = TrigEgammaKeys.precisionElectronEMClusterContainer
     #useBremAssoc = True
 
-    from TrigInDetConfig.InDetTrigCollectionKeys import TrigTRTKeys, TrigPixelKeys
-
     cellsName = "CaloCells" if not ion else "CorrectedRoICaloCells"
     dataObjects = [( 'CaloCellContainer' , 'StoreGateSvc+%s' % cellsName ),
                    ( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % caloClusters ),
@@ -81,15 +79,23 @@ def precisionElectronRecoSequence(flags, RoIs, ion=False, doGSF=True, doLRT=Fals
                          # verifier object needed by GSF
                          ( 'xAOD::TrackParticleContainer','StoreGateSvc+%s' % trackParticles),
                          ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' ), 
-                         ( 'InDet::PixelGangedClusterAmbiguities' , 'StoreGateSvc+%s' % TrigPixelKeys.PixelClusterAmbiguitiesMap ),
-                         ( 'InDet::TRT_DriftCircleContainer' , 'StoreGateSvc+%s' % TrigTRTKeys.DriftCircles ),
                          ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' )]
 
-        if flags.Input.isMC:
-            dataObjects += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' )]
-        else:
+        if flags.Detector.GeometryTRT:
+           dataObjects +=  [( 'InDet::TRT_DriftCircleContainer' , 'StoreGateSvc+%s' % "TRT_TrigDriftCircles" )]
+           if flags.Input.isMC:
+               dataObjects += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' )]
+           else:
+               dataObjects += [( 'TRT_RDO_Cache' , f'StoreGateSvc+{flags.Trigger.InDetTracking.TRTRDOCacheKey}' )]
+
+        ambimap = flags.Trigger.InDetTracking.ClusterAmbiguitiesMap
+        if flags.Detector.GeometryITk:
+            ambimap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap
+
+        dataObjects +=  [('InDet::PixelGangedClusterAmbiguities' , 'StoreGateSvc+%s' % ambimap )]
+
+        if not flags.Input.isMC:
             dataObjects += [( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' )]
-            dataObjects += [( 'TRT_RDO_Cache' , f'StoreGateSvc+{flags.Trigger.InDetTracking.TRTRDOCacheKey}' )]
 
     precisionElectronVDV = CompFactory.AthViews.ViewDataVerifier("precisionElectron"+tag+"VDV")
     precisionElectronVDV.DataObjects = dataObjects
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedSequence.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedSequence.py
index 98f1c505b4dc252d6ecac5be24c734e2236f432b..8843036c66586e84e188c558cce4f380df3d1998 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedSequence.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedSequence.py
@@ -26,26 +26,30 @@ def precisionTracks_GSFRefitted(flags, RoIs, ion=False, variant=''):
 
     # precision Tracking related data dependencies
     trackParticles = TrigEgammaKeys.precisionTrackingContainer
-    from TrigInDetConfig.InDetTrigCollectionKeys import TrigTRTKeys, TrigPixelKeys
+    ambimap = flags.Trigger.InDetTracking.ClusterAmbiguitiesMap
+    if flags.Detector.GeometryITk:
+        ambimap = flags.Trigger.ITkTracking.ClusterAmbiguitiesMap
 
     dataObjects = [( 'xAOD::TrackParticleContainer','StoreGateSvc+%s' % trackParticles),
                    # verifier object needed by GSF
                    ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' ),
-                   ( 'InDet::PixelGangedClusterAmbiguities' , 'StoreGateSvc+%s' % TrigPixelKeys.PixelClusterAmbiguitiesMap ),
-                   ( 'InDet::TRT_DriftCircleContainer' , 'StoreGateSvc+%s' % TrigTRTKeys.DriftCircles ),
+                   ( 'InDet::PixelGangedClusterAmbiguities' , 'StoreGateSvc+%s' % ambimap ),
                    ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ),
                    ]
 
+    if flags.Detector.GeometryTRT:
+        dataObjects +=  [( 'InDet::TRT_DriftCircleContainer' , 'StoreGateSvc+%s' % "TRT_TrigDriftCircles" )]
+        if flags.Input.isMC:
+            dataObjects += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' ),
+                            ( 'InDet::TRT_DriftCircleContainerCache' , 
+                            f'StoreGateSvc+{flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey}' )]
+        else:
+            dataObjects += [( 'TRT_RDO_Cache' , f'StoreGateSvc+{flags.Trigger.InDetTracking.TRTRDOCacheKey}' )]
+
     # These objects must be loaded from SGIL if not from CondInputLoader
 
     if not flags.Input.isMC:
         dataObjects.append(( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' ))
-        dataObjects.append(( 'TRT_RDO_Cache' , 
-                             f'StoreGateSvc+{flags.Trigger.InDetTracking.TRTRDOCacheKey}'  ))
-    else:
-        dataObjects.append(( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' ))
-        dataObjects.append(( 'InDet::TRT_DriftCircleContainerCache' , 
-                             f'StoreGateSvc+{flags.Trigger.InDetTracking.TRT_DriftCircleCacheKey}' ))
 
     from TrigInDetConfig.TrigInDetConfig import InDetExtraDataObjectsFromDataPrep
     InDetExtraDataObjectsFromDataPrep(flags,dataObjects)