From ab204f1ce5954833aadee17c3e0dd315c0919ff5 Mon Sep 17 00:00:00 2001
From: tstreble <thomas.strebler@cern.ch>
Date: Tue, 11 Jan 2022 19:26:05 +0100
Subject: [PATCH] Cleaning of InDetFlags #7

---
 .../InDetConfig/python/BackTrackingConfig.py  | 10 ++---
 .../python/ClusterizationConfig.py            |  2 +-
 .../InDetConfig/python/ITkConfigFlags.py      |  2 -
 .../InDetConfig/python/ITkTrackRecoConfig.py  |  2 +-
 .../python/ITkTrackingSiPatternConfig.py      |  4 +-
 .../InDetConfig/python/InDetConfigFlags.py    | 39 +++++++------------
 .../python/SiliconPreProcessing.py            |  2 +-
 .../InDetConfig/python/TRTExtensionConfig.py  |  8 +---
 .../InDetConfig/python/TRTPreProcessing.py    |  4 +-
 .../python/TRTSegmentFindingConfig.py         |  2 +-
 .../InDetConfig/python/TrackRecoConfig.py     | 38 ++++++++++++++----
 .../InDetConfig/python/TrackTruthConfig.py    | 13 ++-----
 .../python/TrackingCommonConfig.py            | 36 +++++++----------
 .../python/TrackingSiPatternConfig.py         | 38 +++++-------------
 14 files changed, 86 insertions(+), 114 deletions(-)

diff --git a/InnerDetector/InDetConfig/python/BackTrackingConfig.py b/InnerDetector/InDetConfig/python/BackTrackingConfig.py
index fc121d8dc153..9ee028686b5d 100644
--- a/InnerDetector/InDetConfig/python/BackTrackingConfig.py
+++ b/InnerDetector/InDetConfig/python/BackTrackingConfig.py
@@ -251,7 +251,7 @@ def InDetTRTAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelec
     kwargs.setdefault("minTRTHits", flags.InDet.Tracking.Pass.minSecondaryTRTonTrk)
     kwargs.setdefault("UseParameterization", flags.InDet.Tracking.Pass.useParameterizedTRTCuts)
     kwargs.setdefault("Cosmics", flags.Beam.Type == "cosmics")
-    kwargs.setdefault("doPixelSplitting", flags.InDet.doPixelClusterSplitting)
+    kwargs.setdefault("doPixelSplitting", flags.InDet.Tracking.doPixelClusterSplitting)
 
     acc.setPrivateTools(CompFactory.InDet.InDetAmbiTrackSelectionTool(name, **kwargs))
     return acc
@@ -282,15 +282,11 @@ def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcess
     kwargs.setdefault("SelectionTool", InDetTRT_SeededAmbiTrackSelectionTool)
     kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer)
     kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetTRT_SeededAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension)
-    kwargs.setdefault("RefitPrds", not flags.InDet.refitROT)
+    kwargs.setdefault("RefitPrds", False)
     kwargs.setdefault("SuppressTrackFit", False)
     kwargs.setdefault("SuppressHoleSearch", False)
     kwargs.setdefault("ScoringTool", InDetTRT_SeededScoringTool)
-
-    if flags.InDet.materialInteractions:
-        kwargs.setdefault("MatEffects", flags.InDet.materialInteractionsType)
-    else:
-        kwargs.setdefault("MatEffects", 0)
+    kwargs.setdefault("MatEffects", flags.InDet.Tracking.materialInteractionsType if flags.InDet.Tracking.materialInteractions else 0)
 
     InDetTRT_SeededAmbiguityProcessor = CompFactory.Trk.SimpleAmbiguityProcessorTool(name = name, **kwargs)
     acc.setPrivateTools(InDetTRT_SeededAmbiguityProcessor)
diff --git a/InnerDetector/InDetConfig/python/ClusterizationConfig.py b/InnerDetector/InDetConfig/python/ClusterizationConfig.py
index d3f72a4af2fc..eb94e3e1d4df 100644
--- a/InnerDetector/InDetConfig/python/ClusterizationConfig.py
+++ b/InnerDetector/InDetConfig/python/ClusterizationConfig.py
@@ -61,7 +61,7 @@ if __name__ == "__main__":
 
     ConfigFlags.Detector.GeometryPixel   = True 
     ConfigFlags.Detector.GeometrySCT   = True
-    ConfigFlags.InDet.doPixelClusterSplitting = True
+    ConfigFlags.InDet.Tracking.doPixelClusterSplitting = True
 
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     ConfigFlags.Input.Files = defaultTestFiles.RDO
diff --git a/InnerDetector/InDetConfig/python/ITkConfigFlags.py b/InnerDetector/InDetConfig/python/ITkConfigFlags.py
index bae1b3ff2d92..fea350a8e562 100644
--- a/InnerDetector/InDetConfig/python/ITkConfigFlags.py
+++ b/InnerDetector/InDetConfig/python/ITkConfigFlags.py
@@ -14,7 +14,6 @@ def createITkConfigFlags():
 
   itkcf.addFlag("ITk.doStripModuleVeto", False) # Turn on SCT_ModuleVetoSvc, allowing it to be configured later
   itkcf.addFlag("ITk.checkDeadPixelsOnTrack", True) # Enable check for dead modules and FEs
-  itkcf.addFlag("ITk.pixelClusterBadClusterID", 3) # Select the mode to identify suspicous pixel clustering
 
   itkcf.addFlag("ITk.Tracking.doStoreTrackSeeds", False) # Turn on to save the Track Seeds in a xAOD track collecting for development studies
   itkcf.addFlag("ITk.Tracking.doDigitalROTCreation", False) # use PixelClusterOnTrackToolDigital during ROT creation to save CPU
@@ -34,7 +33,6 @@ def createITkConfigFlags():
   itkcf.addFlag("ITk.Tracking.pixelClusterSplittingType", "Truth") # choose splitter type: NeuralNet, AnalogClus or Truth
   itkcf.addFlag("ITk.Tracking.pixelClusterSplitProb1", 0.55) # Cut value for splitting clusters into two parts
   itkcf.addFlag("ITk.Tracking.pixelClusterSplitProb2", 0.45) # Cut value for splitting clusters into three parts
-  itkcf.addFlag("ITk.Tracking.pixelClusterSplitMinPt", 1000) # Min pt for tracks to try and split hits
   itkcf.addFlag("ITk.Tracking.perigeeExpression", "BeamLine"   ) # Express track parameters wrt. to : 'BeamLine','BeamSpot','Vertex' (first primary vertex)
   itkcf.addFlag("ITk.Tracking.doSharedHits", True) # control if the shared hits are recorded in TrackParticles
   itkcf.addFlag("ITk.Tracking.materialInteractions", True)
diff --git a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
index b4717e30a651..8cb14ae08294 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
@@ -141,7 +141,7 @@ def ITkTrackParticleCreatorToolCfg(flags, name="ITkTrackParticleCreatorTool", **
         from InDetConfig.ITkTrackingCommonConfig import ITkTrackSummaryToolSharedHitsCfg
         TrackSummaryTool = result.getPrimaryAndMerge(ITkTrackSummaryToolSharedHitsCfg(flags))
         kwargs["TrackSummaryTool"] = TrackSummaryTool
-    kwargs.setdefault("BadClusterID", flags.ITk.pixelClusterBadClusterID)
+    kwargs.setdefault("BadClusterID", 3) # Select the mode to identify suspicous pixel cluster
     kwargs.setdefault("KeepParameters", True)
     kwargs.setdefault("KeepFirstParameters", False)
     # need to treat Vertex specifically because at the time of
diff --git a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
index f2cbe6a1d579..fb0db531eab0 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py
@@ -290,7 +290,7 @@ def ITkAmbiTrackSelectionToolCfg(flags, name="ITkAmbiTrackSelectionTool", **kwar
     kwargs.setdefault("minSiHitsToAllowSplitting" , 9)
     kwargs.setdefault("minUniqueSCTHits"          , 4)
     kwargs.setdefault("minTrackChi2ForSharedHits" , 3)
-    kwargs.setdefault("minPtSplit"                , flags.ITk.Tracking.pixelClusterSplitMinPt)       #Only allow split clusters on track withe pt greater than this MeV
+    kwargs.setdefault("minPtSplit"                , 1000)       #Only allow split clusters on track withe pt greater than this MeV
     kwargs.setdefault("maxSharedModulesInROI"     , 3)     #Maximum number of shared modules for tracks in ROI
     kwargs.setdefault("minNotSharedInROI"         , 2)     #Minimum number of unique modules for tracks in ROI
     kwargs.setdefault("minSiHitsToAllowSplittingInROI" , 8)  #Minimum number of Si hits to allow splittings for tracks in ROI
@@ -336,8 +336,6 @@ def ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name = "ITkAmbigui
 
     kwargs.setdefault("sharedProbCut",  flags.ITk.Tracking.pixelClusterSplitProb1)
     kwargs.setdefault("sharedProbCut2", flags.ITk.Tracking.pixelClusterSplitProb2)
-    if flags.ITk.Tracking.Pass.extension == "":
-        kwargs.setdefault("SplitClusterMap_old", "")
     kwargs.setdefault("SplitClusterMap_new", 'SplitClusterAmbiguityMap'+flags.ITk.Tracking.Pass.extension)
 
     kwargs.setdefault("ScoringTool", ITkAmbiScoringTool)
diff --git a/InnerDetector/InDetConfig/python/InDetConfigFlags.py b/InnerDetector/InDetConfig/python/InDetConfigFlags.py
index f4a004a4df60..a9d9437a44dc 100644
--- a/InnerDetector/InDetConfig/python/InDetConfigFlags.py
+++ b/InnerDetector/InDetConfig/python/InDetConfigFlags.py
@@ -12,29 +12,40 @@ def createInDetConfigFlags():
   icf.addFlag("InDet.doDBMstandalone",False)
   icf.addFlag("InDet.doSplitReco", False) # Turn running of the truth seeded pseudo tracking only for pileup on and off. Only makes sense to run on RDO file where SplitDigi was used!
   icf.addFlag("InDet.doTruth", lambda f: f.Input.isMC) # Turn running of truth matching on and off (by default on for MC off for data)
-
+  icf.addFlag("InDet.selectSCTIntimeHits", True) # defines if the X1X mode is used for the offline or not
+  icf.addFlag("InDet.useDCS", True)
+  icf.addFlag("InDet.usePixelDCS",  lambda prevFlags : (prevFlags.InDet.useDCS and prevFlags.Detector.EnablePixel))
+  icf.addFlag("InDet.useSctDCS",  lambda prevFlags : (prevFlags.InDet.useDCS and prevFlags.Detector.EnableSCT))
 
   ### Tracking parameters
 
+  icf.addFlag("InDet.Tracking.materialInteractions", True)
+  icf.addFlag("InDet.Tracking.materialInteractionsType", 3) # Control which type of particle hypothesis to use for the material interactions 0=non-interacting,1=electron,2=muon,3=pion,4=kaon,5=proton. See ParticleHypothesis.h for full definition.
   icf.addFlag("InDet.Tracking.useHolesFromPattern", False)
   icf.addFlag("InDet.Tracking.useZvertexTool", False) # start with Zvertex finding
   icf.addFlag("InDet.Tracking.holeSearchInGX2Fit", True)
   icf.addFlag("InDet.Tracking.trackFitterType", "GlobalChi2Fitter") # control which fitter to be used: 'KalmanFitter', 'KalmanDNAFitter', 'DistributedKalmanFilter', 'GlobalChi2Fitter', 'GaussianSumFilter'
   icf.addFlag("InDet.Tracking.kalmanUpdator", "smatrix") # control which updator to load for KalmanFitter ("None"/"fast"/"smatrix"/"weight"/"amg")
-  icf.addFlag("InDet.Tracking.doRefit", False) # Turn running of refitting on and off
   icf.addFlag("InDet.Tracking.propagatorType", "RungeKutta") # control which propagator to use ('RungeKutta'/'STEP')
+  icf.addFlag("InDet.Tracking.doSharedHits", True) # control if the shared hits are recorded in TrackPatricles
+  icf.addFlag("InDet.Tracking.perigeeExpression", "BeamLine") # Express track parameters wrt. to : 'BeamLine','BeamSpot','Vertex' (first primary vertex)
   icf.addFlag("InDet.Tracking.cutLevel", 19) # Control cuts and settings for different lumi to limit CPU and disk space
   icf.addFlag("InDet.Tracking.doBremRecovery", True) # Turn on running of Brem Recover in tracking
   icf.addFlag("InDet.Tracking.doCaloSeededBrem", True) # Brem Recover in tracking restricted to Calo ROIs
   icf.addFlag("InDet.Tracking.doHadCaloSeededSSS", False) # Use Recover SSS to Calo ROIs
   icf.addFlag("InDet.Tracking.doCaloSeededAmbi", lambda prevFlags: prevFlags.Detector.EnableCalo) # Use Calo ROIs to seed specific cuts for the ambi
   icf.addFlag("InDet.Tracking.doBeamHalo", False) # Turn running of BeamHalo second pass on and off / Which second pass?
+  icf.addFlag("InDet.Tracking.doPixelClusterSplitting", True) # Try to split pixel clusters
+  icf.addFlag("InDet.Tracking.pixelClusterSplittingType", "NeuralNet") # choose splitter type: NeuralNet or AnalogClus
+  icf.addFlag("InDet.Tracking.pixelClusterSplitProb1", lambda prevFlags: 0.5 if prevFlags.GeoModel.Run == 'RUN1' else 0.55) # Cut value for splitting clusters into two parts
+  icf.addFlag("InDet.Tracking.pixelClusterSplitProb2", lambda prevFlags: 0.5 if prevFlags.GeoModel.Run == 'RUN1' else 0.45) # Cut value for splitting clusters into three parts
   icf.addFlag("InDet.Tracking.useBeamSpotInfoNN", True) # use beam spot position in pixel NN
   icf.addFlag("InDet.Tracking.nnCutLargeD0Threshold", -1.0) # Enable check for dead modules and FEs
   icf.addFlag("InDet.Tracking.trtExtensionType", 'xk') # which extension type ("xk"/"DAF")
   icf.addFlag("InDet.Tracking.redoTRT_LR", True) # use smart TRT LR/tube hit creator and redo ROTs
   icf.addFlag("InDet.Tracking.doTRTPhaseCalculation", False) # control to run TRT phase calculation
   icf.addFlag("InDet.Tracking.loadSimpleTRTSeededSPFinder", False) # control which TRT SP finder is used
+  icf.addFlag("InDet.Tracking.noTRTTiming", False)
 
   ### Tracking passes/configurations scheduled
 
@@ -56,26 +67,8 @@ def createInDetConfigFlags():
   icf.addFlag("InDet.Tracking.doTrackSegmentsDisappearing", True)
   icf.addFlag("InDet.Tracking.doBeamGas", False) # Turn running of BeamGas second pass on and off
 
-  icf.addFlag("InDet.refitROT", True) # control if refit is done from PRD or ROT
-  icf.addFlag("InDet.perigeeExpression", "BeamLine") # Express track parameters wrt. to : 'BeamLine','BeamSpot','Vertex' (first primary vertex)
-  # icf.addFlag("InDet.secondaryVertexCutSetup", "PileUp") # string to store the type of cuts to be used in PV reconstruction: 'StartUp', 'PileUp'
-  # icf.addFlag("InDet.conversionVertexCutSetup", "ConversionPileUp") # string to store the type of cuts to be used in conversion reconstruction: 'ConversionStartUp', 'ConversionPileUp'
-  icf.addFlag("InDet.doSharedHits", True) # control if the shared hits are recorded in TrackPatricles
-  icf.addFlag("InDet.materialInteractions", True)
-  icf.addFlag("InDet.materialInteractionsType", 3) # Control which type of particle hypothesis to use for the material interactions 0=non-interacting,1=electron,2=muon,3=pion,4=kaon,5=proton. See ParticleHypothesis.h for full definition.
-  icf.addFlag("InDet.removeTRTNoise", False)
-  icf.addFlag("InDet.noTRTTiming", False)
-  icf.addFlag("InDet.InDet25nsec", True ) # in most of the cases this is True
-  icf.addFlag("InDet.selectSCTIntimeHits", True) # defines if the X1X mode is used for the offline or not
-  icf.addFlag("InDet.useDCS", True)
-  icf.addFlag("InDet.truthMatchStrategy", "TruthMatchRatio") # defines how truth matching is done. possible values TruthMatchRatio (old style) or TruthMatchTanimoto (new style)
-  icf.addFlag("InDet.doFatras", False) # Switch for FATRAS running
-  icf.addFlag("InDet.doPixelClusterSplitting", True) # Try to split pixel clusters
-  icf.addFlag("InDet.pixelClusterSplittingType", "NeuralNet") # choose splitter type: NeuralNet or AnalogClus
-  icf.addFlag("InDet.pixelClusterSplitProb1", lambda prevFlags: 0.5 if prevFlags.GeoModel.Run == 'RUN1' else 0.55) # Cut value for splitting clusters into two parts
-  icf.addFlag("InDet.pixelClusterSplitProb2", lambda prevFlags: 0.5 if prevFlags.GeoModel.Run == 'RUN1' else 0.45) # Cut value for splitting clusters into three parts
-  icf.addFlag("InDet.pixelClusterSplitMinPt", 1000) # Min pt for tracks to try and split hits
-  icf.addFlag("InDet.pixelClusterBadClusterID", 3) # Select the mode to identify suspicous pixel clusteri
+
+
   icf.addFlag("InDet.useBroadClusterErrors", False) # Use broad cluster errors for Pixel/SCT
   #TODO: useBroadPixClusterErrors and ...SCT... were set to none such that they print a warning if they're accessed without being set. None will be interpreted as False (same behavior as old config) but defaults cannot be None
   icf.addFlag("InDet.useBroadPixClusterErrors", False) # Use broad cluster errors for Pixel
@@ -99,8 +92,6 @@ def createInDetConfigFlags():
   icf.addFlag("InDet.doHIP300", False) # Switch for running MinBias settings with a 300 MeV pT cut (for Heavy Ion Proton)
   icf.addFlag("InDet.checkDeadElementsOnTrack", True) # Enable check for dead modules and FEs
   icf.addFlag("InDet.doDigitalROTCreation",False) # use PixelClusterOnTrackToolDigital during ROT creation to save CPU
-  icf.addFlag("InDet.usePixelDCS",  lambda prevFlags : (prevFlags.InDet.useDCS and prevFlags.Detector.EnablePixel))
-  icf.addFlag("InDet.useSctDCS",  lambda prevFlags : (prevFlags.InDet.useDCS and prevFlags.Detector.EnableSCT))
 
   from InDetConfig.TrackingPassFlags import createTrackingPassFlags, createIBLTrackingPassFlags, createHighPileupTrackingPassFlags, \
     createMinBiasTrackingPassFlags, createLargeD0TrackingPassFlags, createR3LargeD0TrackingPassFlags, createLowPtLargeD0TrackingPassFlags, \
diff --git a/InnerDetector/InDetConfig/python/SiliconPreProcessing.py b/InnerDetector/InDetConfig/python/SiliconPreProcessing.py
index 70a19bff28af..1be93631ef70 100644
--- a/InnerDetector/InDetConfig/python/SiliconPreProcessing.py
+++ b/InnerDetector/InDetConfig/python/SiliconPreProcessing.py
@@ -233,7 +233,7 @@ if __name__ == "__main__":
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     ConfigFlags.Input.Files=defaultTestFiles.RDO
 
-    ConfigFlags.InDet.doPixelClusterSplitting = True
+    ConfigFlags.InDet.Tracking.doPixelClusterSplitting = True
 
     numThreads=1
     ConfigFlags.Concurrency.NumThreads=numThreads
diff --git a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py
index 232a17d95f07..76f8136d8370 100644
--- a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py
+++ b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py
@@ -91,11 +91,6 @@ def InDetExtensionProcessorCfg(flags, SiTrackCollection=None, ExtendedTrackColle
     #
     InDetTrackSummaryTool = acc.getPrimaryAndMerge(TC.InDetTrackSummaryToolCfg(flags))
 
-    if flags.InDet.materialInteractions:
-        kwargs.setdefault("matEffects", flags.InDet.materialInteractionsType)
-    else:
-        kwargs.setdefault("matEffects", 0)
-
     kwargs.setdefault("TrackName", SiTrackCollection)
     kwargs.setdefault("ExtensionMap", OutputExtendedTracks)
     kwargs.setdefault("NewTrackName", ForwardTrackCollection)
@@ -106,7 +101,8 @@ def InDetExtensionProcessorCfg(flags, SiTrackCollection=None, ExtendedTrackColle
     kwargs.setdefault("tryBremFit", flags.InDet.Tracking.doBremRecovery)
     kwargs.setdefault("caloSeededBrem", flags.InDet.Tracking.doCaloSeededBrem and flags.Detector.EnableCalo)
     kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem)
-    kwargs.setdefault("RefitPrds", not (flags.InDet.refitROT or (flags.InDet.Tracking.trtExtensionType == 'DAF')))
+    kwargs.setdefault("RefitPrds", False)
+    kwargs.setdefault("matEffects", flags.InDet.Tracking.materialInteractionsType if flags.InDet.Tracking.materialInteractions else 0)
     
     if doPhase:
         kwargs.setdefault("Cosmics", True)
diff --git a/InnerDetector/InDetConfig/python/TRTPreProcessing.py b/InnerDetector/InDetConfig/python/TRTPreProcessing.py
index d60288e5ae60..68bbcd6a5bdb 100644
--- a/InnerDetector/InDetConfig/python/TRTPreProcessing.py
+++ b/InnerDetector/InDetConfig/python/TRTPreProcessing.py
@@ -55,7 +55,7 @@ def InDetTRT_DriftFunctionToolCfg(flags, useTimeInfo, usePhase, name = "InDetTRT
     acc.addPublicTool(CalDbTool)
 
     # --- overwrite for uncalibrated DC production
-    if (not useTimeInfo) or flags.InDet.noTRTTiming:
+    if (not useTimeInfo) or flags.InDet.Tracking.noTRTTiming:
         kwargs.setdefault("DummyMode", True)
         kwargs.setdefault("UniversalError", 1.15)
 
@@ -169,7 +169,7 @@ def TRT_DriftCircleToolCfg(flags, useTimeInfo, usePhase, prefix, name = "InDetTR
     kwargs.setdefault("useDriftTimeToTCorrection", True)
 
 
-    if flags.InDet.InDet25nsec and flags.Beam.Type == "collisions":
+    if flags.Beam.BunchSpacing<=25 and flags.Beam.Type == "collisions":
         kwargs.setdefault("ValidityGateSuppression", True)
         kwargs.setdefault("SimpleOutOfTimePileupSupression", False)
 
diff --git a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
index 0c367d0db44f..195b61f5a4a4 100644
--- a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
+++ b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py
@@ -50,7 +50,7 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi
     kwargs.setdefault("PropagatorTool", InDetPatternPropagator)
     kwargs.setdefault("TrackExtensionTool", InDetTRTExtensionTool)
     kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix if usePrdAssociationTool else '')
-    kwargs.setdefault("RemoveNoiseDriftCircles", flags.InDet.removeTRTNoise)
+    kwargs.setdefault("RemoveNoiseDriftCircles", False)
     kwargs.setdefault("MinNumberDriftCircles", MinNumberDCs)
     kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.Pass.TRTSegFinderPtBins)
     kwargs.setdefault("pTmin", pTmin)
diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
index 897b2005d17e..4f3f00b17b6a 100644
--- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
@@ -52,7 +52,7 @@ def SCTClusterizationCfg(flags, name="InDetSCT_Clusterization", **kwargs) :
                                                                     globalPosAlg   = InDetClusterMakerTool,
                                                                     conditionsTool = InDetSCT_ConditionsSummaryToolWithoutFlagged)
     if flags.InDet.selectSCTIntimeHits :
-       if flags.InDet.InDet25nsec :
+       if flags.Beam.BunchSpacing<=25 and flags.Beam.Type == "collisions":
           InDetSCT_ClusteringTool.timeBins = "01X"
        else:
           InDetSCT_ClusteringTool.timeBins = "X1X"
@@ -152,13 +152,15 @@ def TrackParticleCreatorToolCfg(flags, name="InDetxAODParticleCreatorTool", **kw
         from InDetConfig.TrackingCommonConfig import InDetTrackSummaryToolSharedHitsCfg
         TrackSummaryTool = result.getPrimaryAndMerge(InDetTrackSummaryToolSharedHitsCfg(flags))
         kwargs["TrackSummaryTool"] = TrackSummaryTool
-    p_expr = flags.InDet.perigeeExpression
-    kwargs.setdefault("BadClusterID", flags.InDet.pixelClusterBadClusterID)
+    kwargs.setdefault("BadClusterID", 3) # Select the mode to identify suspicous pixel cluster
     kwargs.setdefault("KeepParameters", True)
     kwargs.setdefault("KeepFirstParameters", False)
-    kwargs.setdefault(
-        "PerigeeExpression",
-        p_expr if p_expr != "Vertex" else "BeamLine")
+    # need to treat Vertex specifically because at the time of
+    # the track particle creation the primary vertex does not yet exist.
+    # The problem is solved by first creating track particles wrt. the beam line
+    # and correcting the parameters after the vertex finding.
+    kwargs.setdefault("PerigeeExpression", "BeamLine" if flags.InDet.Tracking.perigeeExpression=="Vertex"
+                      else flags.InDet.Tracking.perigeeExpression)
     result.addPublicTool(CompFactory.Trk.TrackParticleCreatorTool(name, **kwargs), primary = True)
     return result
 
@@ -229,6 +231,27 @@ def TrackParticleCnvAlgCfg(flags, name="TrackParticleCnvAlg", TrackContainerName
     result.addEventAlgo(CompFactory.xAODMaker.TrackParticleCnvAlg(name, **kwargs))
     return result
 
+# Configuration not supported, to be recommissioned if needed
+def ReFitTrackAlgCfg(flags, name="InDetRefitTrack", InputTrackCollection="CombinedInDetTracks", OutputTrackCollection="RefittedTracks", **kwargs):
+    result = ComponentAccumulator()
+
+    from InDetConfig.TrackingCommonConfig import InDetTrackFitterCfg, InDetTrackFitterTRTCfg, InDetTrackSummaryToolSharedHitsCfg, InDetPRDtoTrackMapToolGangedPixelsCfg
+    InDetTrackFitter = result.popToolsAndMerge(InDetTrackFitterCfg(flags))
+    InDetTrackFitterTRT = result.popToolsAndMerge(InDetTrackFitterTRTCfg(flags))
+    TrackSummaryTool = result.getPrimaryAndMerge(InDetTrackSummaryToolSharedHitsCfg(flags))
+    InDetPRDtoTrackMapToolGangedPixels = result.popToolsAndMerge(InDetPRDtoTrackMapToolGangedPixelsCfg(flags))
+    kwargs.setdefault("FitterTool", InDetTrackFitter)
+    kwargs.setdefault("FitterToolTRT", InDetTrackFitterTRT)
+    kwargs.setdefault("SummaryTool", TrackSummaryTool)
+    kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels)
+    kwargs.setdefault("TrackName", InputTrackCollection)
+    kwargs.setdefault("NewTrackName", OutputTrackCollection)
+    kwargs.setdefault("useParticleHypothesisFromTrack", True)
+    kwargs.setdefault("matEffects", flags.InDet.materialInteractionsType if flags.InDet.materialInteractions else 0)
+
+    result.addEventAlgo(CompFactory.Trk.ReFitTrack(name, **kwargs))
+    return result
+
 def InDetTrackRecoCfg(flags):
     if flags.Detector.GeometryITk:
         from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg
@@ -528,9 +551,10 @@ def InDetTrackRecoCfg(flags):
         from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
         result.merge(InDetTrackTruthCfg(flags))
 
-    # TODO add followup algs
     result.merge(TrackParticleCnvAlgCfg(flags))
 
+    # TODO add followup algs
+
     if flags.InDet.PriVertex.doVertexFinding:
         from InDetConfig.VertexFindingConfig import primaryVertexFindingCfg
         result.merge(primaryVertexFindingCfg(flags))
diff --git a/InnerDetector/InDetConfig/python/TrackTruthConfig.py b/InnerDetector/InDetConfig/python/TrackTruthConfig.py
index 521781fa7b47..3f117522bb92 100644
--- a/InnerDetector/InDetConfig/python/TrackTruthConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackTruthConfig.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaConfiguration.ComponentFactory     import CompFactory
 # -------------------------------------------------------------------------
@@ -30,16 +30,11 @@ def InDetDetailedTrackTruthMakerCfg(flags, Tracks, DetailedTruth, name='Maker',*
 def InDetTruthMatchToolCfg(flags, name='InDetTruthMatchTool', **kwargs) :
     acc = ComponentAccumulator()
 
-    if flags.InDet.truthMatchStrategy == 'TruthMatchRatio':
-        InDetTruthMatchTool = CompFactory.Trk.TruthMatchRatio
-    elif flags.InDet.truthMatchStrategy == 'TruthMatchTanimoto':
-        InDetTruthMatchTool = CompFactory.Trk.TruthMatchTanimoto
-
     kwargs.setdefault("WeightPixel", 10.)
     kwargs.setdefault("WeightSCT", 5.)
     kwargs.setdefault("WeightTRT", 1.)
 
-    InDetTruthMatchSimilarityTool = InDetTruthMatchTool(name = name, **kwargs)
+    InDetTruthMatchSimilarityTool = CompFactory.Trk.TruthMatchRatio(name = name, **kwargs)
     acc.setPrivateTools(InDetTruthMatchSimilarityTool)
     return acc
 
@@ -83,8 +78,8 @@ if __name__ == "__main__":
     ConfigFlags.Detector.GeometrySCT = True
     ConfigFlags.Detector.GeometryTRT   = True
 
-    ConfigFlags.InDet.doPixelClusterSplitting = True
-    ConfigFlags.InDet.useHolesFromPattern =  False
+    ConfigFlags.InDet.Tracking.doPixelClusterSplitting = True
+    ConfigFlags.InDet.Tracking.useHolesFromPattern =  False
 
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     ConfigFlags.Input.Files = defaultTestFiles.RDO
diff --git a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
index 3383706fe338..8d92751fc633 100644
--- a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py
@@ -118,16 +118,16 @@ def InDetPixelClusterOnTrackToolBaseCfg(flags, name="PixelClusterOnTrackTool", *
 
     from PixelConditionsAlgorithms.PixelConditionsConfig import PixelDistortionAlgCfg, PixelOfflineCalibCondAlgCfg
     acc.merge(PixelOfflineCalibCondAlgCfg(flags))
-    if not (flags.InDet.doFatras or flags.InDet.doDBMstandalone):
+    if not flags.InDet.doDBMstandalone:
         acc.merge(PixelDistortionAlgCfg(flags))
 
     if flags.Beam.Type == "cosmics" or flags.InDet.doDBMstandalone:
         kwargs.setdefault("ErrorStrategy", 0)
         kwargs.setdefault("PositionStrategy", 0)
 
-    kwargs.setdefault("DisableDistortions", flags.InDet.doFatras or flags.InDet.doDBMstandalone)
-    kwargs.setdefault("applyNNcorrection", flags.InDet.doPixelClusterSplitting and flags.InDet.pixelClusterSplittingType == "NeuralNet")
-    kwargs.setdefault("NNIBLcorrection", flags.InDet.doPixelClusterSplitting and flags.InDet.pixelClusterSplittingType == "NeuralNet")
+    kwargs.setdefault("DisableDistortions", flags.InDet.doDBMstandalone)
+    kwargs.setdefault("applyNNcorrection", flags.InDet.Tracking.doPixelClusterSplitting and flags.InDet.Tracking.pixelClusterSplittingType == "NeuralNet")
+    kwargs.setdefault("NNIBLcorrection", flags.InDet.Tracking.doPixelClusterSplitting and flags.InDet.Tracking.pixelClusterSplittingType == "NeuralNet")
     split_cluster_map_extension = flags.InDet.Tracking.Pass.extension if flags.InDet.Tracking.Pass.useTIDE_Ambi else ""
     kwargs.setdefault("SplitClusterAmbiguityMap", f"SplitClusterAmbiguityMap{split_cluster_map_extension}")
     kwargs.setdefault("RunningTIDE_Ambi", flags.InDet.doTIDE_Ambi)
@@ -161,7 +161,7 @@ def InDetPixelClusterOnTrackToolDigitalCfg(flags, name="InDetPixelClusterOnTrack
 def InDetPixelClusterOnTrackToolNNSplittingCfg(flags, name="InDetPixelClusterOnTrackToolNNSplitting", **kwargs):
     acc = ComponentAccumulator()
 
-    if flags.InDet.doPixelClusterSplitting and flags.InDet.pixelClusterSplittingType == "NeuralNet":
+    if flags.InDet.Tracking.doPixelClusterSplitting and flags.InDet.Tracking.pixelClusterSplittingType == "NeuralNet":
         if "NnClusterizationFactory" not in kwargs:
             kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(NnClusterizationFactoryCfg(flags)))
 
@@ -455,10 +455,10 @@ def InDetSummaryHelperSharedHitsCfg(flags, name='InDetSummaryHelperSharedHits',
             InDetRecTestBLayerTool = None
         kwargs.setdefault("TestBLayerTool", InDetRecTestBLayerTool)
 
-    kwargs.setdefault("DoSharedHits", flags.InDet.doSharedHits)
+    kwargs.setdefault("DoSharedHits", flags.InDet.Tracking.doSharedHits)
 
     if flags.Detector.EnableTRT:
-        kwargs.setdefault("DoSharedHitsTRT", flags.InDet.doSharedHits)
+        kwargs.setdefault("DoSharedHitsTRT", flags.InDet.Tracking.doSharedHits)
 
     from  InDetConfig.InDetRecToolConfig import InDetTrackSummaryHelperToolCfg    
     InDetSummaryHelper = acc.popToolsAndMerge(InDetTrackSummaryHelperToolCfg(flags, name = name, **kwargs))
@@ -491,7 +491,7 @@ def InDetTrackSummaryToolSharedHitsCfg(flags, name='InDetTrackSummaryToolSharedH
         InDetPixelToTPIDTool = acc.popToolsAndMerge(InDetPixelToTPIDToolCfg(flags))
         kwargs.setdefault( "PixelToTPIDTool", InDetPixelToTPIDTool)
 
-    kwargs.setdefault( "doSharedHits", flags.InDet.doSharedHits)
+    kwargs.setdefault( "doSharedHits", flags.InDet.Tracking.doSharedHits)
 
     InDetTrackSummaryTool = acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags, name, **kwargs))
     acc.addPublicTool(InDetTrackSummaryTool, primary=True)
@@ -716,7 +716,7 @@ def InDetGlobalChi2FitterCfg(flags, name='InDetGlobalChi2Fitter', **kwargs) :
         InDetRotCreator = acc.popToolsAndMerge(InDetRotCreatorCfg(flags, **pix_cluster_on_track_args))
         kwargs.setdefault('RotCreatorTool', InDetRotCreator)
 
-    if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.Tracking.doRefit:
+    if 'BroadRotCreatorTool' not in kwargs:
         InDetBroadRotCreator = acc.popToolsAndMerge(InDetBroadRotCreatorCfg(flags, **pix_cluster_on_track_args))
         kwargs.setdefault('BroadRotCreatorTool', InDetBroadRotCreator)
 
@@ -730,12 +730,6 @@ def InDetGlobalChi2FitterCfg(flags, name='InDetGlobalChi2Fitter', **kwargs) :
     if flags.InDet.useBroadClusterErrors and not flags.InDet.doDBMstandalone:
         kwargs.setdefault('RecalibrateSilicon', False)
 
-    if flags.InDet.Tracking.doRefit:
-        kwargs.setdefault('RecalibrateSilicon', False)
-        kwargs.setdefault('BroadRotCreatorTool', None)
-        kwargs.setdefault('ReintegrateOutliers', False)
-        kwargs.setdefault('RecalibrateTRT', False)
-
     if flags.InDet.doRobustReco:
         kwargs.setdefault('OutlierCut', 10.0)
         kwargs.setdefault('TrackChi2PerNDFCut', 20)
@@ -746,7 +740,7 @@ def InDetGlobalChi2FitterCfg(flags, name='InDetGlobalChi2Fitter', **kwargs) :
     if flags.Beam.Type == 'cosmics' or flags.InDet.Tracking.doBeamHalo:
         kwargs.setdefault('Acceleration', False)
 
-    if flags.InDet.materialInteractions and not flags.BField.solenoidOn:
+    if flags.InDet.Tracking.materialInteractions and not flags.BField.solenoidOn:
         kwargs.setdefault('Momentum', 1000.*Units.MeV)
 
     InDetGlobalChi2FitterBase = acc.popToolsAndMerge(InDetGlobalChi2FitterBaseCfg(flags, name=name, **kwargs))
@@ -866,7 +860,7 @@ def InDetGlobalChi2FitterTRTCfg(flags, name='InDetGlobalChi2FitterTRT', **kwargs
     kwargs.setdefault("RecalculateDerivatives", False)
     kwargs.setdefault("TRTExtensionCuts", True)
     kwargs.setdefault("TrackChi2PerNDFCut", 999999)
-    kwargs.setdefault("Momentum", 1000.*Units.MeV   if flags.InDet.materialInteractions and not flags.BField.solenoidOn else  0)
+    kwargs.setdefault("Momentum", 1000.*Units.MeV   if flags.InDet.Tracking.materialInteractions and not flags.BField.solenoidOn else  0)
     kwargs.setdefault("OutlierCut", 5)
     kwargs.setdefault("MaxOutliers", 99 if flags.InDet.doRobustReco or flags.Beam.Type == 'cosmics' else 10)
     kwargs.setdefault("ReintegrateOutliers", False)
@@ -897,7 +891,7 @@ def InDetGlobalChi2FitterLowPtCfg(flags, name='InDetGlobalChi2FitterLowPt', **kw
         InDetRotCreator = acc.popToolsAndMerge(InDetRotCreatorCfg(flags, **pix_cluster_on_track_args))
         kwargs.setdefault('RotCreatorTool', InDetRotCreator)
 
-    if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.Tracking.doRefit:
+    if 'BroadRotCreatorTool' not in kwargs:
         InDetBroadRotCreator = acc.popToolsAndMerge(InDetBroadRotCreatorCfg(flags, **pix_cluster_on_track_args))
         kwargs.setdefault('BroadRotCreatorTool', InDetBroadRotCreator)
 
@@ -1038,9 +1032,9 @@ def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', **kw
         InDetTRT_RoadMaker = acc.popToolsAndMerge(InDetTRT_RoadMakerCfg(flags))
         kwargs.setdefault("RoadTool", InDetTRT_RoadMaker)
 
-    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("TRT_ClustersContainer", "TRT_DriftCircles")
+    kwargs.setdefault("TrtManagerLocation", "TRT")
+    kwargs.setdefault("UseDriftRadius", not flags.InDet.Tracking.noTRTTiming)
     kwargs.setdefault("MinNumberDriftCircles", flags.InDet.Tracking.Pass.minTRTonTrk)
     kwargs.setdefault("ScaleHitUncertainty", 2)
     kwargs.setdefault("RoadWidth", 20.)
diff --git a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
index 858133c51afa..b21d12637203 100644
--- a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py
@@ -316,15 +316,6 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", **
     #
     # --- load InnerDetector TrackSelectionTool
     #
-    if flags.GeoModel.Run == "Run1":
-        prob1 = flags.InDet.pixelClusterSplitProb1_run1
-        prob2 = flags.InDet.pixelClusterSplitProb2_run1
-        nhitsToAllowSplitting = 8
-    else:
-        prob1 = flags.InDet.pixelClusterSplitProb1
-        prob2 = flags.InDet.pixelClusterSplitProb2
-        nhitsToAllowSplitting = 9
-
     if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi:
         AmbiTrackSelectionTool = CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool
     else:
@@ -343,15 +334,15 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", **
     kwargs.setdefault("minTRTHits"      , 0) # used for Si only tracking !!!
     kwargs.setdefault("UseParameterization" , False)
     kwargs.setdefault("Cosmics"             , flags.Beam.Type == 'cosmics' and flags.InDet.Tracking.Pass.extension != "DBM")
-    kwargs.setdefault("doPixelSplitting"    , flags.InDet.doPixelClusterSplitting and flags.InDet.Tracking.Pass.extension != "DBM")
+    kwargs.setdefault("doPixelSplitting"    , flags.InDet.Tracking.doPixelClusterSplitting and flags.InDet.Tracking.Pass.extension != "DBM")
 
     if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi:
-        kwargs.setdefault("sharedProbCut"             , prob1)
-        kwargs.setdefault("sharedProbCut2"            , prob2)
-        kwargs.setdefault("minSiHitsToAllowSplitting" , nhitsToAllowSplitting)
+        kwargs.setdefault("sharedProbCut"             , flags.InDet.Tracking.pixelClusterSplitProb1)
+        kwargs.setdefault("sharedProbCut2"            , flags.InDet.Tracking.pixelClusterSplitProb2)
+        kwargs.setdefault("minSiHitsToAllowSplitting" , 8 if flags.GeoModel.Run == "Run1" else 9)
         kwargs.setdefault("minUniqueSCTHits"          , 4)
         kwargs.setdefault("minTrackChi2ForSharedHits" , 3)
-        kwargs.setdefault("minPtSplit"                , flags.InDet.pixelClusterSplitMinPt)       #Only allow split clusters on track withe pt greater than this MeV
+        kwargs.setdefault("minPtSplit"                , 1000)       #Only allow split clusters on track withe pt greater than this MeV
         kwargs.setdefault("maxSharedModulesInROI"     , 3)     #Maximum number of shared modules for tracks in ROI
         kwargs.setdefault("minNotSharedInROI"         , 2)     #Minimum number of unique modules for tracks in ROI
         kwargs.setdefault("minSiHitsToAllowSplittingInROI" , 8)  #Minimum number of Si hits to allow splittings for tracks in ROI
@@ -401,26 +392,15 @@ def DenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name="InDetAmbiguityS
     kwargs.setdefault("ScoringTool", InDetAmbiScoringTool)
 
     from InDetConfig.SiliconPreProcessing import NnPixelClusterSplitProbToolCfg
-    kwargs.setdefault("SplitProbTool", acc.popToolsAndMerge(NnPixelClusterSplitProbToolCfg(flags)) if flags.InDet.doPixelClusterSplitting else "")
+    kwargs.setdefault("SplitProbTool", acc.popToolsAndMerge(NnPixelClusterSplitProbToolCfg(flags)) if flags.InDet.Tracking.doPixelClusterSplitting else "")
 
     kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
     kwargs.setdefault("AssociationToolNotGanged", acc.popToolsAndMerge(TC.PRDtoTrackMapToolCfg()))
     kwargs.setdefault("AssociationMapName", f"PRDToTrackMap{flags.InDet.Tracking.Pass.extension}")
 
-    if flags.GeoModel.Run == "Run1":
-        prob1 = flags.InDet.pixelClusterSplitProb1_run1
-        prob2 = flags.InDet.pixelClusterSplitProb2_run1
-    else:
-        prob1 = flags.InDet.pixelClusterSplitProb1
-        prob2 = flags.InDet.pixelClusterSplitProb2
-
     if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi:
-        kwargs.setdefault("sharedProbCut", prob1)
-        kwargs.setdefault("sharedProbCut2", prob2)
-        if flags.InDet.Tracking.Pass.extension == "":
-            kwargs.setdefault("SplitClusterMap_old", "")
-        elif flags.InDet.Tracking.Pass.extension == "Disappearing":
-            kwargs.setdefault("SplitClusterMap_old", "SplitClusterAmbiguityMap")
+        kwargs.setdefault("sharedProbCut", flags.InDet.Tracking.pixelClusterSplitProb1)
+        kwargs.setdefault("sharedProbCut2", flags.InDet.Tracking.pixelClusterSplitProb2)
         kwargs.setdefault("SplitClusterMap_new", f"SplitClusterAmbiguityMap{flags.InDet.Tracking.Pass.extension}")
 
     kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer)
@@ -544,7 +524,7 @@ def SimpleAmbiguityProcessorToolCfg(flags, name = "InDetAmbiguityProcessor", Clu
     kwargs.setdefault("caloSeededBrem", flags.InDet.Tracking.doCaloSeededBrem and flags.Detector.EnableCalo and flags.InDet.Tracking.Pass.extension == "")
     kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem)
     kwargs.setdefault("RefitPrds", True)
-    kwargs.setdefault("MatEffects", flags.InDet.materialInteractionsType if flags.InDet.materialInteractions else 0)
+    kwargs.setdefault("MatEffects", flags.InDet.Tracking.materialInteractionsType if flags.InDet.Tracking.materialInteractions else 0)
 
     if flags.InDet.Tracking.Pass.extension == "Pixel" or flags.InDet.Tracking.Pass.extension == "DBM":
         kwargs.setdefault("SuppressHoleSearch", True)
-- 
GitLab