diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
index b652dd5b3104963ecc6996b065562993c4f2b78d..88fac7091b3905d8020bd12b0bf7c204159c5e82 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
@@ -1013,6 +1013,12 @@ class useBroadSCTClusterErrors(InDetFlagsJobProperty):
     allowedTypes = ['NoneType','bool']
     StoredValue  = None
 
+class useMuForTRTErrorScaling(InDetFlagsJobProperty):
+    """ Use mu from lumi conditions data for TRT error scaling"""
+    statusOn     = True
+    allowedTypes = ['NoneType','bool']
+    StoredValue  = False
+
 class writeRDOs(InDetFlagsJobProperty):
     """ Write RDOs into ESD """
     statusOn     = True
@@ -2809,7 +2815,8 @@ _list_InDetJobProperties = [Enabled,
                             doStoreTrackSeeds,
                             doHIP300,
                             checkDeadElementsOnTrack,
-                            doDigitalROTCreation
+                            doDigitalROTCreation,
+                            useMuForTRTErrorScaling
                            ]
 for j in _list_InDetJobProperties: 
     jobproperties.InDetJobProperties.add_JobProperty(j)
diff --git a/InnerDetector/InDetExample/InDetRecExample/python/TrackingCommon.py b/InnerDetector/InDetExample/InDetRecExample/python/TrackingCommon.py
index da81a73c2e1dcf0a7c67c7c35e37d8eab657c0d4..0e04df4fa9341dbf4c89f5733768c85d50ab4c70 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/TrackingCommon.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/TrackingCommon.py
@@ -426,17 +426,32 @@ def getInDetBroadTRT_DriftCircleOnTrackTool(name='InDetBroadTRT_DriftCircleOnTra
 def getInDetTRT_DriftCircleOnTrackNoDriftTimeTool(**kwargs) :
     return getInDetBroadTRT_DriftCircleOnTrackTool(**kwargs)
 
+
+def getLumiCondDataKeyForTRTMuScaling(**kwargs) :
+    from InDetRecExample.InDetJobProperties import InDetFlags
+    isHLT=kwargs.pop('isHLT',False)
+    kwargs.pop('namePrefix','')
+    if not InDetFlags.doCosmics() and InDetFlags.useMuForTRTErrorScaling():
+        # @TODO remove flag useMuForTRTErrorScaling once TRT mu dependent ERROR scaling not needed any more or
+        #       LuminosityCondAlgDefault always uses the correct database and   folder
+        from LumiBlockComps.LuminosityCondAlgDefault import LuminosityCondAlgDefault,LuminosityCondAlgOnlineDefault
+        from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
+        lumiAlg = LuminosityCondAlgDefault() if not athenaCommonFlags.isOnline() and not isHLT else LuminosityCondAlgOnlineDefault()
+        if lumiAlg is not None :
+            return lumiAlg.LuminosityOutputKey
+    return ''
+
 # @TODO rename to InDetTRT_DriftCircleOnTrackTool ?
 @makePublicTool
 def getInDetTRT_DriftCircleOnTrackTool(name='TRT_DriftCircleOnTrackTool', **kwargs) :
     the_name = makeName( name, kwargs)
+    hlt_args = copyArgs(kwargs,['isHLT','namePrefix'])
+    kwargs.pop('isHLT',None)
     createAndAddCondAlg(getRIO_OnTrackErrorScalingCondAlg,'RIO_OnTrackErrorScalingCondAlg')
-    # @TODO create LuminosityCondAlg
     from TRT_DriftCircleOnTrackTool.TRT_DriftCircleOnTrackToolConf import InDet__TRT_DriftCircleOnTrackTool
     kwargs = setDefaults(kwargs,
                          TRTErrorScalingKey = '/Indet/TrkErrorScalingTRT',
-                         # LumiDataKey        = 'LuminosityCondData'        # @TODO undo out-commenting to re-enable mu-correction for TRT error scaling
-                         )
+                         LumiDataKey        = getLumiCondDataKeyForTRTMuScaling(**hlt_args))
     return InDet__TRT_DriftCircleOnTrackTool(name = the_name, **kwargs)
 
 
@@ -749,7 +764,7 @@ def getInDetPixelConditionsSummaryTool() :
     from AthenaCommon.GlobalFlags import globalflags
     from InDetRecExample.InDetJobProperties import InDetFlags
     from PixelConditionsTools.PixelConditionsToolsConf import PixelConditionsSummaryTool
-    pixelConditionsSummaryToolSetup = PixelConditionsSummaryTool("PixelConditionsSummaryTool", 
+    pixelConditionsSummaryToolSetup = PixelConditionsSummaryTool("PixelConditionsSummaryTool",
                                                                  UseByteStream=(globalflags.DataSource=='data'))
     if InDetFlags.usePixelDCS():
         pixelConditionsSummaryToolSetup.IsActiveStates = [ 'READY', 'ON', 'UNKNOWN', 'TRANSITION', 'UNDEFINED' ]
@@ -917,7 +932,7 @@ def getInDetTRT_dEdxTool(name = "InDetTRT_dEdxTool", **kwargs) :
     if not DetFlags.haveRIO.TRT_on() or InDetFlags.doSLHC() or InDetFlags.doHighPileup() \
             or  InDetFlags.useExistingTracksAsInput(): # TRT_RDOs (used by the TRT_LocalOccupancy tool) are not present in ESD
         return None
-    
+
     from AthenaCommon.GlobalFlags import globalflags
     kwargs = setDefaults( kwargs, TRT_dEdx_isData = (globalflags.DataSource == 'data'))
 
@@ -944,7 +959,7 @@ def getInDetTRT_ElectronPidTool(name = "InDetTRT_ElectronPidTool", **kwargs) :
 
     if 'TRT_ToT_dEdx_Tool' not in kwargs :
         kwargs = setDefaults( kwargs, TRT_ToT_dEdx_Tool = getInDetTRT_dEdxTool())
-        
+
     from AthenaCommon.GlobalFlags import globalflags
     kwargs = setDefaults( kwargs, isData = (globalflags.DataSource == 'data'))
 
@@ -1115,7 +1130,6 @@ def getInDetTRTDriftCircleCutForPatternReco(name='InDetTRTDriftCircleCutForPatte
 @makePublicTool
 def getInDetTRT_RoadMaker(name='InDetTRT_RoadMaker',**kwargs) :
     the_name = makeName( name, kwargs)
-    from InDetRecExample.InDetKeys import InDetKeys
     kwargs=setDefaults(kwargs,
                        RoadWidth             = 20.,
                        PropagatorTool        = getInDetPatternPropagator())
@@ -1325,4 +1339,4 @@ def getInDetCosmicScoringTool_TRT(NewTrackingCuts, name='InDetCosmicExtenScoring
                                           'InDetCosmicScoringTool_TRT',
                                           **setDefaults(kwargs,
                                                         minTRTHits  = NewTrackingCuts.minSecondaryTRTonTrk(),
-                                                        SummaryTool = TrackingCommon.getInDetTrackSummaryToolNoHoleSearch()))
+                                                        SummaryTool = getInDetTrackSummaryToolNoHoleSearch()))
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
index 928e31d3251ebd5e3af773bd89e4a7b912c8115b..2ab663f27a5ee67e16cf21d2284585a80ec744ac 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
@@ -152,9 +152,10 @@ class ConfiguredInDetPreProcessingTRT:
                                                                MaskMiddleHTBitArgon                 = False,
                                                                MaskLastHTBitArgon                   = False,
                                                                useDriftTimeHTCorrection        = True,
-                                                               useDriftTimeToTCorrection       = True,
-                                                               # LumiDataKey                     = 'LuminosityCondData' # @TODO undo out-commenting to re-enable mu-correction for TRT error scaling
-                                                               )
+                                                               useDriftTimeToTCorrection       = True)
+         if not usePhase:
+            from InDetRecExample import TrackingCommon
+            InDetTRT_DriftCircleTool.LumiDataKey = TrackingCommon.getLumiCondDataKeyForTRTMuScaling()
 
          from AthenaCommon.BeamFlags import jobproperties 
          if InDetFlags.InDet25nsec() and jobproperties.Beam.beamType()=="collisions":