diff --git a/InnerDetector/InDetConfig/CMakeLists.txt b/InnerDetector/InDetConfig/CMakeLists.txt
index 193803d2174d22f4af3e6978d3d272d42e5d05b9..7c6b3a570c5aa1f0d1a4fd9a283ba233c054e28a 100644
--- a/InnerDetector/InDetConfig/CMakeLists.txt
+++ b/InnerDetector/InDetConfig/CMakeLists.txt
@@ -14,3 +14,10 @@ atlas_add_test( TrackingCutsFlags_test
     SCRIPT python -m InDetConfig.TrackingCutsFlags
     POST_EXEC_SCRIPT nopost.sh)
  
+atlas_add_test( BackTrackingConfig_test
+    SCRIPT python -m InDetConfig.BackTrackingConfig  --norun
+    POST_EXEC_SCRIPT nopost.sh)
+
+atlas_add_test( TRTSegmentFindingConfig_test
+    SCRIPT python -m InDetConfig.TRTSegmentFindingConfig  --norun
+    POST_EXEC_SCRIPT nopost.sh)
diff --git a/InnerDetector/InDetConfig/python/BackTrackingConfig.py b/InnerDetector/InDetConfig/python/BackTrackingConfig.py
index 5d2714b8d588a25aaca0742a73e555b90b3bb0df..e0aba1065e439c63579fabc9320857fe1988e985 100644
--- a/InnerDetector/InDetConfig/python/BackTrackingConfig.py
+++ b/InnerDetector/InDetConfig/python/BackTrackingConfig.py
@@ -3,7 +3,7 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaConfiguration.ComponentFactory     import CompFactory
 import InDetConfig.TrackingCommonConfig         as   TC
 
-def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', TrackingFlags=None, **kwargs):
+def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', **kwargs):
     acc = ComponentAccumulator()
     #
     # Silicon det elements road maker tool
@@ -12,9 +12,9 @@ def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', Tracking
     acc.addPublicTool(InDetPatternPropagator)
 
     kwargs.setdefault("PropagatorTool", InDetPatternPropagator)
-    kwargs.setdefault("usePixel", TrackingFlags.usePixel)
+    kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel)
     kwargs.setdefault("PixManagerLocation", 'Pixel') # InDetKeys.PixelManager()
-    kwargs.setdefault("useSCT", TrackingFlags.useSCT)
+    kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT)
     kwargs.setdefault("SCTManagerLocation", 'SCT') # InDetKeys.SCT_Manager()
     kwargs.setdefault("RoadWidth", 35.)
     kwargs.setdefault("MaxStep", 20.)
@@ -22,7 +22,7 @@ def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', Tracking
     if flags.Beam.Type == "cosmics":
         kwargs.setdefault("RoadWidth", 50)
     # Condition algorithm for InDet__SiDetElementsRoadMaker_xk
-    if TrackingFlags.useSCT:
+    if flags.InDet.Tracking.useSCT:
         acc.addCondAlgo(CompFactory.InDet.SiDetElementsRoadCondAlg_xk(name = "InDet__SiDetElementsRoadCondAlg_xk"))
 
     InDetTRT_SeededSiRoadMaker = CompFactory.InDet.SiDetElementsRoadMaker_xk(name = name, **kwargs)
@@ -52,7 +52,7 @@ def SimpleTRT_SeededSpacePointFinder_ATLCfg(flags, name='InDetTRT_SeededSpFinder
     acc.setPrivateTools(InDetTRT_SeededSpacePointFinder)
     return acc
 
-def TRT_SeededSpacePointFinder_ATLCfg(flags, name='InDetTRT_SeededSpFinder', TrackingFlags=None, InputCollections=[], **kwargs):
+def TRT_SeededSpacePointFinder_ATLCfg(flags, name='InDetTRT_SeededSpFinder', InputCollections=[], **kwargs):
     acc = ComponentAccumulator()
     #
     # --- decide if use the association tool
@@ -74,13 +74,13 @@ def TRT_SeededSpacePointFinder_ATLCfg(flags, name='InDetTRT_SeededSpFinder', Tra
     kwargs.setdefault("NeighborSearch", True)
     kwargs.setdefault("LoadFull", False)
     kwargs.setdefault("DoCosmics", flags.Beam.Type == "cosmics")
-    kwargs.setdefault("pTmin", TrackingFlags.minSecondaryPt)
+    kwargs.setdefault("pTmin", flags.InDet.Tracking.minSecondaryPt)
 
     InDetTRT_SeededSpacePointFinder = CompFactory.InDet.TRT_SeededSpacePointFinder_ATL(name = name, **kwargs)
     acc.setPrivateTools(InDetTRT_SeededSpacePointFinder)
     return acc
 
-def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', TrackingFlags=None, InputCollections=[], **kwargs):
+def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', InputCollections=[], **kwargs):
     acc = ComponentAccumulator()
     #
     # --- TRT seeded back tracking tool
@@ -94,8 +94,8 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', Tracki
     InDetSiComTrackFinder = acc.popToolsAndMerge(TC.SiCombinatorialTrackFinder_xkCfg(flags))
     acc.addPublicTool(InDetSiComTrackFinder)
 
-    if (TrackingFlags.usePixel and TrackingFlags.useSCT) is not False:
-        InDetTRT_SeededSiRoadMaker = acc.popToolsAndMerge(SiDetElementsRoadMaker_xkCfg(flags, TrackingFlags=TrackingFlags))
+    if (flags.InDet.Tracking.usePixel and flags.InDet.Tracking.useSCT) is not False:
+        InDetTRT_SeededSiRoadMaker = acc.popToolsAndMerge(SiDetElementsRoadMaker_xkCfg(flags))
         acc.addPublicTool(InDetTRT_SeededSiRoadMaker)
         kwargs.setdefault("RoadTool", InDetTRT_SeededSiRoadMaker)
 
@@ -104,7 +104,6 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', Tracki
     #
     if flags.InDet.loadTRTSeededSPFinder:
         InDetTRT_SeededSpacePointFinder = acc.popToolsAndMerge(TRT_SeededSpacePointFinder_ATLCfg(flags, 
-                                                                                                 TrackingFlags=TrackingFlags,
                                                                                                  InputCollections=InputCollections))
     elif flags.InDet.loadSimpleTRTSeededSPFinder:
         InDetTRT_SeededSpacePointFinder = acc.popToolsAndMerge(SimpleTRT_SeededSpacePointFinder_ATLCfg(flags, InputCollections=InputCollections))
@@ -115,11 +114,11 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', Tracki
     kwargs.setdefault("UpdatorTool", InDetPatternUpdator)
     kwargs.setdefault("SeedTool", InDetTRT_SeededSpacePointFinder)
     kwargs.setdefault("CombinatorialTrackFinder", InDetSiComTrackFinder)
-    kwargs.setdefault("pTmin", TrackingFlags.minSecondaryPt)
-    kwargs.setdefault("nHolesMax", TrackingFlags.SecondarynHolesMax)
-    kwargs.setdefault("nHolesGapMax", TrackingFlags.SecondarynHolesGapMax)
-    kwargs.setdefault("Xi2max", TrackingFlags.SecondaryXi2max)
-    kwargs.setdefault("Xi2maxNoAdd", TrackingFlags.SecondaryXi2maxNoAdd)
+    kwargs.setdefault("pTmin", flags.InDet.Tracking.minSecondaryPt)
+    kwargs.setdefault("nHolesMax", flags.InDet.Tracking.SecondarynHolesMax)
+    kwargs.setdefault("nHolesGapMax", flags.InDet.Tracking.SecondarynHolesGapMax)
+    kwargs.setdefault("Xi2max", flags.InDet.Tracking.SecondaryXi2max)
+    kwargs.setdefault("Xi2maxNoAdd", flags.InDet.Tracking.SecondaryXi2maxNoAdd)
     kwargs.setdefault("SearchInCaloROI", False)
     kwargs.setdefault("InputClusterContainerName", 'InDetCaloClusterROIs') # InDetKeys.CaloClusterROIContainer()
     kwargs.setdefault("ConsistentSeeds", True)
@@ -132,7 +131,7 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', Tracki
     acc.setPrivateTools(InDetTRT_SeededTrackTool)
     return acc
 
-def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', TrackingFlags = None, InputCollections=[], **kwargs):
+def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', InputCollections=[], **kwargs):
     acc = ComponentAccumulator()
 
     #
@@ -160,7 +159,7 @@ def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', TrackingF
     InDetTrackSummaryToolNoHoleSearch = acc.popToolsAndMerge(TC.InDetTrackSummaryToolNoHoleSearchCfg(flags))
     acc.addPublicTool(InDetTrackSummaryToolNoHoleSearch)
 
-    InDetTRTExtensionTool = acc.popToolsAndMerge(TC.InDetTRT_ExtensionToolCfg(flags, TrackingFlags = TrackingFlags))
+    InDetTRTExtensionTool = acc.popToolsAndMerge(TC.InDetTRT_ExtensionToolCfg(flags))
     acc.addPublicTool(InDetTRTExtensionTool)
 
     from  InDetConfig.InDetRecToolConfig import InDetExtrapolatorCfg
@@ -169,7 +168,6 @@ def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', TrackingF
     acc.merge(tmpAcc)
 
     InDetTRT_SeededTrackTool = acc.popToolsAndMerge(TRT_SeededTrackFinder_ATLCfg(flags, 
-                                                                                 TrackingFlags = TrackingFlags,
                                                                                  InputCollections=InputCollections))
     acc.addPublicTool(InDetTRT_SeededTrackTool)
 
@@ -178,24 +176,24 @@ def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', TrackingF
     kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix if usePrdAssociationTool else "")
     kwargs.setdefault("TrackSummaryTool", InDetTrackSummaryToolNoHoleSearch)
     kwargs.setdefault("TrackExtensionTool", InDetTRTExtensionTool)
-    kwargs.setdefault("MinTRTonSegment", TrackingFlags.minSecondaryTRTonTrk)
-    kwargs.setdefault("MinTRTonly", TrackingFlags.minTRTonly)
+    kwargs.setdefault("MinTRTonSegment", flags.InDet.Tracking.minSecondaryTRTonTrk)
+    kwargs.setdefault("MinTRTonly", flags.InDet.Tracking.minTRTonly)
     kwargs.setdefault("TrtExtension", True)
-    kwargs.setdefault("SiExtensionCuts", TrackingFlags.SiExtensionCuts)
-    kwargs.setdefault("minPt", TrackingFlags.minSecondaryPt)
-    kwargs.setdefault("maxRPhiImp", TrackingFlags.maxSecondaryImpact)
-    kwargs.setdefault("maxZImp", TrackingFlags.maxZImpact)
-    kwargs.setdefault("maxEta", TrackingFlags.maxEta)
+    kwargs.setdefault("SiExtensionCuts", flags.InDet.Tracking.SiExtensionCuts)
+    kwargs.setdefault("minPt", flags.InDet.Tracking.minSecondaryPt)
+    kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxSecondaryImpact)
+    kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact)
+    kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta)
     kwargs.setdefault("Extrapolator", InDetExtrapolator)
-    kwargs.setdefault("RejectShortExtension", TrackingFlags.rejectShortExtensions)
+    kwargs.setdefault("RejectShortExtension", flags.InDet.Tracking.rejectShortExtensions)
     kwargs.setdefault("FinalRefit", False)
     kwargs.setdefault("FinalStatistics", False)
     kwargs.setdefault("OutputSegments", False)
     kwargs.setdefault("InputSegmentsLocation", 'TRTSegments') # InDetKeys.TRT_Segments()
     kwargs.setdefault("OutputTracksLocation", TRTSeededTracks)
-    kwargs.setdefault("CaloClusterEt", TrackingFlags.minRoIClusterEt)
+    kwargs.setdefault("CaloClusterEt", flags.InDet.Tracking.minRoIClusterEt)
 
-    if TrackingFlags.RoISeededBackTracking:
+    if flags.InDet.Tracking.RoISeededBackTracking:
         from RegionSelector.RegSelToolConfig import regSelTool_SCT_Cfg
         RegSelTool_SCT   = acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags))
         acc.addPublicTool(RegSelTool_SCT)
@@ -221,10 +219,10 @@ def TrkAmbiguityScoreCfg(name='InDetTRT_SeededAmbiguityScore', **kwargs):
     acc.addEventAlgo(InDetAmbiguityScore)
     return acc
 
-def InDetAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelectionTool', TrackingFlags=None, **kwargs):
+def InDetAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelectionTool', **kwargs):
     acc = ComponentAccumulator()
 
-    InDetTRTDriftCircleCut = TC.InDetTRTDriftCircleCutForPatternRecoCfg(flags, TrackingFlags= TrackingFlags)
+    InDetTRTDriftCircleCut = TC.InDetTRTDriftCircleCutForPatternRecoCfg(flags)
     acc.addPublicTool(InDetTRTDriftCircleCut)
 
     InDetPRDtoTrackMapToolGangedPixels = TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags)
@@ -233,11 +231,11 @@ def InDetAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelectio
     kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCut)
     kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels)
     kwargs.setdefault("minScoreShareTracks", -1.) # off !
-    kwargs.setdefault("minHits", TrackingFlags.minSecondaryClusters)
-    kwargs.setdefault("minNotShared", TrackingFlags.minSecondarySiNotShared)
-    kwargs.setdefault("maxShared", TrackingFlags.maxSecondaryShared)
-    kwargs.setdefault("minTRTHits", TrackingFlags.minSecondaryTRTonTrk)
-    kwargs.setdefault("UseParameterization", TrackingFlags.useParameterizedTRTCuts)
+    kwargs.setdefault("minHits", flags.InDet.Tracking.minSecondaryClusters)
+    kwargs.setdefault("minNotShared", flags.InDet.Tracking.minSecondarySiNotShared)
+    kwargs.setdefault("maxShared", flags.InDet.Tracking.maxSecondaryShared)
+    kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minSecondaryTRTonTrk)
+    kwargs.setdefault("UseParameterization", flags.InDet.Tracking.useParameterizedTRTCuts)
     kwargs.setdefault("Cosmics", flags.Beam.Type == "cosmics")
     kwargs.setdefault("doPixelSplitting", flags.InDet.doPixelClusterSplitting)
 
@@ -245,7 +243,7 @@ def InDetAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelectio
     acc.setPrivateTools(InDetTRT_SeededAmbiTrackSelectionTool)
     return acc
 
-def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcessor', TrackingFlags=None, ClusterSplitProbContainer="", **kwargs):
+def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcessor', ClusterSplitProbContainer="", **kwargs):
     acc = ComponentAccumulator()
     #
     # --- load Ambiguity Processor
@@ -260,17 +258,17 @@ def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcess
     # --- set up special Scoring Tool for TRT seeded tracks
     #
     if flags.Beam.Type == "cosmics":
-        InDetTRT_SeededScoringTool = acc.popToolsAndMerge(TC.InDetCosmicScoringTool_TRTCfg(flags, TrackingFlags=TrackingFlags))
+        InDetTRT_SeededScoringTool = acc.popToolsAndMerge(TC.InDetCosmicScoringTool_TRTCfg(flags))
         acc.addPublicTool(InDetTRT_SeededScoringTool)
         InDetTRT_SeededSummaryTool = acc.popToolsAndMerge(TC.InDetTrackSummaryToolSharedHitsCfg(flags))
         acc.addPublicTool(InDetTRT_SeededSummaryTool)
     else:
-        InDetTRT_SeededScoringTool = acc.popToolsAndMerge(TC.InDetTRT_SeededScoringToolCfg(flags, TrackingFlags=TrackingFlags))
+        InDetTRT_SeededScoringTool = acc.popToolsAndMerge(TC.InDetTRT_SeededScoringToolCfg(flags))
         acc.addPublicTool(InDetTRT_SeededScoringTool)
         InDetTRT_SeededSummaryTool = acc.popToolsAndMerge(TC.InDetTrackSummaryToolCfg(flags))
         acc.addPublicTool(InDetTRT_SeededSummaryTool)
 
-    InDetTRT_SeededAmbiTrackSelectionTool = acc.popToolsAndMerge(InDetAmbiTrackSelectionToolCfg(flags, TrackingFlags=TrackingFlags))
+    InDetTRT_SeededAmbiTrackSelectionTool = acc.popToolsAndMerge(InDetAmbiTrackSelectionToolCfg(flags))
     acc.addPublicTool(InDetTRT_SeededAmbiTrackSelectionTool)
 
     kwargs.setdefault("Fitter", InDetTrackFitterBT)
@@ -278,7 +276,7 @@ def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcess
     kwargs.setdefault("TrackSummaryTool", InDetTRT_SeededSummaryTool)
     kwargs.setdefault("SelectionTool", InDetTRT_SeededAmbiTrackSelectionTool)
     kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer)
-    kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetTRT_SeededAmbiguityProcessorSplitProb'+TrackingFlags.extension)
+    kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetTRT_SeededAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension)
     kwargs.setdefault("RefitPrds", not flags.InDet.refitROT)
     kwargs.setdefault("SuppressTrackFit", False)
     kwargs.setdefault("SuppressHoleSearch", False)
@@ -293,13 +291,12 @@ def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcess
     acc.setPrivateTools(InDetTRT_SeededAmbiguityProcessor)
     return acc
 
-def TrkAmbiguitySolverCfg(flags, name='InDetTRT_SeededAmbiguitySolver', TrackingFlags=None, ClusterSplitProbContainer ='', **kwargs):
+def TrkAmbiguitySolverCfg(flags, name='InDetTRT_SeededAmbiguitySolver', ClusterSplitProbContainer ='', **kwargs):
     acc = ComponentAccumulator()
 
     ResolvedTRTSeededTracks = 'ResolvedTRTSeededTracks' # InDetKeys.ResolvedTRTSeededTracks()
 
     InDetTRT_SeededAmbiguityProcessor = acc.popToolsAndMerge(SimpleAmbiguityProcessorToolCfg(flags, 
-                                                                                             TrackingFlags=TrackingFlags, 
                                                                                              ClusterSplitProbContainer=ClusterSplitProbContainer))
     acc.addPublicTool(InDetTRT_SeededAmbiguityProcessor)
 
@@ -317,7 +314,7 @@ def TrkAmbiguitySolverCfg(flags, name='InDetTRT_SeededAmbiguitySolver', Tracking
 #
 # ------------------------------------------------------------
 
-def BackTrackingCfg(flags, InputCollections = None, TrackingFlags = None, TrackCollectionKeys=[] , TrackCollectionTruthKeys=[], ClusterSplitProbContainer=''):
+def BackTrackingCfg(flags, InputCollections = None, TrackCollectionKeys=[] , TrackCollectionTruthKeys=[], ClusterSplitProbContainer=''):
     acc = ComponentAccumulator()
     # ------------------------------------------------------------
     #
@@ -330,7 +327,6 @@ def BackTrackingCfg(flags, InputCollections = None, TrackingFlags = None, TrackC
         # --- decide which TRT seed space point finder to use
         #
         acc.merge(TRT_SeededTrackFinderCfg( flags,
-                                            TrackingFlags=TrackingFlags, 
                                             InputCollections=InputCollections))
     # ------------------------------------------------------------
     #
@@ -340,7 +336,6 @@ def BackTrackingCfg(flags, InputCollections = None, TrackingFlags = None, TrackC
     if flags.InDet.doResolveBackTracks:
         acc.merge(TrkAmbiguityScoreCfg())
         acc.merge(TrkAmbiguitySolverCfg(flags,
-                                        TrackingFlags=TrackingFlags,
                                         ClusterSplitProbContainer = ClusterSplitProbContainer))
 
     return acc
@@ -433,13 +428,11 @@ if __name__ == "__main__":
 
     ######################################## TRTSegmentFinding Configuration ###########################################
     InputCollections = []
-    TrackingFlags = ConfigFlags.InDet.Tracking
 
     from InDetConfig.TRTSegmentFindingConfig import TRTSegmentFindingCfg
     top_acc.merge(TRTSegmentFindingCfg( ConfigFlags,
                                         extension = "",
                                         InputCollections = InputCollections,
-                                        TrackingFlags = TrackingFlags,
                                         BarrelSegments = 'TRTSegments', # InDetKeys.TRT_Segments
                                         doPhase = False))
 
@@ -448,7 +441,6 @@ if __name__ == "__main__":
 
     top_acc.merge(BackTrackingCfg(  ConfigFlags,
                                     InputCollections = InputCollections,
-                                    TrackingFlags = TrackingFlags,
                                     TrackCollectionKeys=TrackCollectionKeys,
                                     TrackCollectionTruthKeys=[],
                                     ClusterSplitProbContainer=''))
@@ -459,5 +451,8 @@ if __name__ == "__main__":
     iovsvc.OutputLevel=5
 
     top_acc.printConfig()
-    top_acc.run(25)
-    top_acc.store(open("test_BackTrackingConfig.pkl", "wb"))
\ No newline at end of file
+    top_acc.store(open("test_BackTrackingConfig.pkl", "wb"))
+    import sys
+    if "--norun" not in sys.argv:
+        sc = top_acc.run(25)
+        sys.exit(not sc.isSuccess())
diff --git a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
index fdf5a0e45ca184ebba797cae3f7eee263078dbe1..deeec8e92527ce818bcc5e887d3ae31cf3ca9527 100644
--- a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
+++ b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
@@ -13,7 +13,7 @@ def TRT_TrackSegmentsMaker_BarrelCosmicsCfg(flags, name='InDetTRTSegmentsMaker',
     acc.setPrivateTools(CompFactory.InDet.TRT_TrackSegmentsMaker_BarrelCosmics(name = name, **kwargs))
     return acc
 
-def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extension = '', TrackingFlags = None, InputCollections = None, **kwargs):
+def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extension = '', InputCollections = None, **kwargs):
     acc = ComponentAccumulator()
     #
     # --- decide if use the association tool
@@ -30,21 +30,21 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi
     #
     if extension == "_TRT":
         # TRT Subdetector segment finding
-        MinNumberDCs   = TrackingFlags.minTRTonly
-        pTmin          = TrackingFlags.minPT
-        sharedFrac     = TrackingFlags.maxTRTonlyShared
+        MinNumberDCs   = flags.InDet.Tracking.minTRTonly
+        pTmin          = flags.InDet.Tracking.minPT
+        sharedFrac     = flags.InDet.Tracking.maxTRTonlyShared
     else:
         # TRT-only/back-tracking segment finding
-        MinNumberDCs   = TrackingFlags.minSecondaryTRTonTrk
-        pTmin          = TrackingFlags.minSecondaryPt
-        sharedFrac     = TrackingFlags.maxSecondaryTRTShared
+        MinNumberDCs   = flags.InDet.Tracking.minSecondaryTRTonTrk
+        pTmin          = flags.InDet.Tracking.minSecondaryPt
+        sharedFrac     = flags.InDet.Tracking.maxSecondaryTRTShared
     #
     # --- offline version  of TRT segemnt making
     #
     InDetPatternPropagator = TC.InDetPatternPropagatorCfg()
     acc.addPublicTool(InDetPatternPropagator)
 
-    InDetTRTExtensionTool = acc.popToolsAndMerge(TC.InDetTRT_ExtensionToolCfg(flags, TrackingFlags = TrackingFlags))
+    InDetTRTExtensionTool = acc.popToolsAndMerge(TC.InDetTRT_ExtensionToolCfg(flags))
     acc.addPublicTool(InDetTRTExtensionTool)
 
     kwargs.setdefault("TRT_ClustersContainer", 'TRT_DriftCircles') # InDetKeys.TRT_DriftCircles
@@ -53,7 +53,7 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi
     kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix if usePrdAssociationTool else '')
     kwargs.setdefault("RemoveNoiseDriftCircles", flags.InDet.removeTRTNoise)
     kwargs.setdefault("MinNumberDriftCircles", MinNumberDCs)
-    kwargs.setdefault("NumberMomentumChannel", TrackingFlags.TRTSegFinderPtBins)
+    kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.TRTSegFinderPtBins)
     kwargs.setdefault("pTmin", pTmin)
     kwargs.setdefault("sharedFrac", sharedFrac)
 
@@ -61,30 +61,30 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi
     acc.setPrivateTools(InDetTRT_TrackSegmentsMaker)
     return acc
 
-def TRT_TrackSegmentsMakerCondAlg_ATLxkCfg(name = 'InDetTRT_SeedsMakerCondAlg', extension = '', TrackingFlags = None, **kwargs):
+def TRT_TrackSegmentsMakerCondAlg_ATLxkCfg(flags, name = 'InDetTRT_SeedsMakerCondAlg', extension = '', **kwargs):
     acc = ComponentAccumulator()
     #
     # --- cut values
     #
     if extension == "_TRT":
         # TRT Subdetector segment finding
-        pTmin = TrackingFlags.minPT
+        pTmin = flags.InDet.Tracking.minPT
     else:
         # TRT-only/back-tracking segment finding
-        pTmin = TrackingFlags.minSecondaryPt
+        pTmin = flags.InDet.Tracking.minSecondaryPt
 
     InDetPatternPropagator = TC.InDetPatternPropagatorCfg()
     acc.addPublicTool(InDetPatternPropagator)
 
     kwargs.setdefault("PropagatorTool", InDetPatternPropagator)
-    kwargs.setdefault("NumberMomentumChannel", TrackingFlags.TRTSegFinderPtBins)
+    kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.TRTSegFinderPtBins)
     kwargs.setdefault("pTmin", pTmin)
 
     InDetTRT_TrackSegmentsMakerCondAlg = CompFactory.InDet.TRT_TrackSegmentsMakerCondAlg_ATLxk(name = name, **kwargs)
     acc.addCondAlgo(InDetTRT_TrackSegmentsMakerCondAlg)
     return acc
 
-def TRT_TrackSegmentsFinderCfg(flags, name = 'InDetTRT_TrackSegmentsFinderPhase', extension = '', TrackingFlags = None, BarrelSegments = None, InputCollections =None, doPhase = False, **kwargs):
+def TRT_TrackSegmentsFinderCfg(flags, name = 'InDetTRT_TrackSegmentsFinderPhase', extension = '', BarrelSegments = None, InputCollections =None, doPhase = False, **kwargs):
     acc = ComponentAccumulator()
 
     # ---------------------------------------------------------------
@@ -107,7 +107,7 @@ def TRT_TrackSegmentsFinderCfg(flags, name = 'InDetTRT_TrackSegmentsFinderPhase'
                                                                                                               TRT_ClustersContainer = 'TRT_DriftCircles')) # InDetKeys.TRT_DriftCircles
             acc.addPublicTool(InDetTRT_TrackSegmentsMaker)
 
-            if flags.InDet.doCaloSeededTRTSegments or TrackingFlags.RoISeededBackTracking:
+            if flags.InDet.doCaloSeededTRTSegments or flags.InDet.Tracking.RoISeededBackTracking:
                 kwargs.setdefault("SegmentsMakerTool", InDetTRT_TrackSegmentsMaker)
                 kwargs.setdefault("SegmentsLocation", BarrelSegments)
                 kwargs.setdefault("useCaloSeeds", True)
@@ -123,31 +123,30 @@ def TRT_TrackSegmentsFinderCfg(flags, name = 'InDetTRT_TrackSegmentsFinderPhase'
         InDetTRT_TrackSegmentsMaker = acc.popToolsAndMerge(TRT_TrackSegmentsMaker_ATLxkCfg( flags, 
                                                                                             name = 'InDetTRT_SeedsMaker'+extension, 
                                                                                             extension = extension,
-                                                                                            TrackingFlags = TrackingFlags,
                                                                                             InputCollections = InputCollections))
         acc.addPublicTool(InDetTRT_TrackSegmentsMaker)
         kwargs.setdefault("SegmentsMakerTool", InDetTRT_TrackSegmentsMaker)
 
-        acc.merge(TRT_TrackSegmentsMakerCondAlg_ATLxkCfg(name = 'InDetTRT_SeedsMakerCondAlg'+ extension, 
-                                                         extension = extension,
-                                                         TrackingFlags=TrackingFlags))
+        acc.merge(TRT_TrackSegmentsMakerCondAlg_ATLxkCfg(flags, 
+                                                         name = 'InDetTRT_SeedsMakerCondAlg'+ extension, 
+                                                         extension = extension))
 
     acc.addEventAlgo(CompFactory.InDet.TRT_TrackSegmentsFinder( name = name, **kwargs))
     return acc
 
-def SegmentDriftCircleAssValidationCfg(flags, name="InDetSegmentDriftCircleAssValidation", extension='', TrackingFlags=None, BarrelSegments='', **kwargs):
+def SegmentDriftCircleAssValidationCfg(flags, name="InDetSegmentDriftCircleAssValidation", extension='', BarrelSegments='', **kwargs):
     acc = ComponentAccumulator()
     #
     # --- cut values
     #
     if extension == "_TRT":
         # TRT Subdetector segment finding
-        MinNumberDCs = TrackingFlags.minTRTonly
-        pTmin        = TrackingFlags.minPT
+        MinNumberDCs = flags.InDet.Tracking.minTRTonly
+        pTmin        = flags.InDet.Tracking.minPT
     else:
         # TRT-only/back-tracking segment finding
-        MinNumberDCs = TrackingFlags.minSecondaryTRTonTrk
-        pTmin        = TrackingFlags.minSecondaryPt
+        MinNumberDCs = flags.InDet.Tracking.minSecondaryTRTonTrk
+        pTmin        = flags.InDet.Tracking.minSecondaryPt
 
     #kwargs.setdefault("OrigTracksLocation", BarrelSegments)
     kwargs.setdefault("TRT_DriftCirclesName", 'TRT_DriftCircles') # InDetKeys.TRT_DriftCircles
@@ -173,7 +172,7 @@ def TRTActiveCondAlgCfg(flags, name="TRTActiveCondAlg", **kwargs):
     acc.addCondAlgo(TRTActiveCondAlg)
     return acc
 
-def TRTSegmentFindingCfg(flags, extension = "", InputCollections = None, TrackingFlags = None, BarrelSegments = None, doPhase = False):
+def TRTSegmentFindingCfg(flags, extension = "", InputCollections = None, BarrelSegments = None, doPhase = False):
     acc = ComponentAccumulator()
     #
     # --- decide if use the association tool
@@ -195,7 +194,6 @@ def TRTSegmentFindingCfg(flags, extension = "", InputCollections = None, Trackin
     acc.merge(TRT_TrackSegmentsFinderCfg( flags,
                                           name = 'InDetTRT_TrackSegmentsFinderPhase'+extension,
                                           extension =extension,
-                                          TrackingFlags = TrackingFlags,
                                           BarrelSegments=BarrelSegments,
                                           InputCollections = InputCollections,
                                           doPhase = doPhase))
@@ -206,7 +204,6 @@ def TRTSegmentFindingCfg(flags, extension = "", InputCollections = None, Trackin
     if flags.InDet.doTruth and not flags.Beam.Type == "cosmics":
         acc.merge(SegmentDriftCircleAssValidationCfg(flags,
                                                     name="InDetSegmentDriftCircleAssValidation"+extension,
-                                                    TrackingFlags = TrackingFlags,
                                                     BarrelSegments=BarrelSegments))
     
     return acc
@@ -253,7 +250,6 @@ if __name__ == "__main__":
     # NewTracking collection keys
     InputCombinedInDetTracks = []
 
-    TrackingFlags = ConfigFlags.InDet.Tracking
     #############################################################################
     top_acc.merge(TRTActiveCondAlgCfg(ConfigFlags))
     top_acc.merge(TC.TRT_DetElementsRoadCondAlgCfg())
@@ -265,7 +261,6 @@ if __name__ == "__main__":
     top_acc.merge(TRTSegmentFindingCfg( ConfigFlags,
                                         "",
                                         InputCombinedInDetTracks,
-                                        TrackingFlags,
                                         'TRTSegments')) # InDetKeys.TRT_Segments
     #############################################################################
 
@@ -273,5 +268,9 @@ if __name__ == "__main__":
     iovsvc.OutputLevel=5
     top_acc.getService('StoreGateSvc').Dump = True
     top_acc.printConfig(withDetails = True, summariseProps = True)
-    top_acc.run(25)
-    top_acc.store(open("test_TRTSegmentFinding.pkl", "wb"))
\ No newline at end of file
+    top_acc.store(open("test_TRTSegmentFinding.pkl", "wb"))
+
+    import sys
+    if "--norun" not in sys.argv:
+        sc = top_acc.run(25)
+        sys.exit(not sc.isSuccess())
diff --git a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
index 13107c433f5a52c3a9c6101a3bf23d53298038d5..ac7fe2bab99aedf59903d90484c80ba04258c8b7 100644
--- a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
@@ -322,11 +322,11 @@ def InDetTrackPRD_AssociationCfg(flags, name='InDetTrackPRD_Association', **kwar
     acc.addEventAlgo(CompFactory.InDet.InDetTrackPRD_Association(name = the_name, **kwargs))
     return acc
 
-def InDetTRTDriftCircleCutForPatternRecoCfg(flags, name='InDetTRTDriftCircleCutForPatternReco', TrackingFlags=None, **kwargs):
+def InDetTRTDriftCircleCutForPatternRecoCfg(flags, name='InDetTRTDriftCircleCutForPatternReco', **kwargs):
     the_name = makeName( name, kwargs)
 
     kwargs.setdefault("MinOffsetDCs", 5)
-    kwargs.setdefault("UseNewParameterization", TrackingFlags.useNewParameterizationTRT)
+    kwargs.setdefault("UseNewParameterization", flags.InDet.Tracking.useNewParameterizationTRT)
     kwargs.setdefault("UseActiveFractionSvc", flags.Detector.RecoTRT)
     return CompFactory.InDet.InDetTrtDriftCircleCutTool(the_name, **kwargs)
 
@@ -1110,7 +1110,7 @@ def InDetPatternUpdatorCfg(name='InDetPatternUpdator', **kwargs):
     the_name = makeName(name, kwargs)
     return CompFactory.Trk.KalmanUpdator_xk(name = the_name, **kwargs)
 
-def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', TrackingFlags=None, **kwargs):
+def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', **kwargs):
     acc = ComponentAccumulator()
     the_name = makeName( name, kwargs)
 
@@ -1125,7 +1125,7 @@ def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', Trac
         kwargs.setdefault("UpdatorTool", InDetPatternUpdator)
 
     if 'DriftCircleCutTool' not in kwargs :
-        InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags, TrackingFlags=TrackingFlags)
+        InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags)
         acc.addPublicTool(InDetTRTDriftCircleCutForPatternReco)
         kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCutForPatternReco)
 
@@ -1143,14 +1143,14 @@ def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', Trac
     kwargs.setdefault("TRT_ClustersContainer", 'TRT_DriftCircles') # InDetKeys.TRT_DriftCircles()
     kwargs.setdefault("TrtManagerLocation", 'TRT') # InDetKeys.TRT_Manager()
     kwargs.setdefault("UseDriftRadius", not flags.InDet.noTRTTiming)
-    kwargs.setdefault("MinNumberDriftCircles", TrackingFlags.minTRTonTrk)
+    kwargs.setdefault("MinNumberDriftCircles", flags.InDet.Tracking.minTRTonTrk)
     kwargs.setdefault("ScaleHitUncertainty", 2)
     kwargs.setdefault("RoadWidth", 20.)
-    kwargs.setdefault("UseParameterization", TrackingFlags.useParameterizedTRTCuts)
+    kwargs.setdefault("UseParameterization", flags.InDet.Tracking.useParameterizedTRTCuts)
     kwargs.setdefault("maxImpactParameter", 500 if flags.InDet.doBeamHalo or flags.InDet.doBeamGas else 50 )  # single beam running, open cuts
 
-    if TrackingFlags.RoISeededBackTracking:
-        kwargs.setdefault("minTRTSegmentpT", TrackingFlags.minSecondaryPt)
+    if flags.InDet.Tracking.RoISeededBackTracking:
+        kwargs.setdefault("minTRTSegmentpT", flags.InDet.Tracking.minSecondaryPt)
 
     acc.setPrivateTools(CompFactory.InDet.TRT_TrackExtensionTool_xk(the_name, **kwargs))
     return acc
@@ -1219,13 +1219,13 @@ def InDetTRT_TrackExtensionTool_DAFCfg(flags, name='TRT_TrackExtensionTool_DAF',
     acc.setPrivateTools(CompFactory.InDet.TRT_TrackExtensionTool_DAF(the_name,**kwargs))
     return acc
 
-def InDetTRT_ExtensionToolCfg(flags, TrackingFlags=None, **kwargs):
+def InDetTRT_ExtensionToolCfg(flags, **kwargs):
     # @TODO set all names to InDetTRT_ExtensionTool ?
     if (flags.InDet.trtExtensionType == 'xk') or (not flags.InDet.doNewTracking) :
         if (flags.Beam.Type == "cosmics"):
             return InDetTRT_ExtensionToolCosmicsCfg(flags, **kwargs)
         else:
-            return InDetTRT_TrackExtensionTool_xkCfg(flags, TrackingFlags=TrackingFlags, **kwargs)
+            return InDetTRT_TrackExtensionTool_xkCfg(flags, **kwargs)
     elif flags.InDet.trtExtensionType == 'DAF' :
         return InDetTRT_TrackExtensionTool_DAFCfg(flags, name = 'InDetTRT_ExtensionTool',**kwargs)
 
@@ -1264,7 +1264,6 @@ def InDetROIInfoVecCondAlgCfg(name='InDetROIInfoVecCondAlg', **kwargs) :
 
 def InDetAmbiScoringToolBaseCfg(flags, name='InDetAmbiScoringTool', **kwargs) :
     acc = ComponentAccumulator()
-    TrackingFlags = kwargs.pop("TrackingFlags")
 
     from  InDetConfig.InDetRecToolConfig import InDetExtrapolatorCfg
     tmpAcc =  InDetExtrapolatorCfg(flags)
@@ -1275,7 +1274,7 @@ def InDetAmbiScoringToolBaseCfg(flags, name='InDetAmbiScoringTool', **kwargs) :
     InDetTrackSummaryTool = acc.popToolsAndMerge(InDetTrackSummaryToolCfg(flags))
     acc.addPublicTool(InDetTrackSummaryTool)
 
-    InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags, TrackingFlags=TrackingFlags)
+    InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags)
     acc.addPublicTool(InDetTRTDriftCircleCutForPatternReco)
 
     from AthenaCommon.DetFlags  import DetFlags
@@ -1287,23 +1286,23 @@ def InDetAmbiScoringToolBaseCfg(flags, name='InDetAmbiScoringTool', **kwargs) :
     kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCutForPatternReco )
     kwargs.setdefault("useAmbigFcn", True )
     kwargs.setdefault("useTRT_AmbigFcn", False )
-    kwargs.setdefault("maxZImp", TrackingFlags.maxZImpact )
-    kwargs.setdefault("maxEta", TrackingFlags.maxEta )
-    kwargs.setdefault("usePixel", TrackingFlags.usePixel )
-    kwargs.setdefault("useSCT", TrackingFlags.useSCT )
+    kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact )
+    kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta )
+    kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel )
+    kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT )
     kwargs.setdefault("doEmCaloSeed", have_calo_rois )
     acc.setPrivateTools(CompFactory.InDet.InDetAmbiScoringTool(name = name, **kwargs))
     return acc
 
 def InDetCosmicsScoringToolBaseCfg(flags, name='InDetCosmicsScoringTool', **kwargs) :
     acc = ComponentAccumulator()
-    TrackingFlags = kwargs.pop("TrackingFlags")
+    flags.InDet.Tracking = kwargs.pop("flags.InDet.Tracking")
     the_name=makeName(name, kwargs)
 
     InDetTrackSummaryTool = acc.popToolsAndMerge(InDetTrackSummaryToolCfg(flags))
     acc.setPrivateTools(InDetTrackSummaryTool)
 
-    kwargs.setdefault("nWeightedClustersMin", TrackingFlags.nWeightedClustersMin )
+    kwargs.setdefault("nWeightedClustersMin", flags.InDet.Tracking.nWeightedClustersMin )
     kwargs.setdefault("minTRTHits", 0 )
     kwargs.setdefault("SummaryTool", InDetTrackSummaryTool )
 
@@ -1322,11 +1321,11 @@ def InDetTRT_ExtensionToolPhaseCfg(flags, name='InDetTRT_ExtensionToolPhase', **
     acc.setPrivateTools(acc.popToolsAndMerge(InDetTRT_ExtensionToolCosmicsCfg(flags, name = name, **kwargs)))
     return acc
 
-def InDetCosmicExtenScoringToolCfg(flags, TrackingFlags, name='InDetCosmicExtenScoringTool',**kwargs) :
+def InDetCosmicExtenScoringToolCfg(flags, name='InDetCosmicExtenScoringTool',**kwargs) :
     acc = ComponentAccumulator()
-    kwargs.setdefault("TrackingFlags", TrackingFlags)
+    kwargs.setdefault("flags.InDet.Tracking", flags.InDet.Tracking)
     kwargs.setdefault("nWeightedClustersMin", 0)
-    kwargs.setdefault("minTRTHits", TrackingFlags.minTRTonTrk )
+    kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minTRTonTrk )
     acc.setPrivateTools(acc.popToolsAndMerge(InDetCosmicsScoringToolBaseCfg(flags, name = 'InDetCosmicExtenScoringTool', **kwargs)))
     return acc
 
@@ -1359,34 +1358,32 @@ def SiCombinatorialTrackFinder_xkCfg(flags, name='InDetSiComTrackFinder', **kwar
     acc.setPrivateTools(InDetSiComTrackFinder)
     return acc
 
-def InDetCosmicScoringTool_TRTCfg(flags, TrackingFlags, name='InDetCosmicExtenScoringTool',**kwargs) :
+def InDetCosmicScoringTool_TRTCfg(flags, name='InDetCosmicExtenScoringTool',**kwargs) :
     acc = ComponentAccumulator()
     InDetTrackSummaryToolNoHoleSearch = acc.popToolsAndMerge(InDetTrackSummaryToolNoHoleSearchCfg(flags))
     acc.addPublicTool(InDetTrackSummaryToolNoHoleSearch)
 
-    kwargs.setdefault("minTRTHits", TrackingFlags.minSecondaryTRTonTrk)
+    kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minSecondaryTRTonTrk)
     kwargs.setdefault("SummaryTool", InDetTrackSummaryToolNoHoleSearch)
 
     acc.setPrivateTools(acc.popToolsAndMerge(InDetCosmicExtenScoringToolCfg(flags,
-                                                                            TrackingFlags=TrackingFlags,
                                                                             name = 'InDetCosmicScoringTool_TRT', **kwargs)))
     return acc
 
-def InDetTRT_SeededScoringToolCfg(flags, name='InDetTRT_SeededScoringTool', TrackingFlags=None, **kwargs) :
+def InDetTRT_SeededScoringToolCfg(flags, name='InDetTRT_SeededScoringTool', **kwargs) :
     acc = ComponentAccumulator()
 
-    kwargs.setdefault("TrackingFlags",  TrackingFlags)
     kwargs.setdefault("useAmbigFcn",  not flags.InDet.doNewTracking) # full search => use NewT
     kwargs.setdefault("useTRT_AmbigFcn",  flags.InDet.doNewTracking) # full search => use NewT
-    kwargs.setdefault("minTRTonTrk",  TrackingFlags.minSecondaryTRTonTrk)
-    kwargs.setdefault("minTRTPrecisionFraction",  TrackingFlags.minSecondaryTRTPrecFrac)
-    kwargs.setdefault("minPt",  TrackingFlags.minSecondaryPt)
-    kwargs.setdefault("maxRPhiImp",  TrackingFlags.maxSecondaryImpact)
-    kwargs.setdefault("minSiClusters",  TrackingFlags.minSecondaryClusters)
-    kwargs.setdefault("maxSiHoles",  TrackingFlags.maxSecondaryHoles)
-    kwargs.setdefault("maxPixelHoles",  TrackingFlags.maxSecondaryPixelHoles)
-    kwargs.setdefault("maxSCTHoles",  TrackingFlags.maxSecondarySCTHoles)
-    kwargs.setdefault("maxDoubleHoles",  TrackingFlags.maxSecondaryDoubleHoles)
+    kwargs.setdefault("minTRTonTrk",  flags.InDet.Tracking.minSecondaryTRTonTrk)
+    kwargs.setdefault("minTRTPrecisionFraction",  flags.InDet.Tracking.minSecondaryTRTPrecFrac)
+    kwargs.setdefault("minPt",  flags.InDet.Tracking.minSecondaryPt)
+    kwargs.setdefault("maxRPhiImp",  flags.InDet.Tracking.maxSecondaryImpact)
+    kwargs.setdefault("minSiClusters",  flags.InDet.Tracking.minSecondaryClusters)
+    kwargs.setdefault("maxSiHoles",  flags.InDet.Tracking.maxSecondaryHoles)
+    kwargs.setdefault("maxPixelHoles",  flags.InDet.Tracking.maxSecondaryPixelHoles)
+    kwargs.setdefault("maxSCTHoles",  flags.InDet.Tracking.maxSecondarySCTHoles)
+    kwargs.setdefault("maxDoubleHoles",  flags.InDet.Tracking.maxSecondaryDoubleHoles)
 
     acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name=name, **kwargs)))
     return acc
@@ -1395,31 +1392,31 @@ def InDetTRT_SeededScoringToolCfg(flags, name='InDetTRT_SeededScoringTool', Trac
 #TRTExtension
 #########################################################################################################
 
-def InDetAmbiScoringToolCfg(flags, name='InDetAmbiScoringTool', TrackingFlags=None, **kwargs) :
+def InDetAmbiScoringToolCfg(flags, name='InDetAmbiScoringTool', **kwargs) :
     acc = ComponentAccumulator()
-    kwargs.setdefault("TrackingFlags", TrackingFlags )
+    kwargs.setdefault("flags.InDet.Tracking", flags.InDet.Tracking )
     kwargs.setdefault("useAmbigFcn", True )
     kwargs.setdefault("useTRT_AmbigFcn", False )
     kwargs.setdefault("minTRTonTrk", 0 )
     kwargs.setdefault("minTRTPrecisionFraction", 0 )
-    kwargs.setdefault("minPt", TrackingFlags.minPT )
-    kwargs.setdefault("maxRPhiImp", TrackingFlags.maxPrimaryImpact )
-    kwargs.setdefault("minSiClusters", TrackingFlags.minClusters )
-    kwargs.setdefault("minPixel", TrackingFlags.minPixel )
-    kwargs.setdefault("maxSiHoles", TrackingFlags.maxHoles )
-    kwargs.setdefault("maxPixelHoles", TrackingFlags.maxPixelHoles )
-    kwargs.setdefault("maxSCTHoles", TrackingFlags.maxSctHoles )
-    kwargs.setdefault("maxDoubleHoles", TrackingFlags.maxDoubleHoles )
-    acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name = name + TrackingFlags.extension, **kwargs )))
+    kwargs.setdefault("minPt", flags.InDet.Tracking.minPT )
+    kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxPrimaryImpact )
+    kwargs.setdefault("minSiClusters", flags.InDet.Tracking.minClusters )
+    kwargs.setdefault("minPixel", flags.InDet.Tracking.minPixel )
+    kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.maxHoles )
+    kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.maxPixelHoles )
+    kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.maxSctHoles )
+    kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.maxDoubleHoles )
+    acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name = name + flags.InDet.Tracking.extension, **kwargs )))
     return acc
 
-def InDetExtenScoringToolCfg(flags, TrackingFlags, name='InDetExtenScoringTool', **kwargs) :
+def InDetExtenScoringToolCfg(flags, name='InDetExtenScoringTool', **kwargs) :
     acc = ComponentAccumulator()
     if flags.InDet.trackFitterType in ['KalmanFitter', 'KalmanDNAFitter', 'ReferenceKalmanFitter']:
         kwargs.setdefault("minTRTPrecisionFraction", 0.2)
-    kwargs.setdefault("minTRTonTrk", TrackingFlags.minTRTonTrk)
-    kwargs.setdefault("minTRTPrecisionFraction", TrackingFlags.minTRTPrecFrac)
-    acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolCfg(flags, name = name, TrackingFlags = TrackingFlags,  **kwargs)))
+    kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.minTRTonTrk)
+    kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.minTRTPrecFrac)
+    acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolCfg(flags, name = name,  **kwargs)))
     return acc
 
 #############################################################################################
@@ -1458,7 +1455,6 @@ def PRDtoTrackMapToolCfg(name='PRDtoTrackMapTool',**kwargs) :
 
 def InDetNNScoringToolBaseCfg(flags, name='InDetNNScoringTool', **kwargs) :
     acc = ComponentAccumulator()
-    TrackingFlags = kwargs.pop("TrackingFlags")
     the_name=makeName(name,kwargs)
 
     from AthenaCommon.DetFlags  import DetFlags
@@ -1475,7 +1471,7 @@ def InDetNNScoringToolBaseCfg(flags, name='InDetNNScoringTool', **kwargs) :
     InDetTrackSummaryTool = acc.popToolsAndMerge(InDetTrackSummaryToolCfg(flags))
     acc.addPublicTool(InDetTrackSummaryTool)
 
-    InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags, TrackingFlags=TrackingFlags)
+    InDetTRTDriftCircleCutForPatternReco = InDetTRTDriftCircleCutForPatternRecoCfg(flags)
     acc.addPublicTool(InDetTRTDriftCircleCutForPatternReco)
 
     kwargs.setdefault("nnCutConfig", "dev/TrackingCP/LRTAmbiNetwork/20200727_225401/nn-config.json" )
@@ -1485,33 +1481,32 @@ def InDetNNScoringToolBaseCfg(flags, name='InDetNNScoringTool', **kwargs) :
     kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCutForPatternReco )
     kwargs.setdefault("useAmbigFcn", True )
     kwargs.setdefault("useTRT_AmbigFcn", False )
-    kwargs.setdefault("maxZImp", TrackingFlags.maxZImpact )
-    kwargs.setdefault("maxEta", TrackingFlags.maxEta )
-    kwargs.setdefault("usePixel", TrackingFlags.usePixel )
-    kwargs.setdefault("useSCT", TrackingFlags.useSCT )
+    kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact )
+    kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta )
+    kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel )
+    kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT )
     kwargs.setdefault("doEmCaloSeed", have_calo_rois )
 
     acc.setPrivateTools(CompFactory.InDet.InDetNNScoringTool(name = the_name, **kwargs ))
     return acc
 
-def InDetNNScoringToolCfg(flags, TrackingFlags, name='InDetNNScoringTool', **kwargs) :
-    kwargs.setdefault("TrackingFlags", TrackingFlags )
+def InDetNNScoringToolCfg(flags, name='InDetNNScoringTool', **kwargs) :
+    kwargs.setdefault("flags.InDet.Tracking", flags.InDet.Tracking )
     kwargs.setdefault("useAmbigFcn", True )
     kwargs.setdefault("useTRT_AmbigFcn", False )
     kwargs.setdefault("minTRTonTrk", 0 )
     kwargs.setdefault("minTRTPrecisionFraction", 0 )
-    kwargs.setdefault("minPt", TrackingFlags.minPT )
-    kwargs.setdefault("maxRPhiImp", TrackingFlags.maxPrimaryImpact )
-    kwargs.setdefault("minSiClusters", TrackingFlags.minClusters )
-    kwargs.setdefault("minPixel", TrackingFlags.minPixel )
-    kwargs.setdefault("maxSiHoles", TrackingFlags.maxHoles )
-    kwargs.setdefault("maxPixelHoles", TrackingFlags.maxPixelHoles )
-    kwargs.setdefault("maxSCTHoles", TrackingFlags.maxSctHoles )
-    kwargs.setdefault("maxDoubleHoles", TrackingFlags.maxDoubleHoles)
-
-    return InDetNNScoringToolBaseCfg(flags, name=name+TrackingFlags.extension, **kwargs )
-
-def InDetCosmicsScoringToolCfg(flags, TrackingFlags, name='InDetCosmicsScoringTool', **kwargs) :
+    kwargs.setdefault("minPt", flags.InDet.Tracking.minPT )
+    kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxPrimaryImpact )
+    kwargs.setdefault("minSiClusters", flags.InDet.Tracking.minClusters )
+    kwargs.setdefault("minPixel", flags.InDet.Tracking.minPixel )
+    kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.maxHoles )
+    kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.maxPixelHoles )
+    kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.maxSctHoles )
+    kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.maxDoubleHoles)
+
+    return InDetNNScoringToolBaseCfg(flags, name=name+flags.InDet.Tracking.extension, **kwargs )
+
+def InDetCosmicsScoringToolCfg(flags, name='InDetCosmicsScoringTool', **kwargs) :
     return InDetCosmicsScoringToolBaseCfg(flags,
-                                          name=name+TrackingFlags.extension,
-                                          TrackingFlags=TrackingFlags)
+                                          name=name+flags.InDet.Tracking.extension)