From e44aeb5476f40ff7b9d48cc188326e736fe3f47d Mon Sep 17 00:00:00 2001
From: Benjamin Philip Kerridge <benjamin.kerridge@cern.ch>
Date: Fri, 4 Dec 2020 10:37:29 +0000
Subject: [PATCH] FTF Config migration to ConfigSettings. Began to use
 ConfigSettings in place of InDetTrigSliceSettings

---
 .../python/ConfiguredNewTrackingTrigCuts.py   |   3 +-
 .../python/InDetTrigSliceSettings.py          |  75 +-
 .../python/InDetTrigTrackingCuts.py           | 135 ++--
 .../python/TrigFastTrackFinder_Config.py      |  87 ++-
 .../TrigInDetConfig/python/ConfigSettings.py  | 734 ++++++++++++++----
 .../TrigInDetConfig/python/InDetSetup.py      |  24 +-
 .../python/TrigTrackingCutFlags.py            |  32 +-
 .../TrigEDMConfig/python/TriggerEDMRun3.py    |   9 +-
 .../Bjet/BjetTrackingConfiguration.py         |   8 -
 9 files changed, 803 insertions(+), 304 deletions(-)

diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/ConfiguredNewTrackingTrigCuts.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/ConfiguredNewTrackingTrigCuts.py
index 1835a9e49e0..a34eca6206c 100644
--- a/InnerDetector/InDetExample/InDetTrigRecExample/python/ConfiguredNewTrackingTrigCuts.py
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/ConfiguredNewTrackingTrigCuts.py
@@ -17,7 +17,7 @@ del _sharedcuts
 
 class ConfiguredNewTrackingTrigCuts(InDetTrigTrackingCuts):
   pass
-  
+
 if not 'EFIDTrackingCuts' in globals():
   EFIDTrackingCuts = ConfiguredNewTrackingTrigCuts("Offline")
   EFIDTrackingCutsCosmics = ConfiguredNewTrackingTrigCuts("Cosmics")
@@ -25,4 +25,5 @@ if not 'EFIDTrackingCuts' in globals():
   EFIDTrackingCutsLowPt = ConfiguredNewTrackingTrigCuts("LowPt")
   EFIDTrackingCutsTRT = ConfiguredNewTrackingTrigCuts("TRT")
   EFIDTrackingCutsHeavyIon = ConfiguredNewTrackingTrigCuts("HeavyIon")
+  EFIDTrackingCutLRT = ConfiguredNewTrackingTrigCuts("LRT")
   L2IDTrackingCuts = EFIDTrackingCuts
diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigSliceSettings.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigSliceSettings.py
index 34dda093fdb..8ba1625c9fe 100644
--- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigSliceSettings.py
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigSliceSettings.py
@@ -22,13 +22,13 @@ class InDetTrigSliceSettingsDB:
   other InDetTrigRecExample files are included)
   for example a preExec line
   from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings; InDetTrigSliceSettings[('pTmin','bjetVtx')] = 5000.
-  allows testing the bjetVtx instance with as different reconstruction threshold, as in the Run 2 configureation 
+  allows testing the bjetVtx instance with as different reconstruction threshold, as in the Run 2 configureation
   """
   def __init__(self):
     from AthenaCommon.SystemOfUnits import GeV
     _slices = ['electron','photon',
                'muon', 'muonFS', 'muonCore', 'muonLate', 'muonIso',
-               'tau', 'tauCore', 'tauIso', 
+               'tau', 'tauCore', 'tauIso',
                # nonsense duplicated tau instances
                # "tauId", "tauEF", "tauTrk", "tauTrkTwo",
                'bjet', 'bjetVtx',
@@ -42,11 +42,12 @@ class InDetTrigSliceSettingsDB:
                'hadCalib', 'fullScan500',       #hadCalib instances
                'heavyIon', 'heavyIonFS',   #RoI and FS instances for the heavy ion
                'beamSpot', 'cosmics',
-               'bphysHighPt'
+               'bphysHighPt',
+               'electronLRT', 'muonLRT', 'tauLRT', 'fullScanLRT', 'bjetLRT'
                ]
 
     self.db = {}
-    
+
     ptmin =   {}
     etahalf = {}
     phihalf = {}
@@ -101,18 +102,21 @@ class InDetTrigSliceSettingsDB:
     d0seedmax['cosmics'] = 1000.0
     d0seedppsmax['cosmics'] = 1000.0
 
+    for i in ["fullScanLRT", "electronLRT", "muonLRT", "tauLRT", "bjetLRT"]:
+        d0seedmax[i] = 300.
+
     self.db['d0SeedMax']=d0seedmax
     self.db['d0SeedPPSMax']=d0seedppsmax
 
     for i in _slices:
-      dozfinder[i] = False 
-      dotrigindettrack[i] = False 
+      dozfinder[i] = False
+      dotrigindettrack[i] = False
     dozfinder['beamSpot'] = True
     self.db['doZFinder']=dozfinder
     self.db['doTrigInDetTrack']=dotrigindettrack
 
     for i in _slices:
-      doresmon[i] = False 
+      doresmon[i] = False
     doresmon['muon'] = True
     self.db['doResMon']=doresmon
 
@@ -133,7 +137,7 @@ class InDetTrigSliceSettingsDB:
       docloneremoval[i] = True
     docloneremoval['electron'] = False
     self.db['doCloneRemoval'] = docloneremoval
-    
+
 
 
     for i in _slices:
@@ -144,12 +148,14 @@ class InDetTrigSliceSettingsDB:
     checkseedredundancy['muonLate'] = True
     checkseedredundancy['muonCore'] = True
     # muonIso instance has default seed redundency of False
-  
+
     checkseedredundancy['bphysics'] = True
     checkseedredundancy['beamSpot'] = True
+    checkseedredundancy["fullScanLRT"] = True
+
     self.db['checkRedundantSeeds'] = checkseedredundancy
 
-    
+
     for i in _slices:
       drdoubletmax[i] = 270
       seedradbinwidth[i] = 2
@@ -195,6 +201,11 @@ class InDetTrigSliceSettingsDB:
       'tauIso'    : 0.4,
       'beamSpot'  : 3.0,
       'bjetVtx'   : 0.2,
+      'electronLRT': 0.1,
+      'muonLRT': 0.1,
+      'tauLRT': 0.4,
+      'fullScanLRT': 3,
+      'bjetLRT': 0.2
       }
     self.db['etaHalfWidth']=etahalf
 
@@ -228,6 +239,11 @@ class InDetTrigSliceSettingsDB:
       'tauIso'    : 0.4,
       'beamSpot'  : 3.14159,
       'bjetVtx'   : 0.201,
+      'electronLRT': 0.1,
+      'muonLRT': 0.1,
+      'tauLRT': 0.4,
+      'fullScanLRT': 3.14159,
+      'bjetLRT': 0.201
       }
     self.db['phiHalfWidth']=phihalf
 
@@ -246,6 +262,7 @@ class InDetTrigSliceSettingsDB:
     fullscan['heavyIonFS']=True
     fullscan['minBias400']=True
     fullscan['beamSpot']  =True
+    fullscan['fullScanLRT'] = True
 
     self.db['doFullScan']=fullscan
 
@@ -262,6 +279,44 @@ class InDetTrigSliceSettingsDB:
     monptmin['muon'] = 12 * GeV
     self.db['monPtMin']=monptmin
 
+    #TRT extension
+    dotrt = {}
+    for i in _slices:
+      dotrt[i] = False
+
+    dotrt["tauIso"] = True
+    dotrt["tauCore"] = True
+    dotrt["tau"] = True
+    dotrt["electron"] = True
+    dotrt["tauLRT"] = True
+
+    self.db['doTRT'] = dotrt
+
+
+    #d0 track max, z0 track max and usepixelsp
+    d0trackmax = {}
+    z0trackmax = {}
+    usepixelsp = {}
+
+    for i in _slices:
+      d0trackmax[i] = 20.
+      z0trackmax[i] = 300.
+      usepixelsp[i] = True
+
+    d0trackmax["cosmics"] = 1000.
+    z0trackmax["cosmics"] = 1000.
+
+    for i in ["fullScanLRT", "electronLRT", "muonLRT", "tauLRT", "bjetLRT"]:
+      d0trackmax[i] = 300.
+      z0trackmax[i] = 500.
+      usepixelsp[i] = False
+
+
+
+    self.db["d0TrackMax"] = d0trackmax
+    self.db["z0TrackMax"] = z0trackmax
+    self.db["usePixelSP"] = usepixelsp
+
   def __getitem__(self, p):
     (quantity, slice) = p
     v = None
diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigTrackingCuts.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigTrackingCuts.py
index 3eb6db3aa4d..23ae108fec5 100755
--- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigTrackingCuts.py
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigTrackingCuts.py
@@ -5,7 +5,6 @@ from __future__ import print_function
 class InDetTrigTrackingCuts :
   """
   A copy of ConfiguredNewtrackingCuts from InDetRecExample used by the trigger.
-  
   """
 
 
@@ -22,13 +21,13 @@ class InDetTrigTrackingCuts :
     from AthenaCommon.DetFlags import DetFlags
     from AthenaCommon.BeamFlags import jobproperties
     from RecExConfig.RecFlags import rec
-    
+
     # --- put defaults to run Pixel/SCT/TRT
     self.__usePixel = DetFlags.haveRIO.pixel_on()
     self.__useSCT   = DetFlags.haveRIO.SCT_on()
     self.__useTRT   = DetFlags.haveRIO.TRT_on()
 
-    # --- first set kinematic defaults 
+    # --- first set kinematic defaults
     self.__minPT                   = 0.500 * Units.GeV
     self.__maxPT                   = None            # off !
     self.__maxEta                  = 2.7
@@ -37,13 +36,13 @@ class InDetTrigTrackingCuts :
     self.__minClusters             = 7                # Igor 6, was 7
     self.__minSiNotShared          = 5
     self.__maxShared               = 2
-    self.__minPixel                = 0                
+    self.__minPixel                = 0
     self.__maxHoles                = 3                # was 5
     self.__maxPixelHoles           = 2                # was 5
     self.__maxSctHoles             = 3                # was 5
     self.__maxDoubleHoles          = 1                # was 2
     self.__maxPrimaryImpact        = 10.0 * Units.mm  # low lumi
-    self.__maxZImpact              = 320. * Units.mm    
+    self.__maxZImpact              = 320. * Units.mm
     if self.__indetflags.doRobustReco():
       self.__minClusters             = 7                # Igor 6, was 7
       self.__maxHoles                = 5                # was 5
@@ -52,7 +51,7 @@ class InDetTrigTrackingCuts :
       self.__maxDoubleHoles          = 4                # was 2
       self.__maxZImpact              = 500.0 * Units.mm
 
-    # --- seeding 
+    # --- seeding
     self.__seedFilterLevel         = 1
     self.__maxdImpactPPSSeeds      = 1.7
     self.__maxdImpactSSSSeeds      = 1000.0
@@ -61,11 +60,11 @@ class InDetTrigTrackingCuts :
     self.__minPTBrem               = 1. * Units.GeV # off
     self.__phiWidthBrem            = 0.3 # default is 0.3
     self.__etaWidthBrem            = 0.2 # default is 0.3
-    
+
     # --- this is for the TRT-extension + segements and backtracking
     self.__minTRTonTrk               = 9
     self.__useParameterizedTRTCuts   = False
-    self.__useNewParameterizationTRT = False 
+    self.__useNewParameterizationTRT = False
 
     # --- general pattern cuts for NewTracking
     self.__radMax                  = 600. * Units.mm # default R cut for SP in SiSpacePointsSeedMaker
@@ -82,7 +81,7 @@ class InDetTrigTrackingCuts :
     else:
       self.__SecondarynHolesMax      = 1
       self.__SecondarynHolesGapMax   = 1
-    
+
     # --- defaults for secondary tracking
     self.__maxSecondaryImpact      = 100.0 * Units.mm # low lumi
     self.__minSecondaryClusters    = 4
@@ -107,15 +106,15 @@ class InDetTrigTrackingCuts :
     self.__SecondaryXi2max         = 15.0
     self.__SecondaryXi2maxNoAdd    = 50.0
     if rec.Commissioning():
-      self.__SecondaryXi2max         = 50.0 
-      self.__SecondaryXi2maxNoAdd    = 100.0 
+      self.__SecondaryXi2max         = 50.0
+      self.__SecondaryXi2maxNoAdd    = 100.0
 
-    # --- settings for segment finder 
+    # --- settings for segment finder
     self.__TRTSegFinderPtBins        = 70
     self.__maxSegTRTShared           = 0.3
     self.__excludeUsedTRToutliers    = False
 
-    
+
     # --- TRT only
     self.__minTRTonlyMinPt         = 0.5 * Units.GeV
     self.__minTRTonly              = 15
@@ -167,10 +166,10 @@ class InDetTrigTrackingCuts :
     if self.__indetflags.cutLevel() >= 7:
       # --- more BackTracking cuts
       self.__minSecondaryTRTonTrk      = 15               # let's not allow for short overlap tracks
-      self.__maxSecondaryHoles         = 1                # tighten hole cuts 
-      self.__maxSecondaryPixelHoles    = 1                # tighten hole cuts 
-      self.__maxSecondarySCTHoles      = 1                # tighten hole cuts 
-      self.__maxSecondaryDoubleHoles   = 0                # tighten hole cuts 
+      self.__maxSecondaryHoles         = 1                # tighten hole cuts
+      self.__maxSecondaryPixelHoles    = 1                # tighten hole cuts
+      self.__maxSecondarySCTHoles      = 1                # tighten hole cuts
+      self.__maxSecondaryDoubleHoles   = 0                # tighten hole cuts
       self.__minSecondaryTRTPrecFrac   = 0.5              # default for all tracking now, as well for BackTracking
       self.__rejectShortExtensions     = True             # fall back onto segment if TRT extension is short
       self.__SiExtensionCuts           = True             # use cuts from ambi scoring already early
@@ -210,21 +209,21 @@ class InDetTrigTrackingCuts :
 
     if self.__indetflags.cutLevel() >= 17:
       # Tuning of the search road and strip seed IP in the track finder.
-      # Designed to speed up reconstruction at minimal performance impact. 
+      # Designed to speed up reconstruction at minimal performance impact.
       self.__roadWidth              = 12
       self.__maxdImpactSSSSeeds     = 5.0 * Units.mm
       self.__maxZImpact              = 200
 
     if self.__indetflags.cutLevel() >= 18:
-      # Further tuning of the pattern recognition designed to 
-      # speed up reconstruction compared to 17 with minimal additional 
-      # impact. Kept as separate level pending cross-check of 
+      # Further tuning of the pattern recognition designed to
+      # speed up reconstruction compared to 17 with minimal additional
+      # impact. Kept as separate level pending cross-check of
       # seed confirmation robustness with end-of-run-3 radiation
-      # damage. 
+      # damage.
       self.__keepAllConfirmedPixelSeeds  = True
       self.__maxSeedsPerSP_Pixels          = 1
       self.__maxSeedsPerSP_Strips          = 5
-    
+
     if self.__indetflags.cutLevel() >= 19:
       # Calo cluster Et for RoI seeded backtracking for TRT segment finding
       # and for TRT-si extensions
@@ -239,7 +238,7 @@ class InDetTrigTrackingCuts :
     if mode == "SLHC":
       self.__extension        = "SLHC"
       # --- higher pt cut and impact parameter cut
-      self.__minPT                   = 1.0 * Units.GeV      
+      self.__minPT                   = 1.0 * Units.GeV
       self.__maxPrimaryImpact        = 2.0 * Units.mm # highlumi
       # --- cluster cuts
       self.__minClusters             = 9
@@ -249,7 +248,7 @@ class InDetTrigTrackingCuts :
       self.__maxPixelHoles           = self.__maxHoles
       self.__maxSctHoles             = self.__maxHoles
       self.__maxDoubleHoles          = 2
-      # --- also tighten patter cuts 
+      # --- also tighten patter cuts
       self.__radMax                  = 1000. * Units.mm
       self.__seedFilterLevel         = 1
       self.__nHolesMax               = self.__maxHoles
@@ -264,25 +263,25 @@ class InDetTrigTrackingCuts :
       self.__minClusters = 3
     elif ( DetFlags.haveRIO.SCT_on() and not DetFlags.haveRIO.pixel_on() ):
       self.__minClusters = 6
-      
-    # --- change defaults for low pt tracking  
-    if mode == "LowPt": 
+
+    # --- change defaults for low pt tracking
+    if mode == "LowPt":
       self.__extension        = "LowPt" # this runs parallel to NewTracking
       self.__maxPT            = self.__minPT + 0.3 * Units.GeV # some overlap
       self.__minPT            = 0.100 * Units.GeV
       self.__minClusters      = 5
-      self.__minPixel         = 1   # At least one pixel hit for low-pt (ass seeded on pixels!)                
+      self.__minPixel         = 1   # At least one pixel hit for low-pt (ass seeded on pixels!)
       self.__maxHoles         = 4
       self.__maxPixelHoles    = self.__maxHoles # --> no effect
       self.__maxSctHoles      = self.__maxHoles # --> no effect
       self.__maxDoubleHoles   = 2
       self.__radMax           = 600. * Units.mm # restrivt to pixels
-    # --- change defauls for beam gas tracking 
+    # --- change defauls for beam gas tracking
     if mode == "BeamGas":
       self.__extension        = "BeamGas" # this runs parallel to NewTracking
       self.__minPT            = 0.500 * Units.GeV
-      self.__maxPrimaryImpact = 300. * Units.mm 
-      self.__maxZImpact       = 2000. * Units.mm 
+      self.__maxPrimaryImpact = 300. * Units.mm
+      self.__maxZImpact       = 2000. * Units.mm
       self.__minClusters      = 6
       self.__maxHoles         = 3
       self.__maxPixelHoles    = self.__maxHoles # --> no effect
@@ -291,8 +290,8 @@ class InDetTrigTrackingCuts :
     # --- changes for cosmics
     if mode == "Cosmics":
       self.__minPT            = 0.500 * Units.GeV
-      self.__maxPrimaryImpact = 1000. * Units.mm 
-      self.__maxZImpact       = 10000. * Units.mm 
+      self.__maxPrimaryImpact = 1000. * Units.mm
+      self.__maxZImpact       = 10000. * Units.mm
       self.__minClusters      = 4
       self.__maxHoles         = 3
       self.__maxPixelHoles    = self.__maxHoles # --> no effect
@@ -317,11 +316,11 @@ class InDetTrigTrackingCuts :
       self.__maxDoubleHoles   = 0
       self.__nHolesMax        = self.__maxHoles
       self.__nHolesGapMax     = self.__maxHoles
-      self.__Xi2max           = 6. 
+      self.__Xi2max           = 6.
       self.__Xi2maxNoAdd      = 10.
       self.__seedFilterLevel  = 1
       self.__radMax           = 600. * Units.mm # restrict to pixels + first SCT layer
-      self.__useTRT           = False 
+      self.__useTRT           = False
     # --- changes for Pixel segments
     if mode == "Pixel":
       self.__extension        = "Pixel" # this runs parallel to NewTracking
@@ -335,13 +334,13 @@ class InDetTrigTrackingCuts :
       self.__maxShared        = 0
       self.__seedFilterLevel  = 2
       self.__nHolesMax        = self.__maxHoles
-      self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+      self.__nHolesGapMax     = 2*self.__maxDoubleHoles
       self.__useSCT           = False
-      self.__useTRT           = False 
+      self.__useTRT           = False
       if self.__indetflags.doCosmics():
         self.__minPT            = 0.500 * Units.GeV
-        self.__maxPrimaryImpact = 1000. * Units.mm 
-        self.__maxZImpact       = 10000. * Units.mm 
+        self.__maxPrimaryImpact = 1000. * Units.mm
+        self.__maxZImpact       = 10000. * Units.mm
         self.__maxHoles         = 3
         self.__maxPixelHoles    = self.__maxHoles # --> no effect
         self.__maxSctHoles      = self.__maxHoles # --> no effect
@@ -349,7 +348,7 @@ class InDetTrigTrackingCuts :
         self.__roadWidth        = 60.
         self.__seedFilterLevel  = 3 # 2 ?
         self.__nHolesMax        = self.__maxHoles
-        self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+        self.__nHolesGapMax     = 2*self.__maxDoubleHoles
         self.__Xi2max           = 60.0
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
@@ -370,13 +369,13 @@ class InDetTrigTrackingCuts :
       self.__maxShared        = 0
       self.__seedFilterLevel  = 2
       self.__nHolesMax        = self.__maxHoles
-      self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+      self.__nHolesGapMax     = 2*self.__maxDoubleHoles
       self.__usePixel         = False
-      self.__useTRT           = False 
+      self.__useTRT           = False
       if self.__indetflags.doCosmics():
         self.__minPT            = 0.500 * Units.GeV
-        self.__maxPrimaryImpact = 1000. * Units.mm 
-        self.__maxZImpact       = 10000. * Units.mm 
+        self.__maxPrimaryImpact = 1000. * Units.mm
+        self.__maxZImpact       = 10000. * Units.mm
         self.__maxHoles         = 3
         self.__maxPixelHoles    = self.__maxHoles # --> no effect
         self.__maxSctHoles      = self.__maxHoles # --> no effect
@@ -384,11 +383,11 @@ class InDetTrigTrackingCuts :
         self.__roadWidth        = 60.
         self.__seedFilterLevel  = 3 # 2 ?
         self.__nHolesMax        = self.__maxHoles
-        self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+        self.__nHolesGapMax     = 2*self.__maxDoubleHoles
         self.__Xi2max           = 60.0
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
-    # --- mode for SCT and TRT 
+    # --- mode for SCT and TRT
     if mode == "SCTandTRT":
       self.__extension        = "SCTandTRT" # this runs parallel to NewTracking
       self.__minPT            = 0.5 * Units.GeV
@@ -401,13 +400,13 @@ class InDetTrigTrackingCuts :
       self.__maxShared        = 0
       self.__seedFilterLevel  = 2
       self.__nHolesMax        = self.__maxHoles
-      self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+      self.__nHolesGapMax     = 2*self.__maxDoubleHoles
       self.__usePixel         = False
-      self.__useTRT           = True 
+      self.__useTRT           = True
       if self.__indetflags.doCosmics():
         self.__minPT            = 0.500 * Units.GeV
-        self.__maxPrimaryImpact = 1000. * Units.mm 
-        self.__maxZImpact       = 10000. * Units.mm 
+        self.__maxPrimaryImpact = 1000. * Units.mm
+        self.__maxZImpact       = 10000. * Units.mm
         self.__maxHoles         = 3
         self.__maxPixelHoles    = self.__maxHoles # --> no effect
         self.__maxSctHoles      = self.__maxHoles # --> no effect
@@ -415,7 +414,7 @@ class InDetTrigTrackingCuts :
         self.__roadWidth        = 60.
         self.__seedFilterLevel  = 3 # 2 ?
         self.__nHolesMax        = self.__maxHoles
-        self.__nHolesGapMax     = 2*self.__maxDoubleHoles      
+        self.__nHolesGapMax     = 2*self.__maxDoubleHoles
         self.__Xi2max           = 60.0
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
@@ -426,6 +425,25 @@ class InDetTrigTrackingCuts :
   #      self.__maxDoubleHoles          = 4               # was 2
   #      self.__maxPrimaryImpact        = 50.0 * Units.mm # low lumi
   #      self.__maxZImpact              = 500.0 * Units.mm
+    if mode == "LRT":
+      self.__minClusters             = 8
+      self.__minSiNotShared          = 6
+      self.__maxShared               = 1
+      self.__maxHoles                = 2
+      self.__maxPixelHoles           = 1
+      self.__maxSctHoles             = 1
+      self.__maxDoubleHoles          = 0
+      self.__maxPrimaryImpact        = 300.0 * Units.mm
+      self.__maxZImpact              = 500. * Units.mm
+      self.__roadWidth               = 5.
+      self.__seedFilterLevel         = 1
+      self.__nHolesMax               = self.__maxHoles
+      self.__nHolesGapMax            = 1
+      self.__Xi2max                  = 9.
+      self.__Xi2maxNoAdd             = 25.0
+      self.__nWeightedClustersMin    = 8
+      self.__doZBoundary             = True
+      self.__maxdImpactSSSSeeds      = 300.0
 
 
 # ----------------------------------------------------------------------------
@@ -469,7 +487,7 @@ class InDetTrigTrackingCuts :
     return self.__minClusters
 
   def minPixel( self ) :
-    return self.__minPixel  
+    return self.__minPixel
 
   def minSecondaryClusters( self ) :
     return self.__minSecondaryClusters
@@ -506,7 +524,7 @@ class InDetTrigTrackingCuts :
 
   def maxDoubleHoles( self ) :
     return self.__maxDoubleHoles
-    
+
   def maxSecondaryDoubleHoles( self ) :
     return self.__maxSecondaryDoubleHoles
 
@@ -548,7 +566,7 @@ class InDetTrigTrackingCuts :
 
   def Xi2max( self ) :
     return self.__Xi2max
-  
+
   def Xi2maxNoAdd( self ) :
     return self.__Xi2maxNoAdd
 
@@ -560,12 +578,12 @@ class InDetTrigTrackingCuts :
 
   def SecondaryXi2max( self ) :
     return self.__SecondaryXi2max
-  
+
   def SecondaryXi2maxNoAdd( self ) :
     return self.__SecondaryXi2maxNoAdd
 
   def nWeightedClustersMin( self ) :
-    return self.__nWeightedClustersMin 
+    return self.__nWeightedClustersMin
 
   def maxdImpactPPSSeeds( self ) :
     return self.__maxdImpactPPSSeeds
@@ -575,7 +593,7 @@ class InDetTrigTrackingCuts :
 
   def usePixel( self ) :
     return self.__usePixel
-  
+
   def useSCT( self ) :
     return self.__useSCT
 
@@ -655,4 +673,3 @@ class InDetTrigTrackingCuts :
       print ('* min TRT only min pt         :  ', self.__minTRTonlyMinPt, ' MeV')
       print ('*')
     print ('************************************************************************************')
-
diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py
index 189943c2024..05c345cf653 100755
--- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py
+++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py
@@ -39,7 +39,7 @@ class TrigFastTrackFinderMonitoring(GenericMonitoringTool):
     def addDataErrorHistograms(self):
         self.defineHistogram('roi_lastStageExecuted',path='EXPERT',type='TH1F',title="Last Step Successfully Executed", xbins = 8 , xmin=-0.5, xmax=7.5,
                              xlabels=["Start","GetRoI","GetSPs","ZFinder","Triplets","TrackMaker","TrackFitter","TrackConverter"])
-   
+
     def addTimingHistograms(self, type):
         if type=='FS' or type=='JetFS' or type=='FullScan' or type=='fullScan':
             self.defineHistogram('roi_nSPs, TIME_PattReco',   path='EXPERT',type='TH2F',title="PattReco time; nSPs",    xbins = 200, xmin=0.0, xmax=200000.0, ybins = 100, ymin=0.0, ymax=40000.0)
@@ -168,55 +168,62 @@ remap  = {
     "minBias"  : "minBias400"
 }
 
+lrtSliceNames = ["electronLRT", "muonLRT", "tauLRT", "bjetLRT", "fullScanLRT"]
+
 class TrigFastTrackFinderBase(TrigFastTrackFinder):
     __slots__ = []
-    def __init__(self, name, type):
+    def __init__(self, name, slice_name):
         TrigFastTrackFinder.__init__(self,name)
 
         #Remapping should be now covered by SliceConfigurationSetting
-        remapped_type = type
+        remapped_type = slice_name
 
-        #There are still some places which relies on this remapping such as:         
+        #There are still some places which relies on this remapping such as:
         #https://gitlab.cern.ch/atlas/athena/-/blob/master/Trigger/TrigTools/TrigInDetConf/python/TrigInDetSequence.py
         #I guess eventually this should be removed
-        if type in remap:
-            remapped_type = remap[type]
-        
+        if slice_name in remap:
+            remapped_type = remap[slice_name]
+
+        isLRT = False
 
-        #Global keys/names for collections 
+        if remapped_type in lrtSliceNames:
+            isLRT = True
+
+
+        #Global keys/names for collections
         from TrigInDetConfig.InDetTrigCollectionKeys import TrigPixelKeys, TrigSCTKeys
 
 
         self.useNewLayerNumberScheme = True
-        
-        self.OutputCollectionSuffix = type
+
+        self.OutputCollectionSuffix = slice_name
         from AthenaCommon.AppMgr import ToolSvc
 
         numberingTool = TrigL2LayerNumberTool(name = "TrigL2LayerNumberTool_FTF")
         numberingTool.UseNewLayerScheme = self.useNewLayerNumberScheme
         ToolSvc += numberingTool
         self.LayerNumberTool = numberingTool
-        
+
         from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings
 
-        # GPU offloading config begins 
-        
+        # GPU offloading config begins
+
         self.useGPU = False
-        
+
         #if type == "FS" : self.useGPU = True
-        
+
         if self.useGPU :
             from TrigInDetAccelerationTool.TrigInDetAccelerationToolConf import TrigInDetAccelerationTool
             accelTool = TrigInDetAccelerationTool(name = "TrigInDetAccelerationTool_FTF")
             ToolSvc += accelTool
-            
-        
+
+
         # GPU offloading config ends
 
         self.doResMon = InDetTrigSliceSettings[('doResMon',remapped_type)]
 
         # switch between Run-2/3 monitoring
-        self.MonTool = TrigFastTrackFinderMonitoring(type, self.doResMon)
+        self.MonTool = TrigFastTrackFinderMonitoring(slice_name, self.doResMon)
         from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
         self.TrackSummaryTool = InDetTrigFastTrackSummaryTool
 
@@ -233,30 +240,33 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
         spTool.PixelSP_ContainerName = TrigPixelKeys.SpacePoints
         spTool.SCT_SP_ContainerName  = TrigSCTKeys.SpacePoints
         spTool.layerNumberTool = numberingTool
+        spTool.UsePixelSpacePoints = InDetTrigSliceSettings[('usePixelSP',remapped_type)]
 
         from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel
         from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT
-      
+
         spTool.RegSelTool_Pixel = makeRegSelTool_Pixel()
         spTool.RegSelTool_SCT   = makeRegSelTool_SCT()
 
+        spTool.UsePixelSpacePoints=InDetTrigSliceSettings[('usePixelSP',remapped_type)]
+
         ToolSvc += spTool
         self.SpacePointProviderTool=spTool
         self.MinHits = 5 #Only process RoI with more than 5 spacepoints
-        
+
         self.Triplet_MinPtFrac = 1
         self.Triplet_nMaxPhiSlice = 53
         if remapped_type=="cosmics":
           self.Triplet_nMaxPhiSlice = 2 #Divide detector in 2 halves for cosmics
-        
+
+        self.LRT_Mode = isLRT
+
         self.Triplet_MaxBufferLength = 3
         self.doSeedRedundancyCheck = InDetTrigSliceSettings[('checkRedundantSeeds',remapped_type)]
         self.Triplet_D0Max        = InDetTrigSliceSettings[('d0SeedMax',remapped_type)]
-        self.Triplet_D0_PPS_Max   = InDetTrigSliceSettings[('d0SeedPPSMax',remapped_type)] 
-        self.TrackInitialD0Max = 20.
-        if remapped_type=='cosmics':
-          self.TrackInitialD0Max = 1000.
-          self.TrackZ0Max   = 1000.
+        self.Triplet_D0_PPS_Max   = InDetTrigSliceSettings[('d0SeedPPSMax',remapped_type)]
+        self.TrackInitialD0Max = InDetTrigSliceSettings[('d0TrackMax',remapped_type)]
+        self.TrackZ0Max = InDetTrigSliceSettings[('z0TrackMax',remapped_type)]
 
         self.TripletDoPSS   = False
         self.pTmin = InDetTrigSliceSettings[('pTmin',remapped_type)]
@@ -281,17 +291,20 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
         from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConditionsSummaryTool
         InDetTrigSiComTrackFinder_FTF.SctSummaryTool = SCT_ConditionsSummaryTool(SCT_ConditionsSetup.instanceName('InDetSCT_ConditionsSummaryToolWithoutFlagged'))
         ToolSvc += InDetTrigSiComTrackFinder_FTF
-        
-        
+
+
         from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCuts
         TrackingCuts = EFIDTrackingCuts
         if remapped_type=="cosmics":
           from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCutsCosmics
           TrackingCuts = EFIDTrackingCutsCosmics
+        if isLRT:
+            from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCutLRT
+            TrackingCuts = EFIDTrackingCutLRT
 
         from SiTrackMakerTool_xk.SiTrackMakerTool_xkConf import InDet__SiTrackMaker_xk
 
-        TrackMaker_FTF = InDet__SiTrackMaker_xk(name = 'InDetTrigSiTrackMaker_FTF_'+type,
+        TrackMaker_FTF = InDet__SiTrackMaker_xk(name = 'InDetTrigSiTrackMaker_FTF_'+slice_name,
                                               RoadTool       = InDetTrigSiDetElementsRoadMaker_FTF,
                                               CombinatorialTrackFinder = InDetTrigSiComTrackFinder_FTF,
                                               pTmin          = InDetTrigSliceSettings[('pTmin',remapped_type)],
@@ -306,9 +319,9 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
                                               UseAssociationTool       = False)
 
         from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
-        if type=='eGamma' and InDetTrigFlags.doBremRecovery():
+        if slice_name=='eGamma' and InDetTrigFlags.doBremRecovery():
           TrackMaker_FTF.useBremModel = True
-  
+
         if remapped_type=="cosmics":
           TrackMaker_FTF.CosmicTrack=True
 
@@ -320,14 +333,14 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
         #theTrigInDetTrackFitter.correctClusterPos = False #Flag to control whether to correct cluster position
         theTrigInDetTrackFitter.correctClusterPos = True  #temporarily to true to improve err(z0) estimates
 
-          
+
 
         from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigRotCreator
         theTrigInDetTrackFitter.ROTcreator = InDetTrigRotCreator
         ToolSvc += theTrigInDetTrackFitter
         self.trigInDetTrackFitter = theTrigInDetTrackFitter
         from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags
-        if type=='eGamma' and InDetTrigFlags.doBremRecovery():
+        if slice_name=='eGamma' and InDetTrigFlags.doBremRecovery():
           theTrigInDetTrackFitterBrem = TrigInDetTrackFitter(name='theTrigInDetTrackFitterBrem',
                                                              doBremmCorrection = True)
           ToolSvc += theTrigInDetTrackFitterBrem
@@ -339,8 +352,8 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
           theTrigZFinder = TrigZFinder( name="TrigZFinder_"+remapped_type )
           theTrigZFinder.NumberOfPeaks = 3
           theTrigZFinder.LayerNumberTool=numberingTool
-          
-          if remapped_type == "beamSpot" : 
+
+          if remapped_type == "beamSpot" :
             theTrigZFinder.TripletMode = 1
             theTrigZFinder.TripletDZ   = 1
             theTrigZFinder.PhiBinSize  = 0.1
@@ -355,8 +368,8 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder):
 
         TrackMaker_FTF.InputClusterContainerName = ""
         TrackMaker_FTF.InputHadClusterContainerName = ""
-        
-        
+
+
         from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
         self.TrackSummaryTool = InDetTrigFastTrackSummaryTool
 
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py
index cebb1da4659..2b7f52f1bdf 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py
@@ -1,6 +1,6 @@
 #  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 from __future__ import print_function
- 
+
 __author__ = "Mark Sutton, Matous Vozak"
 __doc__    = "ConfigSettings"
 __all__    = [ "getInDetTrigConfig" ]
@@ -16,7 +16,7 @@ from AthenaCommon.SystemOfUnits import GeV
 def makeRecordable(getName):
    def recordCollection(*args, **kwargs):
       #Retrieve record decision
-      record=kwargs.pop("doRecord",False) 
+      record=kwargs.pop("doRecord",False)
 
       #Get the name of the collection
       collectionName = getName(*args, **kwargs)
@@ -33,11 +33,11 @@ def makeRecordable(getName):
 #     Configuration of Tracking parameters for different signatures
 #-----------------------------------------------------------------------------
 
-class _Settings : 
+class _Settings :
    def __init__(self, name = "Settings") :
       self._name = name
-      
-      # default values 
+
+      # default values
       self._pTmin               = 1.*GeV
       self._d0SeedMax           = 4.0
       self._d0SeedPPSMax        = 1.7
@@ -46,7 +46,7 @@ class _Settings :
       self._doSpPhiFiltering    = True
       self._doCloneRemoval      = True
       self._checkRedundantSeeds = False
-      self._dRdoubletMax        = 270 
+      self._dRdoubletMax        = 270
       self._seedRadBinWidth     = 2
       self._etaHalfWidth        = 0.1
       self._phiHalfWidth        = 0.1
@@ -55,132 +55,155 @@ class _Settings :
       self._monPtMin            = 1*GeV
       self._doTRT               = False #Apply TRT extension sequence after ambiguity solving
       self._keepTrackParameters = False #Keep track parameters in conversion to TrackParticles
+      self._usePixelSP          = True
+      self._d0TrackMax          = 20.
+      self._z0TrackMax          = 300.
+      self._isLRT               = False
 
 #Previous version in:
 #https://gitlab.cern.ch/atlas/athena/-/blob/master/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigSliceSettings.py#L70
 
-   @property  
+   @property
    def name(self):
       return self._name
-   
+
    @property
    def pTmin(self):
       return self._pTmin
-   
+
    @property
    def d0SeedMax(self):
       return self._d0SeedMax
-   
+
    @property
    def d0SeedPPSMax(self):
       return self._d0SeedPPSMax
-   
+
    @property
    def doZFinder(self):
       return self._doZFinder
-   
+
    @property
    def doResMon(self):
       return self._doResMon
-   
+
    @property
    def doSpPhiFiltering(self):
       return self._doSpPhiFiltering
-   
+
    @property
    def doCloneRemoval(self):
       return self._doCloneRemoval
-   
+
    @property
    def checkRedundantSeeds(self):
       return self._checkRedundantSeeds
-   
+
    @property
    def dRdoubletMax(self):
-      return self._dRdoubletMax 
-   
+      return self._dRdoubletMax
+
    @property
    def seedRadBinWidth(self):
       return self._seedRadBinWidth
-   
+
    @property
    def etaHalfWidth(self):
       return self._etaHalfWidth
-   
+
    @property
    def phiHalfWidth(self):
       return self._phiHalfWidth
-   
+
    @property
    def doFullScan(self):
       return self._doFullScan
-   
+
    @property
    def monPS(self):
       return self._monPS
-   
+
    @property
    def monPtMin(self):
       return self._monPtMin
-   
+
    @property
    def doTRT(self):
       return self._doTRT
 
+   @property
+   def usePixelSP(self):
+       return self._usePixelSP
+   @property
+   def d0TrackMax(self):
+       return self._d0TrackMax
+
+   @property
+   def z0TrackMax(self):
+       return self._z0TrackMax
+
    @property
    def keepTrackParameters(self):
       return self._keepTrackParameters
-   
-   def printout(self): 
+
+   @property
+   def isLRT(self):
+       return self._isLRT
+
+   def printout(self):
       print( self._name, " :")
       print( "   pTmin                : ", self._pTmin )
       print( "   d0SeedMax            : ", self._d0SeedMax )
-      print( "   d0SeedPPSMax         : ", self._d0SeedPPSMax ) 
+      print( "   d0SeedPPSMax         : ", self._d0SeedPPSMax )
       print( "   doZFinder            : ", self._doZFinder )
       print( "   doResMon             : ", self._doResMon )
-      print( "   doSpPhiFiltering     : ", self._doSpPhiFiltering ) 
+      print( "   doSpPhiFiltering     : ", self._doSpPhiFiltering )
       print( "   doCloneRemoval       : ", self._doCloneRemoval )
       print( "   checkRedundantSeeds  : ", self._checkRedundantSeeds )
       print( "   dRdoubletMax         : ", self._dRdoubletMax )
       print( "   seedRadBinWidth      : ", self._seedRadBinWidth )
       print( "   etaHalfWidth         : ", self._etaHalfWidth )
-      print( "   phiHalfWidth         : ", self._phiHalfWidth ) 
+      print( "   phiHalfWidth         : ", self._phiHalfWidth )
       print( "   doFullScan           : ", self._doFullScan )
       print( "   monPS                : ", self._monPS )
       print( "   monPtMin             : ", self._monPtMin )
-       
+
 
 #Tracking configuration for different signatures
-class _Tracking_electron( _Settings ): 
-   def __init__( self ): 
+class _Tracking_electron( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._doCloneRemoval      = True #Previously False in Run2!
       self._checkRedundantSeeds = True
       self._doTRT               = True
       self._keepTrackParameters = True
 
-class _Tracking_tauCore( _Settings ): 
-   def __init__( self ): 
+class _Tracking_photon(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+
+class _Tracking_tauCore( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._doTRT           = True
 
-class _Tracking_tauIso( _Settings ): 
-   def __init__( self ): 
+class _Tracking_tauIso( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._etaHalfWidth       = 0.4
       self._phiHalfWidth       = 0.4
       self._doTRT               = True
 
-class _Tracking_tau( _Settings ): 
-   def __init__( self ): 
+class _Tracking_tau( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
-      self._pTmin           = 0.8*GeV 
+      self._pTmin           = 0.8*GeV
       self._etaHalfWidth    = 0.4
       self._phiHalfWidth    = 0.4
       self._doTRT               = True
 
-class _Tracking_muon( _Settings ):     
-   def __init__( self ): 
+class _Tracking_muon( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._d0SeedMax           = 10.0
       self._doResMon            = True
@@ -189,59 +212,100 @@ class _Tracking_muon( _Settings ):
       self._monPtMin            = 12*GeV
       self._doTRT               = False
 
-class _Tracking_muonCore( _Settings ):     
-   def __init__( self ): 
+class _Tracking_muonCore( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._d0SeedMax           = 10.0
       self._doSpPhiFiltering    = False
       self._checkRedundantSeeds = True
       self._doTRT               = False
 
-class _Tracking_muonIso( _Settings ):     
-   def __init__( self ): 
+class _Tracking_muonIso( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._etaHalfWidth        = 0.35
       self._phiHalfWidth        = 0.35
       self._doTRT               = False
 
-class _Tracking_bjet( _Settings ):     
-   def __init__( self ): 
+class _Tracking_bjet( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
-      self._etaHalfWidth    = 0.4
-      self._phiHalfWidth    = 0.4
+      self._etaHalfWidth    = 0.2
+      self._phiHalfWidth    = 0.201
       self._doTRT           = False
 
-class _Tracking_fullScan( _Settings ):     
-   def __init__( self ): 
+class _Tracking_bjetVtx(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._phiHalfWidth = 0.201
+        self._etaHalfWidth = 0.2
+        self._pTmin = 5.*GeV
+        self._doTRT = False
+
+class _Tracking_fullScan( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._etaHalfWidth    = 3.
       self._phiHalfWidth    = 3.14159
       self._doTRT           = False
-      self._dRdoubletMax    = 200 
+      self._dRdoubletMax    = 200
       self._seedRadBinWidth = 10
 
-class _Tracking_minBias( _Settings ):     
-   def __init__( self ): 
+class _Tracking_fullScan2(_Settings):
+    def __init__(self):
+        self._pTmin = 2. * GeV
+        self._etaHalfWidth = 3.0
+        self._phiHalfWidth = 3.14159
+        self._doFullScan = True
+
+class _Tracking_fullScan500(_Settings):
+    def __init__(self):
+        self._pTmin = 0.5 * GeV
+        self._etaHalfWidth = 3.0
+        self._phiHalfWidth = 3.14159
+        self._doFullScan = True
+
+class _Tracking_minBias400( _Settings ):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._doFullScan      = True
+      self._pTmin           = 0.39*GeV
+      self._etaHalfWidth    = 3
+      self._phiHalfWidth    = 3.14159
+      self._doTRT           = False
+
+class _Tracking_minBias( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._doFullScan      = True
-      self._pTmin           = 0.2*GeV # TODO: double check
+      self._pTmin           = 0.2*GeV
       self._etaHalfWidth    = 3
       self._phiHalfWidth    = 3.14159
       self._doTRT           = False
 
-class _Tracking_beamSpot( _Settings ):     
-   def __init__( self ): 
+class _Tracking_minBias2( _Settings ):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._doFullScan      = True
+      self._pTmin           = 0.5*GeV
+      self._etaHalfWidth    = 3
+      self._phiHalfWidth    = 3.14159
+      self._doTRT           = False
+
+class _Tracking_beamSpot( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._doFullScan      = True
       self._doZFinder       = True
-      self._dRdoubletMax    = 200 
+      self._dRdoubletMax    = 200
       self._seedRadBinWidth = 10
       self._etaHalfWidth    = 3
       self._phiHalfWidth    = 3.14159
       self._doTRT           = False
+      self._checkRedundantSeeds = True
 
-class _Tracking_cosmic( _Settings ):     
-   def __init__( self ): 
+class _Tracking_cosmic( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
       self._doFullScan      = True
       self._d0SeedMax       = 1000.0
@@ -249,38 +313,178 @@ class _Tracking_cosmic( _Settings ):
       self._etaHalfWidth    = 3
       self._phiHalfWidth    = 3.14159
       self._doTRT           = False
-
-class _Tracking_bphysics( _Settings ):     
-   def __init__( self ): 
+      #do these settings still apply, were defined in TrigFastTrackFinder_Config.py but not in slicesettings
+      self._d0TrackMax = 1000.
+      self._z0TrackMax = 1000.
+
+class _Tracking_cosmicsN(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._etaHalfWidth = 3.0
+        self._phiHalfWidth = 3.14159
+        self._doFullScan = True
+        self._pTmin = 0.5*GeV
+
+class _Tracking_beamgas(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._pTmin = 0.1 * GeV
+        self._etaHalfWidth = 3.0
+        self._phiHalfWidth = 3.14159
+        self._doFullScan = True
+
+class _Tracking_hadCalib(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._pTmin = 0.5*GeV
+        self._etaHalfWidth = 0.4
+        self._phiHalfWidth = 0.4
+
+class _Tracking_bphysics( _Settings ):
+   def __init__( self ):
       _Settings.__init__(self)
-      self._d0SeedMax           = 10. 
+      self._d0SeedMax           = 10.
       self._doSpPhiFiltering    = False
       self._etaHalfWidth        = 0.75
       self._phiHalfWidth        = 0.75
       self._checkRedundantSeeds = True
       self._doTRT               = False
 
+class _Tracking_bphysicsHighPt( _Settings ):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._d0SeedMax           = 10.
+      self._doSpPhiFiltering    = False
+      self._etaHalfWidth        = 0.75
+      self._phiHalfWidth        = 0.75
+      self._doTRT               = False
+      self._pTmin = 2. * GeV
+
+class _Tracking_heavyIon(_Settings):
+   def __init__( self ):
+      _Settings.__init__(self)
+
+class _Tracking_heavyIonFS(_Settings):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._etaHalfWidth=3.0
+      self._phiHalfWidth=3.14159
+      self._doFullScan=True
+
+class _Tracking_lowPt(_Settings):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._pTmin = 0.1 * GeV
+      self._etaHalfWidth = 3.0
+      self._phiHalfWidth = 3.14159
+      self._doFullScan = True
+
+
+class _Tracking_electronLRT(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._usePixelSP = False
+        self._d0SeedMax = 300.
+        self._d0TrackMax = 300.
+        self._z0TrackMax = 500.
+        self._isLRT = True
+
+class _Tracking_muonLRT(_Settings):
+    def __init__(self):
+        _Settings.__init__(self)
+        self._usePixelSP = False
+        self._d0SeedMax = 300.
+        self._d0TrackMax = 300.
+        self._z0TrackMax = 500.
+        self._isLRT = True
+
+class _Tracking_tauLRT( _Settings ):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._pTmin           = 0.8*GeV
+      self._etaHalfWidth    = 0.4
+      self._phiHalfWidth    = 0.4
+      self._doTRT               = True
+      self._usePixelSP = False
+      self._d0SeedMax = 300.
+      self._d0TrackMax = 300.
+      self._z0TrackMax = 500.
+      self._isLRT = True
+
+
+class _Tracking_fullScanLRT( _Settings ):
+   def __init__( self ):
+      _Settings.__init__(self)
+      self._etaHalfWidth    = 3.
+      self._phiHalfWidth    = 3.14159
+      self._doTRT           = False
+      self._checkRedundantSeeds = True
+      self._usePixelSP = False
+      self._d0SeedMax = 300.
+      self._d0TrackMax = 300.
+      self._z0TrackMax = 500.
+      self._d0SeedPPSMax = 300.
+      self._doFullScan = True
+      self._isLRT = True
+
+class _Tracking_bjetLRT(_Settings):
+    def __init__(self):
+      _Settings.__init__(self)
+      self._etaHalfWidth    = 0.4
+      self._phiHalfWidth    = 0.4
+      self._doTRT           = False
+      self._usePixelSP = False
+      self._d0SeedMax = 300.
+      self._d0TrackMax = 300.
+      self._z0TrackMax = 500.
+      self._isLRT = True
+
 
 #Map to retrieve available configurations of Tracking
-_TrackingConfigSettings = { 
+_TrackingConfigSettings = {
     "electron"     : _Tracking_electron(),
+    "electronLRT"  : _Tracking_electronLRT(),
+
+    "photon"       : _Tracking_photon(),
 
     #Muon signatures
     "muon"         : _Tracking_muon(),
     "muonIso"      : _Tracking_muonIso(),
     "muonCore"     : _Tracking_muonCore(),
+    "muonLRT"      : _Tracking_muonLRT(),
 
-    "tau"          : _Tracking_tau(), 
+    "tau"          : _Tracking_tau(),
     "tauCore"      : _Tracking_tauCore(),
     "tauIso"       : _Tracking_tauIso(),
+    "tauLRT"       : _Tracking_tauLRT(),
 
     "bjet"         : _Tracking_bjet(),
+    "bjetVtx"      : _Tracking_bjetVtx(),
+    "bjetLRT"      : _Tracking_bjetLRT(),
+
     "fullScan"     : _Tracking_fullScan(),
+    "fullScanLRT"  : _Tracking_fullScanLRT(),
+    "fullScan2"    : _Tracking_fullScan2(),
+    "fullScan500"  : _Tracking_fullScan500(),
+
+    "minBias"      : _Tracking_minBias(),
+    "minBias2"     : _Tracking_minBias2(),
+    "minBias400"   : _Tracking_minBias400(),
 
-    "minBias400"   : _Tracking_minBias(),
     "beamSpot"     : _Tracking_beamSpot(),
     "cosmics"      : _Tracking_cosmic(),
-    "bphysics"     : _Tracking_bphysics(), 
+    "cosmicsN"     : _Tracking_cosmicsN(),
+    "beamgas"      : _Tracking_beamgas(),
+
+    "bphysics"     : _Tracking_bphysics(),
+    "bphysHighPt"  : _Tracking_bphysicsHighPt(),
+
+    "lowPt"        : _Tracking_lowPt(),
+
+    "hadCalib"     : _Tracking_hadCalib(),
+
+    "heavyIon"     : _Tracking_heavyIon(),
+    "heavyIonFS"   : _Tracking_heavyIonFS()
 
                   }
 
@@ -289,144 +493,152 @@ _TrackingConfigSettings = {
 def getInDetTrigTrackingConfig( name ) :
    if name in _TrackingConfigSettings :
       return _TrackingConfigSettings[name]
-   else : 
-        #       don't just return None, and do nothing as this 
-        #       will just hide the error until people try to use 
+   else :
+        #       don't just return None, and do nothing as this
+        #       will just hide the error until people try to use
         #       the bad slice configuration
       raise Exception( "getInDetTrigTrackingConfig() called with incorrect non existent slice: "+name )
-      return None         
+      return None
 
 
 
 
-#     Full Signature Configuration of ID Trig  
+#     Full Signature Configuration of ID Trig
 #-----------------------------------------------------------------------------
 
 class _FastTracking():
-   def __init__( self, signatureType, nameSuffix ) : 
+   def __init__( self, signatureType, nameSuffix ) :
       self._signatureType = signatureType #Steer which cuts,flags to load
       self._config        = getInDetTrigTrackingConfig( signatureType )
       self._suffix        = nameSuffix
-   
+
    #Retrieve trackCollection key
    @makeRecordable #Allows to record collection if doRecord = True
    def trkTracksFTF(self, doRecord=False):
       return 'HLT_IDTrkTrack_{}_FTF'.format( self._suffix )
-   
+
    #Retrieve TrackParticle key
    @makeRecordable #Allows to record collection if doRecord = True
    def tracksFTF(self, doRecord = True):
       return 'HLT_IDTrack_{}_FTF'.format( self._suffix )
-   
+
    #Retrieve TrackParticle key
-   @property 
+   @property
    def setting(self):
       return self._config
-   
+
    def isSignature(self, signature):
       return (self._signatureType == signature)
-   
-   @property 
+
+   @property
    def signatureType(self):
       return self._signatureType
+   @property
+   def config(self):
+      return self._config
 
 class _PrecisionTracking():
-   def __init__( self, signatureType, nameSuffix ) : 
+   def __init__( self, signatureType, nameSuffix ) :
       self._signatureType = signatureType #Steer which cuts,flags to load
       self._config        = getInDetTrigTrackingConfig( signatureType ) #This might not be needed in the future as most likely the setting will be the same between FT and PT
       self._suffix        = nameSuffix
-   
-   #Retrieve final precision trackCollection 
+
+   #Retrieve final precision trackCollection
    @makeRecordable
    def trkTracksPT(self, doRecord = False):
       return 'HLT_IDTrkTrack_{}_IDTrig'.format( self._suffix )
-   
+
    #Retrieve final TrackParticle key
-   @makeRecordable 
+   @makeRecordable
    def tracksPT(self, doRecord = False):
       return 'HLT_IDTrack_{}_IDTrig'.format( self._suffix )
-   
+
    #Retrieve trackCollection from Ambiguity solving stage
    #AS might not be very descriptive, should we switch to AmbiSol at least?
    @makeRecordable
    def trkTracksAS(self, doRecord = False):
       return 'HLT_IDTrkTrack_{}_AmbSol'.format( self._suffix )
-   
+
    #Retrieve trackCollection from TRT track extension stage
    #TE might not be very descriptive, should we switch to TRTExt at least?
    @makeRecordable
    def trkTracksTE(self, doRecord = False):
       return 'HLT_IDTrkTrack_{}_TRTExt'.format( self._suffix )
-   
+
    #Retrieve TrackParticle key
-   @property 
+   @property
    def setting(self):
       return self._config
-     
+
    def isSignature(self, signature):
       return (self._signatureType == signature)
 
 
-class _GlobalSettings() : 
-   def __init__( self ) : 
+class _GlobalSettings() :
+   def __init__( self ) :
       self._name      = "" #To be appended to alg names
-      self._roi       = "" 
+      self._roi       = ""
       self._configFT  =  None #Fast tracking configuration
       self._configPT  =  None #Precision tracking configuration
       self._doRecord  = False #Allow recording of track collections
-   
+      self._isLRT     = False
+
    @property
    def FT(self):
       return self._configFT
-   
+
    @property
    def PT(self):
       return self._configPT
-   
+
    @property
    def RoI(self):
       return self._roi
-   
+
    @property
    def name(self):
       return self._name
-   
+
    @property
    def isRecordable(self):
       return self._doRecord
 
+   @property
+   def isLRT(self):
+       return self._isLRT
+
 
 
-class _Settings_electron( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_electron( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name      = "electron" #To be appended to alg names
-      self._roi       = "HLT_Roi_Electron" 
+      self._roi       = "HLT_Roi_Electron"
       self._configFT  = _FastTracking(      signatureType = 'electron', nameSuffix = 'Electron' )
       self._configPT  = _PrecisionTracking( signatureType = 'electron', nameSuffix = 'Electron' )
       self._doRecord  = True #Allow recording of track collections
 
 
-class _Settings_muon( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_muon( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name      = "muon" #To be appended to alg names
-      self._roi       = "HLT_Roi_Muon" 
+      self._roi       = "HLT_Roi_Muon"
       self._configFT  = _FastTracking(      signatureType = 'muon', nameSuffix = 'Muon' )
       self._configPT  = _PrecisionTracking( signatureType = 'muon', nameSuffix = 'Muon' )
       self._doRecord  = True #Allow recording of track collections
 
-class _Settings_muonIso( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_muonIso( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name      = "muonIso" #To be appended to alg names
-      self._roi       = "HLT_Roi_MuonIso" 
+      self._roi       = "HLT_Roi_MuonIso"
       self._configFT  = _FastTracking(      signatureType = 'muonIso', nameSuffix = 'MuonIso' )
       self._configPT  = _PrecisionTracking( signatureType = 'muonIso', nameSuffix = 'MuonIso' )
       self._doRecord  = True #Allow recording of track collections
 
-class _Settings_muonLate( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_muonLate( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name      = "muonLate" #To be appended to alg names
       self._roi       = "HLT_Roi_Muon"  #FIXME
@@ -434,8 +646,8 @@ class _Settings_muonLate( _GlobalSettings ):
       self._configPT  = _PrecisionTracking( signatureType = 'muon', nameSuffix = 'MuonLate' )
       self._doRecord  = True #Allow recording of track collections
 
-class _Settings_muonFS( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_muonFS( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "muonFS" #To be appended to alg names
       self._roi      = "HLT_Roi_Muon"  #FIXME
@@ -443,11 +655,21 @@ class _Settings_muonFS( _GlobalSettings ):
       self._configPT =   _PrecisionTracking( signatureType = 'muon', nameSuffix = 'MuonFS' )
       self._doRecord = True #Allow recording of track collections
 
-class _Settings_muonCore( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_muonLRT( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name      = "muonLRT" #To be appended to alg names
+      self._roi       = "HLT_Roi_Muon"
+      self._configFT  = _FastTracking(      signatureType = 'muonLRT', nameSuffix = 'MuonLRT' )
+      self._configPT  = _PrecisionTracking( signatureType = 'muonLRT', nameSuffix = 'Muon' )
+      self._doRecord  = True #Allow recording of track collections
+      self._isLRT      = True
+
+class _Settings_muonCore( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "muonCore" #To be appended to alg names
-      self._roi      = "HLT_Roi_Muon" 
+      self._roi      = "HLT_Roi_Muon"
       self._configFT = _FastTracking(      signatureType = 'muonCore', nameSuffix = 'MuonCore' )
       self._configPT = _PrecisionTracking( signatureType = 'muonCore', nameSuffix = 'MuonCore' )
       self._doRecord = True #Allow recording of track collections
@@ -455,97 +677,252 @@ class _Settings_muonCore( _GlobalSettings ):
 class _Settings_tauTau( _GlobalSettings ):
    def __init__( self ):
       _GlobalSettings.__init__(self)
-      self._name     = "tauTau" #To be appended to alg names                                                                                                
-      self._roi      = "HLT_Roi_Tau" #FIXME: possibly different!                                                                                         
+      self._name     = "tauTau" #To be appended to alg names
+      self._roi      = "HLT_Roi_Tau" #FIXME: possibly different!
       self._configFT =  _FastTracking(      signatureType = 'tau', nameSuffix = 'Tau' )
-      #There should not be a need for tauCore PT!                                                                                                            
-      self._configPT =   _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' )                                                           
-      self._doRecord = True #Allow recording of track collections      
+      #There should not be a need for tauCore PT!
+      self._configPT =   _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' )
+      self._doRecord = True #Allow recording of track collections
 
-class _Settings_tauCore( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_tauCore( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "tauCore" #To be appended to alg names
-      self._roi      = "HLT_Roi_TauCore" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_TauCore" #FIXME: possibly different!
       self._configFT =  _FastTracking(      signatureType = 'tauCore', nameSuffix = 'TauCore' )
       #There should not be a need for tauCore PT!
       #self._configPT =   #_PrecisionTracking( signatureType = 'tauCore', nameSuffix = 'TauCore' )
       self._doRecord = True #Allow recording of track collections
 
-class _Settings_tauIso( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_tauLRT( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "tauLRT" #To be appended to alg names
+      self._roi      = "HLT_Roi_TauCore" #FIXME: possibly different!
+      self._configFT =  _FastTracking(      signatureType = 'tauLRT', nameSuffix = 'TauLRT' )
+      #There should not be a need for tauCore PT!
+      #self._configPT =   #_PrecisionTracking( signatureType = 'tauCore', nameSuffix = 'TauCore' )
+      self._doRecord = True #Allow recording of track collections
+      self._isLRT = True
+
+class _Settings_tauIso( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "tauIso" #To be appended to alg names
-      self._roi      = "RoiForTauIso" #FIXME: possibly different!  
+      self._roi      = "RoiForTauIso" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'tauIso', nameSuffix = 'TauIso' )
       self._configPT = _PrecisionTracking( signatureType = 'tauIso', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
       self._doRecord = True #Allow recording of track collections
 
 #This might be redundant but lets keep them for the time being...
-class _Settings_tauIsoBDT( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_tauId( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "tauId" #To be appended to alg names
+      self._roi      = "HLT_Roi_Tau" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'tau', nameSuffix = 'Tau' )
+      self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = False #FIXME: Do I need to record these?
+
+#This might be redundant but lets keep them for the time being...
+class _Settings_tauEF( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "tauEF" #To be appended to alg names
+      self._roi      = "HLT_Roi_TauIso" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'tauIso', nameSuffix = 'TauIso' ) #
+      self._configPT = _PrecisionTracking( signatureType = 'tau',    nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = False #FIXME: Do I need to record these?
+
+#This might be redundant but lets keep them for the time being...
+class _Settings_tauTrk( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "tauTrk" #To be appended to alg names
+      self._roi      = "HLT_Roi_Tau" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'tau',    nameSuffix = 'Tau' ) #
+      self._configPT = _PrecisionTracking( signatureType = 'tau',    nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = False #FIXME: Do I need to record these?
+
+#This might be redundant but lets keep them for the time being...
+class _Settings_tauTrkTwo( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "tauTrkTwo" #To be appended to alg names
+      self._roi      = "HLT_Roi_TauIso" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'tauIso', nameSuffix = 'TauIso' ) #
+      self._configPT = _PrecisionTracking( signatureType = 'tau',    nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = False #FIXME: Do I need to record these?
+
+class _Settings_tauIsoBDT( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "tauIsoBDT" #To be appended to alg names
-      self._roi      = "HLT_Roi_TauIsoBDT" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_TauIsoBDT" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'tauIso', nameSuffix = 'TauIso' ) #
       self._configPT = _PrecisionTracking( signatureType = 'tauIso',    nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently...
       self._doRecord = False #FIXME: Do I need to record these?
 
-class _Settings_bjet( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_bjet( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "bjet" #To be appended to alg names
-      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!  
-      self._configFT = _FastTracking(      signatureType = 'bjet',   nameSuffix = 'Bjet' ) 
-      self._configPT = _PrecisionTracking( signatureType = 'bjet',   nameSuffix = 'Bjet' ) 
+      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'bjet',   nameSuffix = 'Bjet' )
+      self._configPT = _PrecisionTracking( signatureType = 'bjet',   nameSuffix = 'Bjet' )
+      self._doRecord = True
+
+class _Settings_bjetVtx( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "bjetVtx" #To be appended to alg names
+      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'bjetVtx',   nameSuffix = 'Bjet' )
+      self._configPT = _PrecisionTracking( signatureType = 'bjetVtx',   nameSuffix = 'Bjet' )
+      self._doRecord = False
+
+class _Settings_bjetLRT( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "bjetLRT" #To be appended to alg names
+      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'bjetLRT',   nameSuffix = 'BjetLRT' )
+      self._configPT = _PrecisionTracking( signatureType = 'bjetLRT',   nameSuffix = 'BjetLRT' )
+      self._isLRT = True
       self._doRecord = True
 
-class _Settings_jet( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_jet( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "jet" #To be appended to alg names
-      self._roi      = "HLT_Roi_jetFS" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_jetFS" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'fullScan',  nameSuffix = 'FS' ) #
       self._configPT = _PrecisionTracking( signatureType = 'fullScan',  nameSuffix = 'FS' ) #Final collection is being renamed to just tau apparently...
-      self._doRecord = True 
+      self._doRecord = True
+
+class _Settings_minBias( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "minBias" #To be appended to alg names
+      self._roi      = "HLT_Roi_MinBias" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'minBias',  nameSuffix = 'MinBias' ) #
+      self._configPT = _PrecisionTracking( signatureType = 'minBias',  nameSuffix = 'MinBias' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = True
 
-class _Settings_minBias( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_minBias400( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "minBias" #To be appended to alg names
-      self._roi      = "HLT_Roi_MinBias" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_MinBias" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'minBias400',  nameSuffix = 'MinBias' ) #
       self._configPT = _PrecisionTracking( signatureType = 'minBias400',  nameSuffix = 'MinBias' ) #Final collection is being renamed to just tau apparently...
-      self._doRecord = True 
+      self._doRecord = True
+
+class _Settings_minBias2( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "minBias" #To be appended to alg names
+      self._roi      = "HLT_Roi_MinBias" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'minBias2',  nameSuffix = 'MinBias' ) #
+      self._configPT = _PrecisionTracking( signatureType = 'minBias2',  nameSuffix = 'MinBias' ) #Final collection is being renamed to just tau apparently...
+      self._doRecord = True
 
-class _Settings_beamSpot( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_beamSpot( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "beamSpot" #To be appended to alg names
-      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'beamSpot',  nameSuffix = 'BeamSpot' ) #
       #PT probably isn't necessary for BS
       #self._configPT =   _PrecisionTracking( signatureType = 'beamSpot',  nameSuffix = 'BeamSpot' ) #Final collection is being renamed to just tau apparently...
-      self._doRecord = False 
+      self._doRecord = False
 
-class _Settings_fullScan( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_fullScan( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "fullScan" #To be appended to alg names
-      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!
       self._configFT = _FastTracking(   signatureType = 'fullScan',  nameSuffix = 'FS' ) #
-      self._doRecord = False 
+      self._doRecord = False
 
-class _Settings_cosmics( _GlobalSettings ): 
-   def __init__( self ): 
+class _Settings_fullScan2( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "fullScan2" #To be appended to alg names
+      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!
+      self._configFT = _FastTracking(   signatureType = 'fullScan2',  nameSuffix = 'FS' ) #
+      self._doRecord = False
+
+class _Settings_fullScan500( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "fullScan500" #To be appended to alg names
+      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!
+      self._configFT = _FastTracking(   signatureType = 'fullScan500',  nameSuffix = 'FS' ) #
+      self._doRecord = False
+
+class _Settings_fullScanLRT( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "fullScanLrt" #To be appended to alg names
+      self._roi      = "HLT_Roi_FS" #FIXME: possibly different!
+      self._configFT = _FastTracking(   signatureType = 'fullScanLRT',  nameSuffix = 'FSLRT' ) #
+      self._doRecord = False
+      self._isLRT    = True
+
+class _Settings_cosmics( _GlobalSettings ):
+   def __init__( self ):
       _GlobalSettings.__init__(self)
       self._name     = "cosmics" #To be appended to alg names
-      self._roi      = "HLT_Roi_Cosmics" #FIXME: possibly different!  
+      self._roi      = "HLT_Roi_Cosmics" #FIXME: possibly different!
       self._configFT = _FastTracking(      signatureType = 'cosmics',  nameSuffix = 'Cosmic' ) #
-      self._doRecord = False 
+      self._doRecord = False
 
+class _Settings_cosmicsN( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "cosmicsN" #To be appended to alg names
+      self._roi      = "HLT_Roi_Cosmics" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'cosmicsN',  nameSuffix = 'Cosmic' ) #
+      self._doRecord = False
 
-_ConfigSettings = { 
+class _Settings_bphysics( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "bphysics" #To be appended to alg names
+      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'bphysics',   nameSuffix = 'Bjet' ) #TODO: get correct nameSuffix
+      self._configPT = _PrecisionTracking( signatureType = 'bphysics',   nameSuffix = 'Bjet' )
+      self._doRecord = False
+
+class _Settings_bphysicsHighPt( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "bphysicsHighPt" #To be appended to alg names
+      self._roi      = "HLT_Roi_Bjet" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'bphysHighPt',   nameSuffix = 'Bjet' ) #TODO: Get correct nameSuffix
+      self._configPT = _PrecisionTracking( signatureType = 'bphysHighPt',   nameSuffix = 'Bjet' )
+      self._doRecord = False
+
+class _Settings_beamgas( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "beamgas" #To be appended to alg names
+      self._roi      = "HLT_Roi_Beamgas" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'beamgas',   nameSuffix = 'beamgas' ) #TODO: Get correct nameSuffix
+      self._configPT = _PrecisionTracking( signatureType = 'beamgas',   nameSuffix = 'beamgas' )
+      self._doRecord = False
+
+class _Settings_hadCalib( _GlobalSettings ):
+   def __init__( self ):
+      _GlobalSettings.__init__(self)
+      self._name     = "hadcalib" #To be appended to alg names
+      self._roi      = "HLT_Roi_hadCalib" #FIXME: possibly different!
+      self._configFT = _FastTracking(      signatureType = 'hadCalib',   nameSuffix = 'beamgas' ) #TODO: Get correct nameSuffix
+      self._configPT = _PrecisionTracking( signatureType = 'hadCalib',   nameSuffix = 'beamgas' )
+      self._doRecord = False
+
+_ConfigSettings = {
    "electron"     : _Settings_electron(),
     #Muon signatures
     "muon"        : _Settings_muon(),
@@ -553,24 +930,42 @@ _ConfigSettings = {
     "muonCore"    : _Settings_muonCore(),
     "muonFS"      : _Settings_muonFS(),
     "muonLate"    : _Settings_muonLate(),
-   
+    "muonLRT"     : _Settings_muonLRT(),
+
     #Tau signatures
     "tauTau"      : _Settings_tauTau(),
     "tauCore"     : _Settings_tauCore(),
     "tauIso"      : _Settings_tauIso(),
+    "tauLRT"      : _Settings_tauLRT(),
+    #Might be potentially removed
+    "tauId"       : _Settings_tauId(),
+    "tauTrk"      : _Settings_tauTrk(),
+    "tauTrkTwo"   : _Settings_tauTrkTwo(),
+    "tauEF"       : _Settings_tauEF(),
     "tauIsoBDT"   : _Settings_tauIsoBDT(),
 
     "bjet"        : _Settings_bjet(),
+    "bjetVtx"        : _Settings_bjetVtx(),
+    "bjetLRT"     : _Settings_bjetLRT(),
     "jet"         : _Settings_jet(),
-   
+
     "fullScan"    : _Settings_fullScan(),
-   
+    "fullScan2"   : _Settings_fullScan2(),
+    "fullScan500" : _Settings_fullScan500(),
+    "fullScanLRT" : _Settings_fullScanLRT(),
+
     "beamSpot"    : _Settings_beamSpot(),
     "cosmics"     : _Settings_cosmics(),
-    "minBias"     : _Settings_minBias(),
-    #"bphysics"    : _Settings_bphysics(), 
+    "minBias"     : _Settings_minBias400(),
+    "minBias2"     : _Settings_minBias2(),
+    "minBias0"     : _Settings_minBias(),
+    "bphysics"    : _Settings_bphysics(),
+    "bphysHighPt" : _Settings_bphysicsHighPt(),
+
+    "beamgas"     : _Settings_beamgas(),
+    "hadCalib"    : _Settings_hadCalib()
                   }
-      
+
 #FTF Remap which eventually will be dropped once naming is aligned with signature settings
 remap  = {
    #"Muon"     : "muon",
@@ -590,13 +985,14 @@ remap  = {
    #"Jet"      : "bjet",
    #"JetFS"    : "fullScan",
    "FS"       : "fullScan",
-   #"bjetVtx"  : "bjetVtx",
    #"FullScan" : "fullScan",
    "BeamSpot" : "beamSpot",
    #"Bphysics" : "bphysics",
    #"Cosmic"   : "cosmics",
    #"MinBias"  : "minBias400",
-   #"minBias"  : "minBias400"
+   #"minBias"  : "minBias400",
+   "minBias400": "minBias",
+   "tau": "tauTau"
 }
 
 def remap_type( signature ):
@@ -611,15 +1007,13 @@ def remap_type( signature ):
 #FIXME: rename to InDetTrigSignatureConfig ?
 def getInDetTrigConfig( name ):
 #Most of the remapping has been removed, should we also replace FS & BeamSpot?
-   rName = remap_type( name ) 
+   rName = remap_type( name )
 
    if rName in _ConfigSettings :
       return _ConfigSettings[rName]
-   else : 
-    #       don't just return None, and do nothing as this 
-    #       will just hide the error until people try to use 
+   else :
+    #       don't just return None, and do nothing as this
+    #       will just hide the error until people try to use
     #       the bad slice configuration
       raise Exception( "getInDetTrigConfig() called with incorrect non existent slice: "+rName )
-      return None         
-
-
+      return None
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py
index 80ea72b7108..c380eefeec3 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py
@@ -25,7 +25,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
   #Add suffix to the algorithms
   signature =  '_{}'.format( config.name )
 
-  #Global keys/names for Trigger collections 
+  #Global keys/names for Trigger collections
   from .InDetTrigCollectionKeys import  TrigPixelKeys, TrigSCTKeys
   from InDetRecExample.InDetKeys import InDetKeys
   from TrigInDetConfig.TrigInDetConfig import InDetCacheNames
@@ -48,7 +48,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
                                     ( 'IDCInDetBSErrContainer_Cache' , InDetCacheNames.SCTFlaggedCondCacheKey ),
                                     ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
                                     ( 'TagInfo' , 'DetectorStore+ProcessingTags' )]
-    
+
     viewAlgs.append( ViewDataVerifier )
 
     # Load RDOs if we aren't loading bytestream
@@ -103,7 +103,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
     InDetPixelRawDataProvider.RDOCacheKey = InDetCacheNames.PixRDOCacheKey
     InDetPixelRawDataProvider.BSErrorsCacheKey = InDetCacheNames.PixBSErrCacheKey
 
-    from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel 
+    from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel
 
     InDetPixelRawDataProvider.RegSelTool = makeRegSelTool_Pixel()
 
@@ -150,7 +150,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
 
   #Pixel clusterisation
   from InDetTrigRecExample.InDetTrigConfigRecLoadTools import TrigPixelLorentzAngleTool, TrigSCTLorentzAngleTool
-  
+
   from SiClusterizationTool.SiClusterizationToolConf import InDet__ClusterMakerTool
   InDetClusterMakerTool = InDet__ClusterMakerTool(name                 = "InDetClusterMakerTool_" + signature,
                                                   SCTLorentzAngleTool = TrigSCTLorentzAngleTool,
@@ -218,7 +218,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
   sct_ByteStreamErrorsToolSetup.setToolName("InDetSCT_BSErrorTool_" + signature)
   sct_ByteStreamErrorsToolSetup.setConfigTool(sct_ConfigurationConditionsToolSetup.getTool())
   sct_ByteStreamErrorsToolSetup.setup()
-  InDetSCT_ConditionsSummaryToolWithoutFlagged.ConditionsTools.append(sct_ByteStreamErrorsToolSetup.getTool().getFullName())     
+  InDetSCT_ConditionsSummaryToolWithoutFlagged.ConditionsTools.append(sct_ByteStreamErrorsToolSetup.getTool().getFullName())
 
   if (InDetTrigFlags.doPrintConfigurables()):
      print (InDetSCT_ConditionsSummaryToolWithoutFlagged)
@@ -272,7 +272,7 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
                                                                     SiSpacePointMakerTool  = InDetSiSpacePointMakerTool,
                                                                     PixelsClustersName     = TrigPixelKeys.Clusters,
                                                                     SpacePointsPixelName   = TrigPixelKeys.SpacePoints,
-                                                                    SCT_ClustersName	    = TrigSCTKeys.Clusters, 
+                                                                    SCT_ClustersName	    = TrigSCTKeys.Clusters,
                                                                     SpacePointsSCTName     = TrigSCTKeys.SpacePoints,
                                                                     SpacePointsOverlapName = InDetKeys.OverlapSpacePoints(),
                                                                     ProcessPixels          = DetFlags.haveRIO.pixel_on(),
@@ -294,7 +294,8 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
       condSeq += InDet__SiElementPropertiesTableCondAlg(name = "InDetSiElementPropertiesTableCondAlg")
 
   #FIXME have a flag for now set for True( as most cases call FTF) but potentially separate
-  if doFTF: 
+  #do not add if the config is LRT
+  if doFTF:
       #Load signature configuration (containing cut values, names of collections, etc)
       #from .InDetTrigConfigSettings import getInDetTrigConfig
       #configSetting = getInDetTrigConfig( whichSignature )
@@ -305,12 +306,12 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
       #TODO: eventually adapt IDTrigConfig also in FTF configuration (pass as additional param)
       theFTF = TrigFastTrackFinderBase("TrigFastTrackFinder_" + signature, config.FT.signatureType )
       theFTF.RoIs           = rois
-      theFTF.TracksName     = config.FT.trkTracksFTF() 
+      theFTF.TracksName     = config.FT.trkTracksFTF()
       theFTF.doCloneRemoval = config.FT.setting.doCloneRemoval
 
       viewAlgs.append(theFTF)
 
-      
+
       from TrigInDetConf.TrigInDetPostTools import  InDetTrigParticleCreatorToolFTF
       from InDetTrigParticleCreation.InDetTrigParticleCreationConf import InDet__TrigTrackingxAODCnvMT
 
@@ -319,8 +320,8 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
       theTrackParticleCreatorAlg = InDet__TrigTrackingxAODCnvMT(name = "InDetTrigTrackParticleCreatorAlg" + signature,
                                                                 TrackName = config.FT.trkTracksFTF(),
                                                                 ParticleCreatorTool = InDetTrigParticleCreatorToolFTF)
-    
-      
+
+
       #In general all FTF trackParticle collections are recordable except beamspot to save space
       theTrackParticleCreatorAlg.TrackParticlesName = config.FT.tracksFTF( doRecord = config.isRecordable )
 
@@ -328,4 +329,3 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie
 
 
   return viewAlgs, ViewDataVerifier
-
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingCutFlags.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingCutFlags.py
index 1c2f5221d90..b77ee2d99db 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingCutFlags.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingCutFlags.py
@@ -28,21 +28,45 @@ def __muonFlags():
     flags.doResMon = True
     return flags
 
+def _lrtFlags():
+    flags = __sliceFlags()
+    flags.maxHoles = 2
+    flags.minClusters = 8
+    flags.minSiNotShared = 6
+    flags.maxShared = 1
+    flags.maxPixelHoles = 1
+    flags.maxSctHoles = 1
+    flags.maxDoubleHoles = 0
+    flags.maxPrimaryImpact = 300.0 * Units.mm # highlumi
+    flags.maxZImpact = 500.0 * Units.mm
+    flags.roadWidth = 5.
+    flags.seedFilterLevel = 1
+    flags.nHolesMax = flags.maxHoles #fix them together as in the code being ported from. Should be safer if values are adjusted
+    flags.nHolesGapMax = 1
+    flags.Xi2max = 9.
+    flags.Xi2maxNoAdd =25.0
+    flags.nWeightedClustersMin = 8
+    flags.doZBoundary = True
+    flags.maxdImpactSSSSeeds = 300.0
+
+    return flags
+
 def createTrigTrackingFlags():
-    flags = AthConfigFlags() 
+    flags = AthConfigFlags()
     flags.addFlagsCategory('Trigger.InDetTracking.Electron', __electronFlags, prefix=True)
     flags.addFlagsCategory('Trigger.InDetTracking.Muon', __muonFlags, prefix=True)
+    flags.addFlagsCategory('Trigger.InDetTracking.LRT', _lrtFlags, prefix=True)
     return flags
 
 if __name__ == "__main__":
     from AthenaCommon.Logging import logging
-    _msg = logging.getLogger('AthConfigFlags')    
+    _msg = logging.getLogger('AthConfigFlags')
     _msg.setLevel(2)
     from AthenaConfiguration.AllConfigFlags import ConfigFlags as flags
     flags.Trigger.doID
     flags.dump(".*Trig")
-    
+
     flags.Trigger.InDetTracking.Electron.minPT = 2.0 * Units.GeV
     newflags = flags.cloneAndReplace('InDet.Tracking', 'Trigger.InDetTracking.Electron')
     assert newflags.InDet.Tracking.minPT == 2.0 * Units.GeV
-    flags.dump()
\ No newline at end of file
+    flags.dump()
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
index 85ea2ea7908..1941fb87622 100644
--- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
@@ -207,6 +207,7 @@ TriggerHLTListRun3 = [
     ('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_FTF',                 'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_FTFAux.',          'BS ESD AODFULL', 'Muon'),
 
+
     ('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_IDTrig',              'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_IDTrigAux.',       'BS ESD AODFULL', 'Muon'),
 
@@ -389,7 +390,7 @@ TriggerHLTListRun3 = [
     ('xAOD::VertexAuxContainer#HLT_IDVertex_FSAux.',          'BS ESD AODFULL', 'Jet'),
 
 
-    # custom BeamSpot tracks - we don't want to write these out in general so this 
+    # custom BeamSpot tracks - we don't want to write these out in general so this
     # is commented, if we want to write them out at some point, then these lines
     # should be uncommented and they should get written out
     #    ('xAOD::TrackParticleContainer#HLT_IDTrack_BeamSpot_FTF',         'BS ESD AODFULL', 'ID', 'inViews:beamspotViewRoIs' ),
@@ -474,6 +475,8 @@ TriggerHLTListRun3 = [
     ('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_FTF',        'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_FTFAux.', 'BS ESD AODFULL', 'Bjet'),
 
+
+
     # bjet Second Stage Precision tracks
     ('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_IDTrig',        'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_IDTrigAux.', 'BS ESD AODFULL', 'Bjet'),
@@ -487,12 +490,12 @@ TriggerHLTListRun3 = [
 
     # secvertex for b-jets
     ('xAOD::VertexContainer#HLT_BTaggingSecVtx',                          'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'),
-    ('xAOD::VertexAuxContainer#HLT_BTaggingSecVtxAux.',                   'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),  
+    ('xAOD::VertexAuxContainer#HLT_BTaggingSecVtxAux.',                   'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
 
     # btagvertex for b-jets
     ('xAOD::BTagVertexContainer#HLT_BTaggingJFVtx',                          'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'),
     ('xAOD::BTagVertexAuxContainer#HLT_BTaggingJFVtxAux.',                   'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
-    
+
     # bjet b-tagging
     ('xAOD::BTaggingContainer#HLT_BTagging',                          'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'),
     ('xAOD::BTaggingAuxContainer#HLT_BTaggingAux.'+BTagVars,          'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetTrackingConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetTrackingConfiguration.py
index a4fc83070d1..c9b8d8987cb 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetTrackingConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetTrackingConfiguration.py
@@ -33,11 +33,3 @@ def getSecondStageBjetTracking( inputRoI, dataObjects ):
     algSequence.append( seqAND("PrecisionTrackingSequence",PTAlgs) )
 
     return [ algSequence, PTTrackParticles ]
-
-
-
-
-
-
-
-
-- 
GitLab