diff --git a/Calorimeter/CaloRec/python/CaloTopoClusterFlags.py b/Calorimeter/CaloRec/python/CaloTopoClusterFlags.py
deleted file mode 100644
index 1c10d8e275f2f4326fe772d5476cff6163ce9075..0000000000000000000000000000000000000000
--- a/Calorimeter/CaloRec/python/CaloTopoClusterFlags.py
+++ /dev/null
@@ -1,262 +0,0 @@
-
-# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
-
-#
-# $Id: CaloTopoClusterFlags.py,v 1.5 2009-05-04 16:23:04 lochp Exp $
-#
-# File: CaloRec/python/CaloTopoClusterFlags.py
-# Created: June 2007, S.Menke
-# Purpose: Define flags to steer topo cluster algorithm
-#
-# Modified: May 4, 2009, P.Loch
-# Purpose: Added steering for H1-style calibration of TopoClusters
-
-"""  A container of flags for CaloTopoCluster making configuring
-"""
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-#
-class doTopoClusterLocalCalib(JobProperty):
-    """ Flag to activate Local Hadron Calibration
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-#
-class usePhysicsList(JobProperty):
-    """ indicate the Physics List most appropriate for Local Hadron Calibration
-    """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "QGSP_BERT"
-
-#
-class doClusterVertexFraction(JobProperty):
-    """ Flag to activate calculation of cluster vertex fraction and append it as a cluster moment
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-                           
-#
-class doCalibHitMoments(JobProperty):
-    """ Flag to activate calibration hit based cluster moments
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-#>> PL May 4, 2009
-# Defines if cell weight signal is to be calculated
-class doCellWeightCalib(JobProperty):
-    """ Apply H1-style cell weighting to cluster (3rd signal state)
-    """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-# Defines reference jet finder for cell weights
-class cellWeightRefFinder(JobProperty):
-    """ Default jet finder for calibration weight extraction
-    """
-    statusOn      = True
-    allowedTypes  = ['str']
-    allowedValues = ["Cone","Kt","SISCone","AntKt"]
-    StoredValue   = "Cone"
-# Defines reference jet size for cell weights
-class cellWeightRefSize(JobProperty):
-    """ Default jet size for calibration weight extraction
-    """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.4
-# Defines reference jet calorimeter signal
-class cellWeightRefSignal(JobProperty):
-    """ Default calorimeter signal for cell weights
-    """
-    statusOn      = True
-    allowedTypes  = ['str']
-    allowedValues = ["Tower","Topo"]
-    StoredValue   = "Topo"
-
-class doTwoGaussianNoise(JobProperty):
-    """ Flag to activate two gaussian noise description
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-# Defines the container for the topo cluster making flags
-class CaloTopoClusterFlags(JobPropertyContainer):
-    """ The CaloTopoCluster making flag property container
-    """
-    pass
-  
-#Split clusters according to abs E only   
-class doTreatEnergyCutAsAbsolute(JobProperty):    
-    """ 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False    
-    
-#also compute moments from abs E from the Cells only  (has to go together with doTreatEnergyCutAsAbsolute)
-class doMomentsfromAbs(JobProperty):    
-    """ 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False       
-  
-
-class doTimeCut(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class extendTimeCut(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class useUpperLimitForTimeCut(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class timeCutUpperLimit(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=20.0
-
-class xtalkEM2(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class xtalkEM2D(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class xtalkEM2n(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class xtalkEM3(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class xtalkEMEta(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class xtalkDeltaT(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=15.0
-
-class xtalk2Eratio1(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=4.0
-
-class xtalk2Eratio2(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=25.
-
-class xtalk3Eratio(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=10.
-
-class xtalkEtaEratio(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=4.
-
-class xtalk2DEratio(JobProperty):
-    """
-    """
-    statusOn=True
-    allowedTypes=['float']
-    StoredValue=4.
-
-
-
-# add the flags container to the top container 
-jobproperties.add_Container(CaloTopoClusterFlags)
-
-
-# We want always the following flags in the container  
-list_jobproperties = [
-    doTopoClusterLocalCalib
-    ,usePhysicsList
-    #,lockTopoClusterSamplingEnergies
-    #,lockTopoClusterSamplingVariables
-    ,doClusterVertexFraction
-    #,printTopoClusters
-    ,doCalibHitMoments
-    ,doCellWeightCalib
-    ,cellWeightRefFinder
-    ,cellWeightRefSize
-    ,cellWeightRefSignal
-    ,doTwoGaussianNoise
-    ,doTreatEnergyCutAsAbsolute
-    ,doMomentsfromAbs
-    ,doTimeCut
-    ,extendTimeCut
-    ,useUpperLimitForTimeCut
-    ,timeCutUpperLimit
-    ,xtalkEM2
-    ,xtalkEM2D
-    ,xtalkEM2n
-    ,xtalkEM3
-    ,xtalkEMEta
-    ,xtalkDeltaT
-    ,xtalk2Eratio1
-    ,xtalk2Eratio2
-    ,xtalk3Eratio
-    ,xtalkEtaEratio
-    ,xtalk2DEratio
-    ]
-
-for i in list_jobproperties:
-    jobproperties.CaloTopoClusterFlags.add_JobProperty(i)
-
-## module clean-up
-del list_jobproperties
diff --git a/Calorimeter/CaloTools/python/CaloNoiseCondAlg.py b/Calorimeter/CaloTools/python/CaloNoiseCondAlg.py
deleted file mode 100644
index 87e6eea8f2d0b48bd7dcd05722579594aa95e2b0..0000000000000000000000000000000000000000
--- a/Calorimeter/CaloTools/python/CaloNoiseCondAlg.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-from AthenaCommon.AlgSequence import AthSequencer
-from IOVDbSvc.CondDB import conddb
-from AthenaCommon.Logging import logging 
-
-
-def CaloNoiseCondAlg(noisetype="totalNoise"):
-    if noisetype not in ("electronicNoise","pileupNoise","totalNoise"):
-        raise RuntimeError("Requested noise of unknown type %s" % noisetype)
-
-
-    noiseAlgName="Calo_"+noisetype+"Alg"
-    condSeq = AthSequencer("AthCondSeq")
-
-    if hasattr (condSeq,noiseAlgName):
-        return getattr(condSeq,noiseAlgName)
- 
-    if (conddb.isMC):
-        alg = _CaloNoiseCondAlgMC(noiseAlgName,noisetype)
-    else: 
-        alg = _CaloNoiseCondAlgData(noiseAlgName,noisetype)
-    condSeq += alg
-    return alg
-
-
-def _CaloNoiseCondAlgMC(noiseAlgName,noisetype):
-    mlog = logging.getLogger('CaloNoiseCondMC')
-
-    from CaloTools.CaloToolsConf import CaloNoiseCondAlg 
-    theCaloNoiseAlg=CaloNoiseCondAlg(noiseAlgName,OutputKey=noisetype)
-    from CaloTools.CaloNoiseFlags import jobproperties
-    if jobproperties.CaloNoiseFlags.FixedLuminosity() >= 0 :
-        theCaloNoiseAlg.Luminosity=jobproperties.CaloNoiseFlags.FixedLuminosity()
-        mlog.info("  Luminosity (in 10**33) units used for pileup noise from CaloNoiseFlags : %f", theCaloNoiseAlg.Luminosity)
-    else:
-        if jobproperties.CaloNoiseFlags.UseCaloLuminosity():
-            lumiFolder='/CALO/Ofl/Noise/PileUpNoiseLumi'
-            conddb.addFolder('CALO_OFL',lumiFolder,className="CondAttrListCollection")
-            mlog.info("offline mode: use luminosity from /CALO/Ofl/Noise/PileUpNoiseLumi to scale pileup noise")
-            theCaloNoiseAlg.LumiFolder = lumiFolder
-            theCaloNoiseAlg.Luminosity=-1.
-        else:
-            from AthenaCommon.BeamFlags import jobproperties
-            theCaloNoiseAlg.Luminosity=jobproperties.Beam.estimatedLuminosity()/1e+33
-            mlog.info("  Luminosity (in 10**33) units used for pileup noise from BeamFlags : %f", theCaloNoiseAlg.Luminosity)
-            pass
-        pass
-    theCaloNoiseAlg.LArNoiseFolder="/LAR/NoiseOfl/CellNoise"
-    conddb.addFolder("LAR_OFL","/LAR/NoiseOfl/CellNoise",className="CondAttrListCollection")
-    theCaloNoiseAlg.TileNoiseFolder="/TILE/OFL02/NOISE/CELL"
-    conddb.addFolder("TILE_OFL","/TILE/OFL02/NOISE/CELL",className="CondAttrListCollection")
-    theCaloNoiseAlg.CaloNoiseFolder="/CALO/Ofl/Noise/CellNoise"
-    conddb.addFolder("CALO_OFL","/CALO/Ofl/Noise/CellNoise",className="CondAttrListCollection")
-    
-    return theCaloNoiseAlg
-
-
-
-
-def _CaloNoiseCondAlgData(noiseAlgName,noisetype):
-    mlog = logging.getLogger('CaloNoiseCondData')
-    from CaloTools.CaloNoiseFlags import jobproperties
-    fixedLumi = jobproperties.CaloNoiseFlags.FixedLuminosity()
-    caloLumi  = jobproperties.CaloNoiseFlags.UseCaloLuminosity()
-
-    from CaloTools.CaloToolsConf import CaloNoiseCondAlg     
-    theCaloNoiseAlg=CaloNoiseCondAlg(noiseAlgName,OutputKey=noisetype)
-    
-    if conddb.isOnline:
-        folder = "/CALO/Noise/CellNoise"
-        theCaloNoiseAlg.CaloNoiseFolder=folder
-        theCaloNoiseAlg.LArNoiseFolder=""
-        theCaloNoiseAlg.TileNoiseFolder=""
-        conddb.addFolder('CALO_ONL',folder,className="CondAttrListCollection")
-        if fixedLumi >= 0 :
-            theCaloNoiseAlg.Luminosity = fixedLumi
-            mlog.info("online mode: use fixed luminosity for scaling pileup noise: %f", fixedLumi)
-        else:
-            if caloLumi:
-                lumiFolder='/CALO/Noise/PileUpNoiseLumi'
-                conddb.addFolder('CALO',lumiFolder,className="CondAttrListCollection")
-                theCaloNoiseAlg.LumiFolder = lumiFolder
-                theCaloNoiseAlg.Luminosity = -1.
-                mlog.info("online mode: use luminosity from /CALO/Noise/PileUpNoiseLumi to scale pileup noise")
-            else:
-                theCaloNoiseAlg.Luminosity = 0.
-                mlog.info("online mode: ignore pileup noise") 
-                pass
-    else: #regular offline mode
-        if conddb.dbdata=="CONDBR2": # Run2 case:
-            theCaloNoiseAlg.CaloNoiseFolder=""
-            theCaloNoiseAlg.LArNoiseFolder="/LAR/NoiseOfl/CellNoise"
-            theCaloNoiseAlg.TileNoiseFolder="/TILE/OFL02/NOISE/CELL"
-            conddb.addFolder("LAR_OFL","/LAR/NoiseOfl/CellNoise",className="CondAttrListCollection")
-            conddb.addFolder("TILE_OFL","/TILE/OFL02/NOISE/CELL",className="CondAttrListCollection")
-            from CaloRec.CaloCellFlags import jobproperties
-            if jobproperties.CaloCellFlags.doLArHVCorr():
-                mlog.info("Run2 & doLArHVCorr=True: Will rescale noise automatically for HV trips")
-                theCaloNoiseAlg.useHVCorr=True
-                from LArConditionsCommon import LArHVDB  # noqa: F401
-                pass
-            pass
-        else: #COMP200 case:
-            #The noise for runs before 2012 is in different folders:
-            theCaloNoiseAlg.CaloNoiseFolder="/CALO/Ofl/Noise/CellNoise"
-            theCaloNoiseAlg.LArNoiseFolder="/LAR/NoiseOfl/CellNoise"
-            theCaloNoiseAlg.TileNoiseFolder="/TILE/OFL02/NOISE/CELL"
-            conddb.addFolder("CALO_OFL","/CALO/Ofl/Noise/CellNoise",className="CondAttrListCollection")
-            conddb.addFolder("LAR_OFL","/LAR/NoiseOfl/CellNoise",className="CondAttrListCollection")
-            conddb.addFolder("TILE_OFL","/TILE/OFL02/NOISE/CELL",className="CondAttrListCollection")
-            
-
-        # for luminosity
-        if fixedLumi >= 0 :
-            theCaloNoiseAlg.Luminosity = fixedLumi
-            mlog.info("offline mode: use fixed luminosity for scaling pileup noise: %f", fixedLumi)
-        else:
-            theCaloNoiseAlg.Luminosity = -1
-            if caloLumi:
-                lumiFolder='/CALO/Ofl/Noise/PileUpNoiseLumi'
-                conddb.addFolder('CALO_OFL',lumiFolder,className="CondAttrListCollection")
-                mlog.info("offline mode: use luminosity from /CALO/Ofl/Noise/PileUpNoiseLumi to scale pileup noise")
-            else:
-                lumiFolder = '/TRIGGER/LUMI/LBLESTONL'
-                conddb.addFolder('TRIGGER_ONL',lumiFolder,className="CondAttrListCollection")
-                mlog.info("offline mode: use luminosity = f(Lumiblock) to scale pileup noise")
-            theCaloNoiseAlg.LumiFolder = lumiFolder
-                
-    return theCaloNoiseAlg
diff --git a/Calorimeter/CaloTools/python/CaloNoiseFlags.py b/Calorimeter/CaloTools/python/CaloNoiseFlags.py
deleted file mode 100644
index 6f7d09b94c14ebfcdd8704f2f4eaed79e9610f03..0000000000000000000000000000000000000000
--- a/Calorimeter/CaloTools/python/CaloNoiseFlags.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-""" Flags for define calo noise tool configuration
-"""
-#
-#
-__author__  = 'G.Unal'
-
-
-#=======================================================================
-# imports
-#=======================================================================
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-class FixedLuminosity(JobProperty):
-   """ Flag to force luminosity (10**33 units) to a given value corresponding to a given mu 
-        Lumi is related to mu by   Lumi = (mu/2.3) * 25ns/BunchSpacing(ns)
-         BunchSpacing should be consistent with what is used from DB, as noise/sqrt(Lumi) depends on BunchSpacing
-       if -1 uses lumi from database (Data) or Beam properties (MC) to perform the sqrt(Lumi) pileup noise scaling
-   """
-   statusOn = True
-   allowedType=['float']
-   StoredValue = -1.
-
-class UseCaloLuminosity(JobProperty):
-   """ Flag to tell to use the luminosity normalization for pileup noise from dedicated calo folder
-       instead of online per LumiBlock
-       Only active if FixedLuminosity is not >0
-   """
-   statusOn = True
-   allowedType=['bool']
-   StoredValue = True
-
-class CaloNoiseFlags(JobPropertyContainer):
-   """ The CaloNoiseFlag container
-   """
-   pass
-
-
-# add container to jobProperties
-jobproperties.add_Container(CaloNoiseFlags)
-
-list_jobproperties = [
-  FixedLuminosity,UseCaloLuminosity
-  ]
-
-for i in list_jobproperties:
-    jobproperties.CaloNoiseFlags.add_JobProperty(i)
-
-del list_jobproperties
diff --git a/DataQuality/DataQualityConfigurations/config/Tile/collisions_run.config b/DataQuality/DataQualityConfigurations/config/Tile/collisions_run.config
index 2e824a658b411424c819a5d35c4f6f4247a3dcff..24d5289ef81307da32aafd3200f03051ac762150 100644
--- a/DataQuality/DataQualityConfigurations/config/Tile/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/Tile/collisions_run.config
@@ -2726,7 +2726,7 @@ dir Tile {
 
   dir DigiNoise {
     output = TileCal/Noise/Digit
-    hist noisemap_.*_hi_.* {
+    hist TileDigiNoise.*_HG {
       regex = 1
     }
   }
@@ -3335,20 +3335,16 @@ algorithm Tile_TileDigiErrors_CheckNonZeroBins {
   UseTotalEntries = 0
   EntriesBin = 18
   algorithm LB {
-    reference = TileDigiErrorsLB
   }
   algorithm EB {
-    reference = TileDigiErrorsEB
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EB_special {
-    reference = TileDigiErrorsEB_special
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EB_innerMBTS {
-    reference = TileDigiErrorsEB_innerMBTS
     UseReference = 0
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU1_Zeros = 344
@@ -3356,7 +3352,6 @@ algorithm Tile_TileDigiErrors_CheckNonZeroBins {
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EBA40 {
-    reference = TileDigiErrorsEB_innerMBTS
     UseReference = 0
     thresholds = DMU_thr_EBA40
     IgnoreBin_DMU0_BadQ = 559
@@ -3624,7 +3619,7 @@ thresholds DMU_thr {
 thresholds DMU_thr_EBA40 {
   limits BinThreshold {
     warning = 0.001
-    error = 0.03
+    error = 0.01
   }
 }
 
diff --git a/DataQuality/DataQualityConfigurations/config/Tile/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/Tile/cosmics_run.config
index 030f73faa5de42176e9069046fe42d92d4041bcd..5cc98735e141a047b412412d5b97a268fa98dff8 100644
--- a/DataQuality/DataQualityConfigurations/config/Tile/cosmics_run.config
+++ b/DataQuality/DataQualityConfigurations/config/Tile/cosmics_run.config
@@ -1505,17 +1505,13 @@ algorithm DMU_alg {
   UseTotalEntries = 0
   EntriesBin = 18
   algorithm LB {
-    reference = TileDigiErrorsLB
   }
   algorithm EB {
-    reference = TileDigiErrorsEB
   }
   algorithm EB_special {
-    reference = TileDigiErrorsEB_special
   }
   algorithm EBA40 {
     thresholds = DMU_thr_EBA40
-    reference = TileDigiErrorsEB
   }
 }
 
diff --git a/DataQuality/DataQualityConfigurations/config/Tile/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/Tile/heavyions_run.config
index d8d9ca39075fbd4c5faca3d1ede2329a6d9e4419..ff52b62ce22eb8d6d60126db2a8488c63e0fd323 100644
--- a/DataQuality/DataQualityConfigurations/config/Tile/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/Tile/heavyions_run.config
@@ -3332,20 +3332,16 @@ algorithm Tile_TileDigiErrors_CheckNonZeroBins {
   UseTotalEntries = 0
   EntriesBin = 18
   algorithm LB {
-    reference = TileDigiErrorsLB
   }
   algorithm EB {
-    reference = TileDigiErrorsEB
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EB_special {
-    reference = TileDigiErrorsEB_special
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EB_innerMBTS {
-    reference = TileDigiErrorsEB_innerMBTS
     UseReference = 0
     IgnoreBin_DMU0_BadQ = 559
     IgnoreBin_DMU1_Zeros = 344
@@ -3353,7 +3349,6 @@ algorithm Tile_TileDigiErrors_CheckNonZeroBins {
     IgnoreBin_DMU4_BadQ = 563
   }
   algorithm EBA40 {
-    reference = TileDigiErrorsEB_innerMBTS
     UseReference = 0
     thresholds = DMU_thr_EBA40
     IgnoreBin_DMU0_BadQ = 559
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_minutes10.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/collisions_run.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_minutes10.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/cosmics_run.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_minutes10.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config
index 440b026b7c3b7fbe0096d871f2c4c2688aeda386..290c87f306fd2aa91d132b28e64408619fe7ec42 100644
--- a/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/sTGC/heavyions_run.config
@@ -2,641 +2,602 @@
 # sTG
 ###########################################################
 
-#############
-# Output
-#############
-
-output top_level {
-  output MuonDetectors {
-    output STG {
-      output Shifter {
-       output Overview { 
-       }
-       output Lumiblock {
-         output Strip {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Pad {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-         output Wire {
-          output Q1 {
-          }
-          output Q2 {
-          }
-          output Q3 {
-          }
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output PhiIDvsRelBCID {
-         }
-         output BandIDvsRelBCID {
-         }
-        }
-        output Hits {
-         output PFEBvsRelBCID {
-         }
-        }
-       }
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output Timing {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-      }
-      output Expert {
-       output Occupancy {
-         output Strip {
-         }
-         output Pad {
-         }
-         output Wire {
-         }
-       }
-       output PadTrigger {
-        output Triggers {
-         output OccupancyBandIDvsLB {
-         } 
-         output OccupancyBandIDvsPhiId {
-         }
-         output RelBCIDvsLB {
-         }
-        }
-        output Hits {
-          output padTriggerOccupancy {
-          }
-        }
-       }
-       output Timing {
-         output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-         output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-         }
-       }
-       output Residuals { 
-         output Overview { 
-         }
-         output ${occ_anysector} { 
-         } 
-       }
-       output Charge { 
-         output ${occ_anysector} {
-          output Strip {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Pad {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-          output Wire {
-           output Q1 {
-           }
-           output Q2 {
-           }
-           output Q3 {
-           }
-          }
-         }
-       }
-       output Efficiency { 
-        output ${occ_anysector} {
-        }
-       }
-      }
-   }
-  }
-}
-
 #######################
 # Histogram Assessments
 #######################
 dir Muon {
-
-  dir MuonRawDataMonitoring {
-    #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
-
-    dir STG {
-      
-      dir Shifter { 
-       dir Overview { 
-        regex = 1 
-        hist Strip_cluster_size_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_size
-          display = LogZ,Draw=COLZ
-        }
-        hist Strip_cluster_timing_ontrk_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_Ymeans_timing
-          display = LogZ,Draw=COLZ
-        }
-        hist strip_efficiency_per_mm_squared_Wheel[AC]_layer[1-8] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_etaPhi {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_eta {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-        hist padTrigger_Efficiency_per_phi_Side_[AC] {
-          output = MuonDetectors/STG/Shifter/Overview
-          algorithm = stg_efficiency_bins_out_of_range
-        }
-       }
-       dir Occupancy { 
-        regex = 1 
-        dir Pad { 
-         hist Pad_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Pad
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Strip {
-         hist Strip_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Strip
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-        dir Wire {
-         hist Wire_quad_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Occupancy/Wire
-          display = LogZ,Draw=COLZ
-          algorithm = Occupancy_Bins
-         }
-        }
-       }
-       dir PadTrigger {
-        dir Triggers {
-         hist OccupancySector_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist RelBCID_vs_LB {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideA_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeL {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         hist bandIds_vs_phiIds_SideC_SizeS {
-          output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
-          algorithm = stgc_Histogram_Not_Empty
-         }
-         dir PhiIDvsRelBCID {
-          regex = 1 
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_PhiID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir BandIDvsRelBCID {
-          regex = 1
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist Trigger_BandID_vs_RelBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Hits { 
-         dir PFEBvsRelBCID {
-          regex = 1
-          hist pFEB_vs_relBCID_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist pFEB_vs_relBCID_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         hist OccupancypFEB_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         hist relBCID_vs_Sector {
-           output = MuonDetectors/STG/Shifter/PadTrigger/Hits
-           algorithm = stgc_Histogram_Not_Empty
-         } 
-        }
-       }
-       dir Lumiblock {
-        regex = 1
-        dir Pad {
-         hist Nhits_all_pad_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_pad_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Strip {
-         hist Nhits_all_strip_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 { 
-          hist Nhits_all_strip_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
-           algorithm = stgc_Histogram_Not_Empty
+    dir MuonRawDataMonitoring {
+        dir STG {
+            dir Shifter { 
+                dir Overview { 
+                    regex = 1 
+                    hist Strip_cluster_size_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_size
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist Strip_cluster_timing_ontrk_per_sector_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_Ymeans_timing
+                         display = LogZ,Draw=COLZ
+                    }
+                    hist strip_efficiency_per_mm_squared_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_etaPhi {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                         display = Draw=COLZ
+                    }
+                    hist padTrigger_Efficiency_per_eta {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                    hist padTrigger_Efficiency_per_phi_.* {
+                         output = MuonDetectors/STG/Shifter/Overview
+                         algorithm = stg_efficiency_bins_out_of_range
+                    }
+                }
+                dir Occupancy { 
+                    regex = 1 
+                    dir Pad { 
+                        hist Pad_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Pad
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Strip {
+                        hist Strip_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Strip
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                    dir Wire {
+                        hist Wire_quad_occupancy_per_sector_.* {
+                             output = MuonDetectors/STG/Shifter/Occupancy/Wire
+                             display = LogZ,Draw=COLZ
+                             algorithm = Occupancy_Bins
+                        }
+                    }
+                }
+                dir PadTrigger {
+                    dir Triggers {
+                        regex = 1
+                        hist OccupancySector_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist RelBCID_vs_LB {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist bandIds_vs_phiIds_.* {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Triggers
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir PhiIDvsRelBCID {
+                            regex = 1 
+                            hist Trigger_PhiID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/PhiIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir BandIDvsRelBCID {
+                            regex = 1
+                            hist Trigger_BandID_vs_RelBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Triggers/BandIDvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Hits { 
+                        dir PFEBvsRelBCID {
+                            regex = 1
+                            hist pFEB_vs_relBCID_.* {
+                                 output = MuonDetectors/STG/Shifter/PadTrigger/Hits/PFEBvsRelBCID
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        hist OccupancypFEB_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        hist relBCID_vs_Sector {
+                             output = MuonDetectors/STG/Shifter/PadTrigger/Hits
+                             algorithm = stgc_Histogram_Not_Empty
+                        } 
+                    }
+                }
+                dir Lumiblock {
+                    regex = 1
+                    dir Pad {
+                        hist Nhits_all_pad_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Pad
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_pad_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Pad/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Strip {
+                        hist Nhits_all_strip_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Strip
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_strip_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+                    dir Wire {
+                        hist Nhits_all_wire_in_sector_per_LB {
+                             output = MuonDetectors/STG/Shifter/Lumiblock/Wire
+                             algorithm = stgc_Histogram_Not_Empty
+                        }
+                        dir Q1 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q1_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q2 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q2_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                        dir Q3 {
+                            hist Nhits_all_wire_in_sector_per_LB_in_Q3_.* {
+                                 output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
+                                 algorithm = stgc_Histogram_Not_Empty
+                            }
+                        }
+                    }
+               }    
+               dir Timing {
+                   regex = 1
+                   dir Pad {
+                       hist All_pad_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Pad
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }   
+                   dir Strip {
+                       hist All_strip_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Strip
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+                   dir Wire {
+                       hist All_wire_timing_per_sector_.* {
+                            output = MuonDetectors/STG/Shifter/Timing/Wire
+                            algorithm = stg_Ymeans_timing
+                       }
+                   }
+               }
+          }         
+          dir Expert { 
+              dir Occupancy {
+                  regex = 1
+                  dir Pad {
+                       hist Pad_ch_occupancy_per_sector_.* {
+                            output = MuonDetectors/STG/Expert/Occupancy/Pad
+                            algorithm = stgc_Histogram_Not_Empty
+                       }
+                  }
+                  dir Strip {
+                      hist Strip_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Strip
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+                  dir Wire {
+                      hist Wire_ch_occupancy_per_sector_.* {
+                           output = MuonDetectors/STG/Expert/Occupancy/Wire
+                           algorithm = stgc_Histogram_Not_Empty
+                      }
+                  }
+              }
+              dir PadTrigger {
+                  dir Hits {
+                      regex = 1
+                      dir padTriggerOccupancy {
+                          hist padEtaPhiOcc_[1-8][AC][LS] {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+                  dir Triggers { 
+                      regex = 1 
+                      dir OccupancyBandIDvsLB { 
+                          hist OccupancyBandId_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir OccupancyBandIDvsPhiId {
+                          hist bandIds_vs_phiIds_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir RelBCIDvsLB {
+                          hist RelBCID_vs_LB_.* {
+                               output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
+                               algorithm = stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Timing {
+                  regex = 1
+                  dir Pad {
+                      dir Q1 {
+                          hist All_pad_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_pad_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_pad_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Pad/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Strip {
+                      dir Q1 {
+                          hist All_strip_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_strip_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_strip_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Strip/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+                  dir Wire {
+                      dir Q1 {
+                          hist All_wire_timing_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q1
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q2 {
+                          hist All_wire_timing_in_Q2_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q2
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                      dir Q3 {
+                          hist All_wire_timing_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Timing/Wire/Q3
+                               algorithm = stg_Ymeans_timing
+                          }
+                      }
+                  }
+              }
+              dir Residuals {
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) { 
+                      dir Q1 { 
+                          hist Residuals_in_Q1_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                      dir Q3 { 
+                          hist Residuals_in_Q3_.* {
+                               output = MuonDetectors/STG/Expert/Residuals/${sector}
+                               display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
+                               algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+                          }
+                      }
+                  }
+              }
+              dir Efficiency {
+                  regex = 1
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      hist Efficiency_per_Radius_.* {
+                           output = MuonDetectors/STG/Expert/Efficiency/${sector}
+                           algorithm = stg_efficiency_bins_out_of_range
+                      }
+                  }
+              }
+              dir Charge { 
+                  regex = 1 
+                  algorithm = stgc_Histogram_Not_Empty
+                  dir (?P<sector>[AC][0-9]{2}) {
+                      dir Pad { 
+                          dir Q1 { 
+                              hist All_pad_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_pad_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_pad_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Pad/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Strip { 
+                          dir Q1 { 
+                              hist All_strip_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_strip_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_strip_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Strip/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                      dir Wire { 
+                          dir Q1 { 
+                              hist All_wire_charge_in_Q1_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q1
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q2 { 
+                              hist All_wire_charge_in_Q2_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q2
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                          dir Q3 { 
+                              hist All_wire_charge_in_Q3_.* {
+                                   output = MuonDetectors/STG/Expert/Charge/${sector}/Wire/Q3
+                                   display = Draw=e1,StatBox 
+                                   algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
+                              }
+                          }
+                      }
+                  }
+              }
           }
-         }
-         dir Q3 {
-          hist Nhits_all_strip_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Strip/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-        dir Wire {
-         hist Nhits_all_wire_in_sector_per_LB {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire
-           algorithm = stgc_Histogram_Not_Empty
-         }
-         dir Q1 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q1_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q1
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q2_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q2
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Nhits_all_wire_in_sector_per_LB_in_Q3_Layer*[12345678] {
-           output = MuonDetectors/STG/Shifter/Lumiblock/Wire/Q3
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         hist All_pad_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Pad
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Strip {
-         hist All_strip_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Strip
-          algorithm = stg_Ymeans_timing
-         }
-        }
-        dir Wire {
-         hist All_wire_timing_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Shifter/Timing/Wire
-          algorithm = stg_Ymeans_timing
-         }
-        }
-       }
       }
-      dir Expert { 
-       dir Occupancy {
-        regex = 1
-        dir Pad {
-         hist Pad_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Pad
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Strip {
-         hist Strip_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Strip
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-        dir Wire {
-         hist Wire_ch_occupancy_per_sector_Layer*[12345678] {
-          output = MuonDetectors/STG/Expert/Occupancy/Wire
-          algorithm = stgc_Histogram_Not_Empty
-         }
-        }
-       }
-       dir PadTrigger {
-         dir Hits {
-         regex = 1
-         dir padTriggerOccupancy {
-           hist padEtaPhiOcc_[1-8][AC][LS] {
-             output = MuonDetectors/STG/Expert/PadTrigger/Hits/padTriggerOccupancy
-             algorithm = stgc_Histogram_Not_Empty
-           }
-         }
-        }
-        dir Triggers { 
-         regex = 1 
-         dir OccupancyBandIDvsLB {
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[123456789] { 
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist OccupancyBandId_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir OccupancyBandIDvsPhiId {
-          hist bandIds_vs_phiIds_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist bandIds_vs_phiIds_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/OccupancyBandIDvsPhiId
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-         dir RelBCIDvsLB {
-          hist RelBCID_vs_LB_Side[AC]_Sector[123456789] {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-          hist RelBCID_vs_LB_Side[AC]_Sector[0-9]{2} {
-           output = MuonDetectors/STG/Expert/PadTrigger/Triggers/RelBCIDvsLB
-           algorithm = stgc_Histogram_Not_Empty
-          }
-         }
-        }
-       }
-       dir Timing {
-        regex = 1
-        dir Pad {
-         dir Q1 {
-           hist All_pad_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_pad_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_pad_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Pad/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }  
-        }
-        dir Strip {
-         dir Q1 {
-           hist All_strip_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_strip_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_strip_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Strip/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         }
-        }
-        dir Wire {
-         dir Q1 {
-           hist All_wire_timing_in_Q1_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q1
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q2 {
-           hist All_wire_timing_in_Q2_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q2
-             algorithm = stg_Ymeans_timing
-           }
-         }
-         dir Q3 {
-           hist All_wire_timing_in_Q3_Layer*[12345678] {
-             output = MuonDetectors/STG/Expert/Timing/Wire/Q3
-             algorithm = stg_Ymeans_timing
-           }
-         } 
-        }
-       }
-       dir Residuals {
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) { 
-         dir Q1 { 
-          hist Residuals_in_Q1_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q2 {
-          hist Residuals_in_Q2_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
-          }
-         }
-         dir Q3 {
-          hist Residuals_in_Q3_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Residuals/${occ_anysector}
-           display = Draw=E1,gauspluspol1(-2,2),AxisRange(-2,2,"X")
-           algorithm = stg_gaus_Fit&stgc_Histogram_Not_Empty
+   }  
+}
+
+#############
+# Output
+#############
+
+output top_level {
+       output MuonDetectors {
+              output STG {
+                     output Shifter {
+                            output Overview { 
+                            }
+                            output Lumiblock {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
           
-          }
-         } 
-        }
-       }
-       dir Efficiency {
-        regex = 1
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         hist Efficiency_per_Radius_Layer[1-8] {
-           output = MuonDetectors/STG/Expert/Efficiency/${occ_anysector}
-           algorithm = stg_efficiency_bins_out_of_range
-         }
-        }
-       }
-       dir Charge { 
-        regex = 1 
-        algorithm = stgc_Histogram_Not_Empty
-        dir (?P<occ_anysector>[AC][0-9]{2}) {
-         dir Pad { 
-          dir Q1 { 
-           hist All_pad_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q1
-            display = Draw=e1,StatBox 
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_pad_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_pad_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Pad/Q3  
-            display = Draw=e1,StatBox
-            algorithm = stg_pad_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Strip {
-          dir Q1 {
-           hist All_strip_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q1 
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_strip_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_strip_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Strip/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_strip_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-         dir Wire {
-          dir Q1 {
-           hist All_wire_charge_in_Q1_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q1
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q2 {
-           hist All_wire_charge_in_Q2_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q2
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-          dir Q3 {
-           hist All_wire_charge_in_Q3_Layer[1-8] {
-            output = MuonDetectors/STG/Expert/Charge/${occ_anysector}/Wire/Q3
-            display = Draw=e1,StatBox
-            algorithm = stg_wire_landau_Fit&stgc_Histogram_Not_Empty
-           }
-          }
-         }
-        }
-       }
-      }
-    }
-  } 
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output PhiIDvsRelBCID {
+                                          }
+                                          output BandIDvsRelBCID {
+                                          }
+                                   }
+                                   output Hits {
+                                          output PFEBvsRelBCID {
+                                          }
+                                   }
+                            }
+                            output Occupancy {
+                                   output Strip {
+                                   }
+                                   output Pad {
+                                   }
+                                   output Wire {
+                                   }
+                           }
+                           output Timing {
+                                  output Strip {
+                                  }
+                                  output Pad {
+                                  }
+                                  output Wire {
+                                  }
+                           }
+                     }
+                     output Expert {
+                            output Occupancy {
+                                   output Pad {
+                                   }
+                                   output Strip {
+                                   }
+                                   output Wire {
+                                   }
+                            }
+                            output PadTrigger {
+                                   output Triggers {
+                                          output OccupancyBandIDvsLB {
+                                          } 
+                                          output OccupancyBandIDvsPhiId {
+                                          }
+                                          output RelBCIDvsLB {
+                                          }
+                                   }
+                                   output Hits {
+                                          output padTriggerOccupancy {
+                                          }
+                                   }
+                            }
+                            output Timing {
+                                   output Pad {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Strip {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                                   output Wire {
+                                          output Q1 {
+                                          }
+                                          output Q2 {
+                                          }
+                                          output Q3 {
+                                          }
+                                   }
+                            }
+                            output Residuals { 
+                                   output ${sector} {
+                                   } 
+                            }
+                            output Charge { 
+                                   output ${sector} {
+                                          output Pad {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Strip {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                          output Wire {
+                                                 output Q1 {
+                                                 }
+                                                 output Q2 {
+                                                 }
+                                                 output Q3 {
+                                                 }
+                                          }
+                                    }
+                           }
+                           output Efficiency { 
+                                  output ${sector} {
+                                  }
+                          }
+                  }
+          }
+     }
 }
- 
+
 #############
 # Algorithms
 #############
@@ -648,6 +609,7 @@ algorithm stgc_Histogram_Not_Empty {
 }
 
 algorithm stgc_GatherData {
+  libname = libdqm_algorithms.so
   name = GatherData
   reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
@@ -686,7 +648,7 @@ algorithm stg_efficiency_bins_out_of_range {
   RANGE_D = 0.6
   RANGE_U = 1.01
   thresholds = range_thresholds_stgeff
-  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
+  #reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 
diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/MDTTDCOfflineSpectrum.h b/DataQuality/dqm_algorithms/dqm_algorithms/MDTTDCOfflineSpectrum.h
index b5329f8f9f8f4e69665ec3e66379c0e38f03250a..1ef4f4aaeb14b17f6b7cf73ef0529fa654fe75cc 100644
--- a/DataQuality/dqm_algorithms/dqm_algorithms/MDTTDCOfflineSpectrum.h
+++ b/DataQuality/dqm_algorithms/dqm_algorithms/MDTTDCOfflineSpectrum.h
@@ -12,6 +12,8 @@
 #include <dqm_core/Algorithm.h>
 #include <string>
 #include <iosfwd>
+#include <TH1.h>
+
 
 namespace dqm_algorithms
 {
@@ -24,6 +26,7 @@ namespace dqm_algorithms
     dqm_core::Result * execute( const std::string & , const TObject & , const dqm_core::AlgorithmConfig & );
     using dqm_core::Algorithm::printDescription;
     void  printDescription(std::ostream& out);
+    void MDTFitTDC(TH1* h, double &t0, double &t0err, double &tmax, double &tmaxerr);
     
     private:
     std::string m_name;
diff --git a/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx b/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
index 68da4f2681d1d88b5eced82c6a4ec07ceb302186..10ea95142d14a9fa4bd5c6537afb9901787f97a5 100644
--- a/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
+++ b/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
@@ -6,7 +6,6 @@
 #include <dqm_core/AlgorithmConfig.h>
 #include <dqm_algorithms/MDTTDCOfflineSpectrum.h>
 #include <dqm_algorithms/tools/AlgorithmHelper.h>
-#include <TH1.h>
 #include <TF1.h>
 #include <TClass.h>
 #include <ers/ers.h>
@@ -39,23 +38,18 @@ dqm_core::Result *
 dqm_algorithms::MDTTDCOfflineSpectrum::execute(	const std::string &  name, 
 						const TObject & object, 
                                                 const dqm_core::AlgorithmConfig & config )
-{  
-  const TH1 * histogram;
-
-  if( object.IsA()->InheritsFrom( "TH1" ) ) {
-    histogram = static_cast<const TH1*>(&object);
-    if (histogram->GetDimension() > 2 ){ 
-      throw dqm_core::BadConfig( ERS_HERE, name, "dimension > 2 " );
-    }
-  } else {
-    throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH1" );
+{
+
+
+  if (!object.IsA()->InheritsFrom("TH1")) {
+        throw dqm_core::BadConfig(ERS_HERE, name, "does not inherit from TH1");
+  }
+  std::unique_ptr<TH1> histogram(static_cast<TH1 *>(object.Clone())); // we just checked that this is really a TH1, so we can safely type-cast the pointer                                                                                
+  if (histogram->GetDimension() > 2) {
+    throw dqm_core::BadConfig(ERS_HERE, name, "dimension > 2");
   }
 
   const double minstat = dqm_algorithms::tools::GetFirstFromMap( "MinStat", config.getParameters(), -1);
-  /*
-  const bool publish = (bool) dqm_algorithms::tools::GetFirstFromMap( "PublishBins", config.getParameters(), 0); 
-  const int maxpublish = (int) dqm_algorithms::tools::GetFirstFromMap( "MaxPublish", config.getParameters(), 20); 
-  */
   
   if (histogram->GetEntries() < minstat ) {
     dqm_core::Result *result = new dqm_core::Result(dqm_core::Result::Undefined);
@@ -85,24 +79,38 @@ dqm_algorithms::MDTTDCOfflineSpectrum::execute(	const std::string &  name,
     throw dqm_core::BadConfig( ERS_HERE, name, ex.what(), ex );
   }
 
-  std::vector<int> range=dqm_algorithms::tools::GetBinRange(histogram, config.getParameters()); 
+
   dqm_core::Result* result = new dqm_core::Result();
-  
+
+  double t0;
+  double tmax;
+  double tdrift;
+  double t0Err;
+  double tmaxErr;
+    
   TF1* t0Fit = histogram->GetFunction("func1");
   TF1* tmaxFit = histogram->GetFunction("func2");
-  if(!t0Fit || !tmaxFit)  throw dqm_core::BadConfig( ERS_HERE, name, "TH1 has no TF1" );
-  double t0 = t0Fit->GetParameter(1);
-  double tmax = tmaxFit->GetParameter(1);
-  double tdrift = tmax - t0;
-  double t0Err = t0Fit->GetParameter(2);
-  double tmaxErr = tmaxFit->GetParameter(2);
+  
+  if(!t0Fit || !tmaxFit){
+    MDTFitTDC(histogram.get(), t0, t0Err, tmax, tmaxErr);
+    t0Fit = histogram->GetFunction("func1");
+    tmaxFit = histogram->GetFunction("func2");
+    tdrift = tmax - t0;
+    if(!t0Fit || !tmaxFit) throw dqm_core::BadConfig( ERS_HERE, name, "TH1 has no TF1" );
+  }else{
+    t0 = t0Fit->GetParameter(1);
+    tmax = tmaxFit->GetParameter(1);
+    tdrift = tmax - t0;
+    t0Err = t0Fit->GetParameter(2);
+    tmaxErr = tmaxFit->GetParameter(2);
+  }
   
   ERS_DEBUG(1, m_name << " TDrift " << " is " << tdrift );
   ERS_DEBUG(1,"Green threshold: "<< t0_low_warning << " < t0 < "<< t0_high_warning << " &&  " << tmax_low_warning <<" < tmax < " << tmax_high_warning <<   
-           " ;  Red threshold : t0 < " << t0_low_error      << "\n" << 
-                               "t0 > " << t0_high_error     << "\n" << 
-                               "tmax > " << tmax_high_error << "\n" <<
-                               "tmax < " << tmax_low_error
+	    " ;  Red threshold : t0 < " << t0_low_error      << "\n" << 
+	    "t0 > " << t0_high_error     << "\n" << 
+	    "tmax > " << tmax_high_error << "\n" <<
+	    "tmax < " << tmax_low_error
             );    
   
   std::map<std::string,double> tags;
@@ -167,3 +175,45 @@ dqm_algorithms::MDTTDCOfflineSpectrum::printDescription(std::ostream& out)
 
 }
 
+void dqm_algorithms::MDTTDCOfflineSpectrum::MDTFitTDC(TH1* h, double &t0, double &t0err, double &tmax, double &tmaxerr)
+{
+  t0 = tmax = 0;
+  t0err = tmaxerr = 0;
+  double up = h->GetBinCenter(h->GetMaximumBin()+1);
+  if( up > 200 ) up = 200;
+  double down = up + 650;
+  if( up < 50 ) up = 50;
+  double parESD0 = h->GetBinContent(h->GetMinimumBin());
+  double parESD1 = up;
+  double parESD2 = 20;
+  double parESD3 = h->GetBinContent(h->GetMaximumBin()) - h->GetBinContent(h->GetMinimumBin());
+  std::unique_ptr<TF1> func1 = std::make_unique<TF1>("func1", "[0]+([3]/(1+(TMath::Exp((-x+[1])/[2]))))", 0, up); // tzero             
+  func1->SetParameters(parESD0, parESD1, parESD2, parESD3);
+  if(h->GetEntries()>100){
+    h->Fit("func1","RQ");
+    t0 = func1->GetParameter(1) ;
+    t0err = func1->GetParError(1);
+    double binAtT0 = (double)h->GetBinContent(h->FindBin(t0));
+    if(binAtT0<1) binAtT0 = 1;
+    t0err += 10.0 * func1->GetChisquare() / (0.01*binAtT0*binAtT0*(double)func1->GetNumberFitPoints()); // to additionally account for bad fits                                                                                   
+  }
+  
+  parESD0 = h->GetBinContent(h->GetMinimumBin());
+  parESD1 = down;
+  parESD2 = 50;
+  parESD3 = (h->GetBinContent(h->GetMaximumBin())-h->GetBinContent(h->GetMinimumBin()))/10.;
+  std::unique_ptr<TF1> func2 = std::make_unique<TF1>("func2", "[0]+([3]/(1+(TMath::Exp((x-[1])/[2]))))", down-135, down+135); // tmax
+  func2->SetParameters(parESD0,parESD1,parESD2,parESD3);
+  if(h->GetEntries()>100){
+    func2->SetParLimits(0, parESD0, 2.0*parESD0+1);
+    func2->SetParLimits(2, 5, 90);
+    func2->SetParLimits(3, 0.2*parESD3, 7*parESD3);
+    h->Fit("func2","WWRQ+");
+    tmax = func2->GetParameter(1);
+    tmaxerr = func2->GetParError(1);
+    double binAtTmax = (double)h->GetBinContent(h->FindBin(tmax));
+    if(binAtTmax<1) binAtTmax = 1;
+    tmaxerr += 10.0 * func2->GetChisquare() / (0.01*binAtTmax*binAtTmax*(double)func2->GetNumberFitPoints()); // to additionally account for bad fits                                                                             
+  }
+
+}
diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/Root/RPDDataAnalyzer.cxx b/ForwardDetectors/ZDC/ZdcAnalysis/Root/RPDDataAnalyzer.cxx
index 7f04f0fb957cdcbac4469f2d69bfb0d1d4c6b7e9..f9c3ae87eea676ac9040fd1692bb3b1506c6938a 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/Root/RPDDataAnalyzer.cxx
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/Root/RPDDataAnalyzer.cxx
@@ -3,6 +3,7 @@
 #include "TLinearFitter.h"
 #include "TMath.h"
 #include <limits>
+#include <set>
 
 const auto zeroVector = [](std::vector<float>& v){ v.assign(v.size(), 0); };
 const auto zeroVectorVector = [](std::vector<std::vector<float>>& vv){ for (std::vector<float>& v : vv) v.assign(v.size(), 0); };
@@ -193,14 +194,12 @@ float RPDDataAnalyzer::calculateBaselineSamplesMSE(unsigned int channel, std::fu
  * Perform an exponential fit in baseline-subtracted baseline samples and set relevant status bits.
  * Returns true if the fit and subtraction are good, false if there was a problem.
  */
-bool RPDDataAnalyzer::doPileupExpFit(unsigned int channel)
+bool RPDDataAnalyzer::doPileupExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints)
 {
   TLinearFitter fitter(1, "1 ++ x");
-  double x, y;
-  for (unsigned int sample = 0; sample < m_nBaselineSamples; sample++) {
+  double x;
+  for (auto const& [sample, y] : pileupFitPoints) {
     x = sample;
-    y = m_chFadcData.at(channel).at(sample) - m_chBaseline.at(channel);
-    if (y <= 0) continue;
     fitter.AddPoint(&x, std::log(y));
   }
   if (fitter.Eval()) {
@@ -226,14 +225,12 @@ bool RPDDataAnalyzer::doPileupExpFit(unsigned int channel)
  * Perform a stretched exponential fit in baseline-subtracted baseline samples and set relevant status bits.
  * Returns true if the fit and subtraction are good, false if there was a problem.
  */
-bool RPDDataAnalyzer::doPileupStretchedExpFit(unsigned int channel)
+bool RPDDataAnalyzer::doPileupStretchedExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints)
 {
   TLinearFitter fitter(1, "1 ++ (x + 4)**(0.5) ++ (x + 4)**(-0.5)");
-  double x, y;
-  for (unsigned int sample = 0; sample < m_nBaselineSamples; sample++) {
+  double x;
+  for (auto const& [sample, y] : pileupFitPoints) {
     x = sample;
-    y = m_chFadcData.at(channel).at(sample) - m_chBaseline.at(channel);
-    if (y <= 0) continue;
     fitter.AddPoint(&x, std::log(y));
   }
   if (fitter.Eval()) {
@@ -282,11 +279,19 @@ bool RPDDataAnalyzer::doBaselinePileupSubtraction(unsigned int channel) {
   float const& calibFactor = m_calibFactors.at(channel);
 
   float baselineSum = 0;
-  unsigned int nFitPoints = 0;
+  /** points (sample, baseline-subtracted ADC) with ADC above baseline, to be used in fit in case of pileup */
+  std::vector<std::pair<unsigned int, float>> pileupFitPoints;
+  /** set of (unique) ADC values in baseline samples above nominal baseline */
+  std::set<float> uniqueBaselineValues;
   for (unsigned int sample = 0; sample < m_nBaselineSamples; sample++) {
-    float &adc = m_chFadcData.at(channel).at(sample);
+    float const& adc = m_chFadcData.at(channel).at(sample);
     baselineSum += adc;
-    if (adc - m_nominalBaseline > 0) nFitPoints++;
+    float const adcBaselineSubtr = adc - m_nominalBaseline;
+    if (adcBaselineSubtr > 0) {
+      // this sample is a candidate for pileup fit
+      pileupFitPoints.push_back({sample, adcBaselineSubtr});
+      uniqueBaselineValues.insert(adc);
+    }
   }
   float baselineStdDev = TMath::RMS(m_chFadcData.at(channel).begin(), std::next(m_chFadcData.at(channel).begin(), m_nBaselineSamples));
 
@@ -307,7 +312,7 @@ bool RPDDataAnalyzer::doBaselinePileupSubtraction(unsigned int channel) {
   // we suspect that there is pileup - use nominal baseline
   m_chBaseline.at(channel) = m_nominalBaseline;
 
-  if (nFitPoints < 2) {
+  if (pileupFitPoints.size() < s_minPileupFitPoints || uniqueBaselineValues.size() < s_minUniquePileupFitPoints) {
     m_chStatus.at(channel).set(InsufficientPileupFitPointsBit, true);
     // there are not enough points to do fit, so just use nominal baseline and call it a day
     for (unsigned int sample = 0; sample < m_nSamples; sample++) {
@@ -319,8 +324,8 @@ bool RPDDataAnalyzer::doBaselinePileupSubtraction(unsigned int channel) {
   // there is OOT pileup in this channel => expect approx. negative exponential in baseline samples
   m_chStatus.at(channel).set(OutOfTimePileupBit, true);
   // fit (approximately) to exponential and stretched exponential in baseline samples
-  bool expFitSuccess = doPileupExpFit(channel);
-  bool stretchedExpFitSuccess = doPileupStretchedExpFit(channel);
+  bool expFitSuccess = doPileupExpFit(channel, pileupFitPoints);
+  bool stretchedExpFitSuccess = doPileupStretchedExpFit(channel, pileupFitPoints);
 
   if (stretchedExpFitSuccess) {
     // calculate fadc data with baseline and pileup contribution subtracted
diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/Root/RpdSubtractCentroidTool.cxx b/ForwardDetectors/ZDC/ZdcAnalysis/Root/RpdSubtractCentroidTool.cxx
index f895e235fa91941233cb71a69bc43c7634a6b4d6..194be38e019fcff199dd1fd15191ab5b82db2b52 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/Root/RpdSubtractCentroidTool.cxx
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/Root/RpdSubtractCentroidTool.cxx
@@ -404,7 +404,7 @@ void RpdSubtractCentroidTool::writeAOD(xAOD::ZdcModuleContainer const& moduleSum
   ATH_MSG_DEBUG("Adding variables with suffix=" + m_auxSuffix);
 
   // initialize write handles from write handle keys
-  SG::WriteDecorHandle<xAOD::ZdcModuleContainer, bool> centroidEventValidHandle(m_centroidEventValidKey);
+  SG::WriteDecorHandle<xAOD::ZdcModuleContainer, char> centroidEventValidHandle(m_centroidEventValidKey);
   SG::WriteDecorHandle<xAOD::ZdcModuleContainer, unsigned int> centroidStatusHandle(m_centroidStatusKey);
   SG::WriteDecorHandle<xAOD::ZdcModuleContainer, std::vector<float>> rpdChannelSubtrAmpHandle(m_RPDChannelSubtrAmpKey);
   SG::WriteDecorHandle<xAOD::ZdcModuleContainer, float> rpdSubtrAmpSumHandle(m_RPDSubtrAmpSumKey);
@@ -427,6 +427,7 @@ void RpdSubtractCentroidTool::writeAOD(xAOD::ZdcModuleContainer const& moduleSum
       side = 1;
     } else {
       // global sum container
+      // event status is bool, but stored as char to save disk space
       centroidEventValidHandle(*zdcSum) = m_eventStatus;
       cosDeltaReactionPlaneAngleHandle(*zdcSum) = m_cosDeltaReactionPlaneAngle;
       continue;
diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/RPDDataAnalyzer.h b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/RPDDataAnalyzer.h
index 3eb6c11db2444474d7282be5754600c46e5ac9c6..9f58161fbdef52eb34c4c96372c0f993ab216e3f 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/RPDDataAnalyzer.h
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/RPDDataAnalyzer.h
@@ -89,8 +89,8 @@ class RPDDataAnalyzer
 
   void setSideStatusBits();
 
-  bool doPileupExpFit(unsigned int channel);
-  bool doPileupStretchedExpFit(unsigned int channel);
+  bool doPileupExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
+  bool doPileupStretchedExpFit(unsigned int channel, std::vector<std::pair<unsigned int, float>> const& pileupFitPoints);
   float calculateBaselineSamplesMSE(unsigned int channel, std::function<float(unsigned int)> const& fit) const;
 
   ZDCMsg::MessageFunctionPtr m_msgFunc_p;
@@ -133,5 +133,18 @@ class RPDDataAnalyzer
   std::vector<float> m_ch2ndOrderStretchedExpPileupMSE; /** mean squared error of pileup stretched exponential fit in baseline samples (if pileup was detected and fit did not fail); per channel */
   std::vector<std::bitset<32>> m_chStatus; /** status bits per channel */
   std::bitset<32> m_sideStatus; /** status bits for side */
+
+  /**
+   * in the case of pileup, the number of points (above baseline) in baseline samples required to perform fit.
+   * if insufficient points, set InsufficientPileupFitPointsBit and abort pileup subtraction
+   */
+  static unsigned int constexpr s_minPileupFitPoints = 3;
+  /**
+   * in the case of pileup, the number of UNIQUE points (above baseline) in baseline samples required to perform fit.
+   * this number must be at least the number of parameters in pileup fits, else inversion of Gram matrix in TLinearFitter
+   * will fail and generate ROOT error that propagates to Athena.
+   * if insufficient points, set InsufficientPileupFitPointsBit and abort pileup subtraction.
+   */
+  static unsigned int constexpr s_minUniquePileupFitPoints = 3;
 };
 #endif
diff --git a/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx b/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx
index 0c06716a2208aa1bf17177205b2421e058607073..040c8dea3dfada6429edc84efde632eaa0a6c3ae 100644
--- a/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx
+++ b/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx
@@ -219,7 +219,7 @@ StatusCode ZdcNtuple :: initialize ()
     }
     if (enableCentroid)
     {
-      m_outputTree->Branch("zdc_centroidEventValid", &t_centroidEventValid, "zdc_centroidEventValid/b");
+      m_outputTree->Branch("zdc_centroidEventValid", &t_centroidEventValid, "zdc_centroidEventValid/B");
       m_outputTree->Branch("zdc_centroidStatus", &t_centroidStatus, "zdc_centroidStatus[2]/i");
       m_outputTree->Branch("zdc_RPDChannelSubtrAmp", &t_RPDChannelSubtrAmp, "zdc_RPDChannelSubtrAmp[2][16]/F");
       m_outputTree->Branch("zdc_RPDSubtrAmpSum", &t_RPDSubtrAmpSum, "zdc_RPDSubtrAmpSum[2]/F");
@@ -710,7 +710,7 @@ void ZdcNtuple::processZdcNtupleFromModules()
     {
       if (zdcSum->zdcSide()==0) {
         // new global sum
-        t_centroidEventValid = zdcSum->auxdataConst<bool>("centroidEventValid" + auxSuffix);
+        t_centroidEventValid = zdcSum->auxdataConst<char>("centroidEventValid" + auxSuffix);
         t_cosDeltaReactionPlaneAngle = zdcSum->auxdataConst<float>("cosDeltaReactionPlaneAngle" + auxSuffix);
         continue;
       }
diff --git a/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h b/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h
index 8aa360e4f876d08d45394f3f220d35d519af65c0..260c7cfbabbd8fa4e29c71e4e09fb4de5892b0cb 100644
--- a/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h
+++ b/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h
@@ -234,7 +234,7 @@ public:
   unsigned int t_RpdSideStatus[2];
   unsigned int t_RpdModuleTruthNphotons[2][16];
 
-  bool t_centroidEventValid;
+  char t_centroidEventValid;
   unsigned int t_centroidStatus[2];
   float t_RPDChannelSubtrAmp[2][16];
   float t_RPDSubtrAmpSum[2];
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonGenericTracksAlgCfg.py b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonGenericTracksAlgCfg.py
index dd75807eb255cef05cce1e6c54dd7e81d9cca6ee..18449f1cbd5362715dfb4bdf603a72c831a9623c 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonGenericTracksAlgCfg.py
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonGenericTracksAlgCfg.py
@@ -67,13 +67,12 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=101, xmin=-0.5, xmax= 100.5)
 
     varName = 'm_lb_event;LumiBlock'
-    title = 'Events per Lumiblock;Lumiblock;Events'
+    title = 'Lumiblock of the events;Lumiblock;Events'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=1024, xmin=-0.5, xmax=1023.5)
 
-    ## Plots per lumiblock
-
+    # Plots per lumiblock
     varName = 'm_lb_track;NTracksPerLumiBlock'
-    title = 'Tracks per LumiBlock;Lumiblock;Tracks'
+    title = 'Tracks Per LumiBlock;Lumiblock;Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=1024, xmin=-0.5, xmax=1023.5)
 
     varName = 'm_lb_pixhits;NPixPerLumiBlock'
@@ -88,7 +87,6 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     title = 'TRT Hits per LumiBlock;Lumiblock;TRT Hits'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=1024, xmin=-0.5, xmax=1023.5)
 
-
     # Start loop on tracks
     ## Hits per track
     varName = 'm_nhits_per_track;Nhits_per_track'
@@ -104,11 +102,11 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_rangePixHits+1, xmin=-0.5, xmax=m_rangePixHits +0.5)
     
     varName = 'm_npixelhits_per_track_eca;Npixhits_per_track_eca'
-    title = 'Number of PIXEL hits per track (ECA);Pixel hits in EndCap A;Tracks'
+    title = 'Number of PIXEL (PIX+IBL) hits per track (ECA);Pixel hits in EndCap A;Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_rangePixHits+1, xmin=-0.5, xmax=m_rangePixHits +0.5)
     
     varName = 'm_npixelhits_per_track_ecc;Npixhits_per_track_ecc'
-    title = 'Number of PIXEL hits per track (ECC);Pixel hits in EndCap C;Tracks'
+    title = 'Number of PIXEL (PIX+IBL) hits per track (ECC);Pixel hits in EndCap C;Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_rangePixHits+1, xmin=-0.5, xmax=m_rangePixHits +0.5)
     
     varName = 'm_nscthits_per_track;Nscthits_per_track'
@@ -144,15 +142,15 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_rangeTRTHits+1, xmin=-0.5, xmax=m_rangeTRTHits +0.5)
 
     varName = 'm_eta_2fillpix,m_npixelhits_per_track_2filleta;Npixhits_vs_eta'
-    title = "Number of Pixel hits vs track #eta;Track #eta;Pixel hits (PIX+IBL)"
+    title = "Number of Pixel hits vs track #eta; Track #eta;Pixel hits (PIX+IBL)"
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_etaBins, xmin=-m_etaRange, xmax=m_etaRange, ybins=m_rangePixHits+1, ymin=-0.5, ymax=m_rangePixHits +0.5)
 
     varName = 'm_eta_2fillsct,m_nscthits_per_track_2filleta;Nscthits_vs_eta'
-    title = "Number of SCT hits vs track #eta;Track #eta;SCT hits"
+    title = "Number of SCT hits vs track #eta; Track #eta;SCT hits"
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_etaBins, xmin=-m_etaRange, xmax=m_etaRange, ybins=m_rangeSCTHits+1, ymin=-0.5, ymax=m_rangeSCTHits +0.5)
 
     varName = 'm_eta_2filltrt,m_ntrthits_per_track_2filleta;Ntrthits_vs_eta'
-    title = "Number of TRT hits vs track #eta;Track #eta;TRT hits"
+    title = "Number of TRT hits vs track #eta; Track #eta;TRT hits"
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_etaBins, xmin=-m_etaRange, xmax=m_etaRange, ybins=m_rangeTRTHits+1, ymin=-0.5, ymax=m_rangeTRTHits +0.5)
 
     varName = 'm_chi2oDoF;chi2oDoF'
@@ -161,7 +159,7 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
 
     ## Track params
     varName = 'm_eta;eta'
-    title = 'Track #eta;Track #eta;Tracks'
+    title = 'eta;Track #eta;Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_etaBins, xmin=-m_etaRange, xmax=m_etaRange)
 
     varName = 'm_errEta;err_Eta'
@@ -185,15 +183,15 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=50, xmin=0, xmax= 0.002)
 
     varName = 'm_z0;z0_origin'
-    title = 'z_{0} (computed vs origin);z_{0} (origin) [mm];Tracks'
+    title = 'z_{0} (computed vs origin); z_{0} (origin) [mm];Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_d0BsNbins, xmin=-m_z0Range, xmax=m_z0Range)
 
     varName = 'm_errZ0;err_z0'
     title = 'z_{0} error; z_{0} error [mm];Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=50, xmin=0, xmax=0.3)
 
-    varName = 'm_z0_bscorr;z0_bscorr'
-    title = 'z_{0} (corrected for beamspot);z_{0} (BS) [mm];Tracks'
+    varName = 'm_z0_bscorr;z0'
+    title = 'z_{0} (corrected for beamspot);z_{0} (BS) [mm]; Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_d0BsNbins, xmin=-m_z0Range, xmax=m_z0Range)
 
     varName = 'm_z0sintheta;z0sintheta'
@@ -205,11 +203,11 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_d0BsNbins, xmin=-m_d0Range, xmax=m_d0Range)
 
     varName = 'm_errD0;errD0'
-    title = 'd_{0} error;d_{0} error [mm];Tracks'
+    title = 'd_{0} error;d_{0} error [mm]; Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=60, xmin=0, xmax=0.05)
 
     varName = 'm_d0_bscorr;d0_bscorr'
-    title = 'd_{0} (corrected for beamspot);d_{0} (BS) [mm];Tracks'
+    title = 'd_{0} (corrected for beamspot);d_{0} (BS) [mm]; Tracks'
     genericTrackGroup.defineHistogram(varName, type='TH1F', path=pathtrack, title=title, xbins=m_d0BsNbins, xmin=-m_d0BsRange, xmax=m_d0BsRange)
 
     varName = 'm_pT;pT'
@@ -244,19 +242,19 @@ def IDAlignMonGenericTracksAlgCfg(helper, alg, **kwargs):
     title = 'd_{0} (BS) Vs p_{T};Signed track p_{T} [GeV];d_{0} (BS) [mm]'
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=200, xmin=-m_pTRange, xmax=m_pTRange, ybins=m_d0BsNbins, ymin=-m_d0BsRange, ymax=m_d0BsRange)
    
-    varName = 'm_phi_2filld0bscorr,m_d0_bscorr_2fillphi;D0bsVsPhi0'
+    varName = 'm_phi_2filld0bscorr,m_d0_bscorr_2fillphi;D0VsPhi0'
     title = 'd_{0} (BS) Vs #phi_{0};Track #phi_{0} [rad];d_{0} (BS) [mm]'
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_phiBins, xmin=0, xmax= 2 * M_PI, ybins=m_d0BsNbins, ymin=-m_d0BsRange, ymax=m_d0BsRange)
    
-    varName = 'm_phi_2filld0bscorrBAR,m_d0_bscorrBAR;D0bsVsPhi0_Barrel'
+    varName = 'm_phi_2filld0bscorrBAR,m_d0_bscorrBAR;D0VsPhi0_Barrel'
     title = 'd_{0} (BS) Vs #phi_{0} (Barrel);Track #phi_{0} [rad];d_{0} (BS) [mm]'
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_phiBins, xmin=0, xmax= 2 * M_PI, ybins=m_d0BsNbins, ymin=-m_d0BsRange, ymax=m_d0BsRange)
    
-    varName = 'm_phi_2filld0bscorrECA,m_d0_bscorrECA;D0bsVsPhi0_ECA'
+    varName = 'm_phi_2filld0bscorrECA,m_d0_bscorrECA;D0VsPhi0_ECA'
     title = 'd_{0} (BS) Vs #phi_{0} (ECA);Track #phi_{0} [rad];d_{0} (BS) [mm]'
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_phiBins, xmin=0, xmax= 2 * M_PI, ybins=m_d0BsNbins, ymin=-m_d0BsRange, ymax=m_d0BsRange)
    
-    varName = 'm_phi_2filld0bscorrECC,m_d0_bscorrECC;D0bsVsPhi0_ECC'
+    varName = 'm_phi_2filld0bscorrECC,m_d0_bscorrECC;D0VsPhi0_ECC'
     title = 'd_{0} (BS) Vs #phi_{0} (ECC);Track #phi_{0} [rad];d_{0} (BS) [mm]'
     genericTrackGroup.defineHistogram(varName, type='TH2F', path=pathtrack, title=title, xbins=m_phiBins, xmin=0, xmax= 2 * M_PI, ybins=m_d0BsNbins, ymin=-m_d0BsRange, ymax=m_d0BsRange)
    
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonResidualsAlgCfg.py b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonResidualsAlgCfg.py
index f2fdc65decc87454ebe3f5da2b73d30a9408fbe8..54895ffb6fc516c1b85d32a0be9492ff98010807 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonResidualsAlgCfg.py
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/python/IDAlignMonResidualsAlgCfg.py
@@ -298,6 +298,16 @@ def IDAlignMonResidualsAlgCfg(helper, alg, **kwargs):
         tool.defineHistogram(name, title = title, type = 'TH1F',
                              xbins = 100 * m_FinerBinningFactor, xmin = m_minSiResFillRange, xmax = m_maxSiResFillRange)
 
+    # Define local X 3D histograms 
+    residualX3DArray = helper.addArray([len(layersPix)], alg, 'PixResidualX_3D', topPath = pathResiduals)
+    for postfix, tool in residualX3DArray.Tools.items():
+        layer = layersPix[int( postfix.split('_')[1] )]
+        title = ('Local X Residual vs Module Eta-Phi-ID Pixel Barrel layer %s; Mod Eta; Mod Phi; Local X Residual [mm]' % layer) 
+        name = 'm_modEta,m_modPhi,m_pix_residualsx;pix_b' + layer + '_xresvsmodetaphi_3d'
+        tool.defineHistogram(name, title = title, type = 'TProfile2D', xbins = m_EtaModulesPix[int(layer)], xmin = m_EtaModulesMinPix[int(layer)], xmax = m_EtaModulesMaxPix[int(layer)],
+                                                  ybins = m_PhiModules[int(layer)], ymin = -0.5, ymax = m_PhiModules[int(layer)] - 0.5,
+                                                  zmin = m_minSiResFillRange, zmax = m_maxSiResFillRange)
+
     residualYArray = helper.addArray([len(layersPix)], alg, 'PixResidualY', topPath = pathResiduals)
     for postfix, tool in residualYArray.Tools.items():
         layer = layersPix[int( postfix.split('_')[1] )]
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonGenericTracksAlg.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonGenericTracksAlg.cxx
index b234cb74f374647fbd0b8539dba13fdc8139c618..305bd21e5465d4e49a40add656c554e59b2d6520 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonGenericTracksAlg.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonGenericTracksAlg.cxx
@@ -536,12 +536,10 @@ StatusCode IDAlignMonGenericTracksAlg::fillHistograms( const EventContext& ctx )
     fill(genericTrackGroup, errD0_m);
     auto d0_bscorr_m = Monitored::Scalar<float>( "m_d0_bscorr", d0bscorr );
     fill(genericTrackGroup, d0_bscorr_m);
-
     //d0 vs Eta
     auto eta_2filld0bscorr_m = Monitored::Scalar<float>( "m_eta_2filld0bscorr", trketa );
     auto d0_bscorr_2filleta_m = Monitored::Scalar<float>( "m_d0_bscorr_2filleta", d0bscorr );
     fill(genericTrackGroup, eta_2filld0bscorr_m, d0_bscorr_2filleta_m); 
-   
     //d0 vs phi 
     auto phi_2filld0bscorr_m = Monitored::Scalar<float>( "m_phi_2filld0bscorr", trkphi );
     auto d0_bscorr_2fillphi_m = Monitored::Scalar<float>( "m_d0_bscorr_2fillphi", d0bscorr );
@@ -584,7 +582,7 @@ StatusCode IDAlignMonGenericTracksAlg::fillHistograms( const EventContext& ctx )
     auto pT_2fillpTRes_m = Monitored::Scalar<float>( "m_pT_2fillpTRes", pT );
     fill(genericTrackGroup, pT_2fillpTRes_m, pTRes_2fillpT_m);
 
-     //d0 vs pT
+    //d0 vs pT
     auto pT_2filld0bscorr_m = Monitored::Scalar<float>( "m_pT_2filld0bscorr", pT );
     auto d0_bscorr_2fillpT_m = Monitored::Scalar<float>( "m_d0_bscorr_2fillpT", d0bscorr );
     fill(genericTrackGroup, pT_2filld0bscorr_m, d0_bscorr_2fillpT_m); 
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.cxx
index 1cbc0c2f455db8018ee8b5545f60c7a29c4633aa..4c21aa2a579be8362b87d09a80a39758bf16ffb6 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.cxx
@@ -91,6 +91,7 @@ StatusCode IDAlignMonResidualsAlg::initialize()
   ATH_CHECK( m_tracksKey.initialize() );
 
   m_pixResidualX = Monitored::buildToolMap<int>(m_tools, "PixResidualX", m_nSiBlayers);
+  m_pixResidualX_3D = Monitored::buildToolMap<int>(m_tools, "PixResidualX_3D", m_nSiBlayers);
   m_pixResidualY = Monitored::buildToolMap<int>(m_tools, "PixResidualY", m_nSiBlayers);
   m_pixPullX = Monitored::buildToolMap<int>(m_tools, "PixPullX", m_nSiBlayers);
   m_pixPullY = Monitored::buildToolMap<int>(m_tools, "PixPullY", m_nSiBlayers);
@@ -485,6 +486,7 @@ StatusCode IDAlignMonResidualsAlg::fillHistograms( const EventContext& ctx ) con
 	  fill(residualGroup, pix_b_biased_residualy_m);
 	  auto pix_b_residualsx_m = Monitored::Scalar<float>("m_pix_residualsx", residualX);
 	  fill(m_tools[m_pixResidualX[layerDisk]], pix_b_residualsx_m);
+    fill(m_tools[m_pixResidualX_3D[layerDisk]], modEta_m, modPhi_m, pix_b_residualsx_m);
 	  auto pix_b_residualsy_m = Monitored::Scalar<float>("m_pix_residualsy", residualY);
 	  fill(m_tools[m_pixResidualY[layerDisk]], pix_b_residualsy_m);
 	  auto pix_b_pullsx_m = Monitored::Scalar<float>("m_pix_pullsx", pullX);
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.h b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.h
index 8aeeda440acf8c21d5f9186c1b349b4662f78f6c..94f1a882f73fd18180d8343bfff36a441d75774b 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.h
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoringRun3/src/IDAlignMonResidualsAlg.h
@@ -95,6 +95,7 @@ class IDAlignMonResidualsAlg :  public AthMonitorAlgorithm {
   static const int m_nTRTBlayers{3}; //
   static const int m_nTRTEClayers{2}; //
   std::vector<int> m_pixResidualX;
+  std::vector<int> m_pixResidualX_3D;
   std::vector<int> m_pixResidualY;
   std::vector<int> m_pixPullX;
   std::vector<int> m_pixPullY;
diff --git a/LArCalorimeter/LArCalibTools/python/LArSC2NtupleConfig.py b/LArCalorimeter/LArCalibTools/python/LArSC2NtupleConfig.py
index e8104d3e2aaae99999f9c30c18a2d59f9a28e54d..7b26c42f018ab151581176ad84993e728a9a7fe1 100644
--- a/LArCalorimeter/LArCalibTools/python/LArSC2NtupleConfig.py
+++ b/LArCalorimeter/LArCalibTools/python/LArSC2NtupleConfig.py
@@ -3,7 +3,7 @@
 from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-def LArSC2NtupleCfg(flags, **kwargs):
+def LArSC2NtupleCfg(flags, isEmf=False, **kwargs):
 
        kwargs['isSC'] = True
 
@@ -16,6 +16,25 @@ def LArSC2NtupleCfg(flags, **kwargs):
        cfg.merge(LArOnOffIdMappingSCCfg(flags))
        cfg.merge(LArCalibIdMappingSCCfg(flags))
        cfg.merge(LArLATOMEMappingCfg(flags))
+       if isEmf:
+          # hack for different mapping from EMF
+          cil=cfg.getCondAlgo('CondInputLoader')
+          iovdbsvc=cfg.getService('IOVDbSvc') 
+          folder='/LAR/Identifier/LatomeMapping'
+          for i in range(0,len(iovdbsvc.Folders)):
+             if (iovdbsvc.Folders[i].find(folder)>=0):
+                del iovdbsvc.Folders[i]
+                break
+     
+          remove_folder = False
+          for cil_Loadval in cil.Load:
+             if folder in cil_Loadval:
+                print(f"Removing {cil_Loadval} from cil/Load")
+                remove_folder = True
+                break
+          if remove_folder: cil.Load.remove(cil_Loadval)
+          from IOVDbSvc.IOVDbSvcConfig import addFolders
+          cfg.merge(addFolders(flags,'/LAR/Identifier/LatomeMapping',tag='LARIdentifierLatomeMapping-EMF',className="CondAttrListCollection",detDb='/afs/cern.ch/user/p/pavol/w0/public/DB_update_24/SCcalib/LatomeMapping_EMF.db'))
 
        if flags.LArSCDump.doRawChan:
           from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
diff --git a/LArCalorimeter/LArCalibTools/share/LArConditions2Ntuple.py b/LArCalorimeter/LArCalibTools/share/LArConditions2Ntuple.py
index e1a80ac193a87c36a99d7c02e688c81cd45ec130..23b126a196559d53ca587049eb1a460f592d4924 100755
--- a/LArCalorimeter/LArCalibTools/share/LArConditions2Ntuple.py
+++ b/LArCalorimeter/LArCalibTools/share/LArConditions2Ntuple.py
@@ -153,33 +153,30 @@ if __name__=='__main__':
   from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg
   cfg.merge(LArBadChannelCfg(flags, isSC=flags.LArCalib.isSC))
 
-  if flags.LArCalib.isSC: 
-    bcKey = "LArBadChannelSC" 
-  else: 
-    bcKey = "LArBadChannel"
-
-
-
+  bcKey = "LArBadChannelSC" if flags.LArCalib.isSC else "LArBadChannel"
 
   if "Pedestal" in objects:
     ckey = "LArPedestalSC" if flags.LArCalib.isSC else "LArPedestal"
     cfg.addEventAlgo(CompFactory.LArPedestals2Ntuple(ContainerKey = ckey,
                                                         AddFEBTempInfo = False, 
+                                                        AddCalib = True,
                                                         isSC = flags.LArCalib.isSC,
                                                         BadChanKey = bcKey
                                                       ))
                       
   if "AutoCorr" in objects:
-    cfg.addEventAlgo(CompFactory.LArAutoCorr2Ntuple(ContainerKey = "LArAutoCorrSym" if flags.Input.isMC else "LArAutoCorr",
-                                                    AddFEBTempInfo  = False, 
+    ckey="LArAutoCorrSC" if flags.LArCalib.isSC else "LArAutoCorr"
+    cfg.addEventAlgo(CompFactory.LArAutoCorr2Ntuple(ContainerKey = "LArAutoCorrSym" if flags.Input.isMC else ckey,
+                                                    AddFEBTempInfo = False, 
+                                                    AddCalib = True,
                                                     isSC = flags.LArCalib.isSC,
                                                     BadChanKey = bcKey
                                                   ))
   if "Ramp" in objects:
     ckey = "LArRampSC" if flags.LArCalib.isSC else "LArRamp"
-    if flags.Input.isMC: ckey = "LArRampSym"
-    cfg.addEventAlgo(CompFactory.LArRamps2Ntuple(RampKey=ckey,
+    cfg.addEventAlgo(CompFactory.LArRamps2Ntuple(RampKey="LArRampSym" if flags.Input.isMC else ckey,
                                                  AddFEBTempInfo = False, 
+                                                 AddCalib = True,
                                                  isSC = flags.LArCalib.isSC,
                                                  BadChanKey = bcKey
                                                ))
@@ -240,22 +237,25 @@ if __name__=='__main__':
        ckey="LArShapeSym"
     cfg.addEventAlgo(CompFactory.LArShape2Ntuple(ContainerKey=ckey,
                                                  AddFEBTempInfo   = False,   
+                                                 AddCalib = True,
                                                  isSC = flags.LArCalib.isSC,
                                                  BadChanKey = bcKey
                
                                                ))
   if "MphysOverMcal" in objects:
-    ckey = "LArMphysOverMcalSC" if flags.LArCalib.isSC else "LArMphysOverMcal"
-    cfg.addEventAlgo(CompFactory.LArMphysOverMcal2Ntuple(ContainerKey   = ckey,
+    cfg.addEventAlgo(CompFactory.LArMphysOverMcal2Ntuple(ContainerKey   = "LArMphysOverMcalSC" if flags.LArCalib.isSC else "LArMphysOverMcal",
                                                          AddFEBTempInfo   = False,
+                                                         AddCalib = True,
                                                          isSC = flags.LArCalib.isSC,
                                                          BadChanKey = bcKey
                                                        ))
 
   #ADC2MeV and DACuA are handled by the same ntuple dumper
   if "DAC2uA" in objects or "uA2MeV" in objects:
-    ua2MeVKey="LAruA2MeVSym" if flags.Input.isMC else "LAruA2MeV"
-    dac2uAKey="LArDAC2uASym" if flags.Input.isMC else "LArDAC2uA" 
+    uackey = "LAruA2MeVSC" if flags.LArCalib.isSC else "LAruA2MeV"
+    dackey = "LArDAC2uASC" if flags.LArCalib.isSC else "LArDAC2uA"
+    ua2MeVKey="LAruA2MeVSym" if flags.Input.isMC else uackey
+    dac2uAKey="LArDAC2uASym" if flags.Input.isMC else dackey
 
     cfg.addEventAlgo(CompFactory.LAruA2MeV2Ntuple(uA2MeVKey=ua2MeVKey if "uA2MeV" in objects else "",
                                                   DAC2uAKey=dac2uAKey if "DAC2uA" in objects else "",
@@ -265,13 +265,14 @@ if __name__=='__main__':
     
 
   if "HVScaleCorr" in objects:
-    cfg.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple(AddFEBTempInfo = False,
+    cfg.addEventAlgo(CompFactory.LArHVScaleCorr2Ntuple(ContainerKey= "LArHVScaleCorrSC" if flags.LArCalib.isSC else "LArHVScaleCorr",
+                                                       AddFEBTempInfo = False,
                                                        isSC = flags.LArCalib.isSC,
                                                        BadChanKey = bcKey
                                                      ))
 
   if "fSampl" in objects:
-    cfg.addEventAlgo(CompFactory.LArfSampl2Ntuple(ContainerKey="LArfSamplSym",
+    cfg.addEventAlgo(CompFactory.LArfSampl2Ntuple(ContainerKey="LArfSamplSC" if flags.LArCalib.isSC else "LArfSamplSym",
                                                   isSC=flags.LArCalib.isSC
                                                 ))
 
diff --git a/LArCalorimeter/LArCalibTools/src/LArDigits2Ntuple.cxx b/LArCalorimeter/LArCalibTools/src/LArDigits2Ntuple.cxx
index 2e03210c86c6278f05917ef33185564d2508bf8d..ceaf7eb3920f51415505fe92f1774fd842a06c85 100644
--- a/LArCalorimeter/LArCalibTools/src/LArDigits2Ntuple.cxx
+++ b/LArCalorimeter/LArCalibTools/src/LArDigits2Ntuple.cxx
@@ -178,11 +178,12 @@ StatusCode LArDigits2Ntuple::execute()
       }
     }
     m_ntNsamples   = trueMaxSample;
+    ATH_MSG_DEBUG( "The number of digi samples in data "<< m_Nsamples  );
 
     fillFromIdentifier(digi->hardwareID());      
 
-    if(m_fillEMB && m_barrel_ec !=0) continue;
-    if(m_fillEndcap && m_barrel_ec !=1) continue;
+    if(m_isSC && m_fillEMB && m_barrel_ec !=0) continue;
+    if(m_isSC && m_fillEndcap && m_barrel_ec !=1) continue;
 
     if(m_FTlist.size() > 0) {	// should do a selection
       if(std::find(std::begin(m_FTlist), std::end(m_FTlist), m_FT)  == std::end(m_FTlist)) {	// is our FT in list ?
diff --git a/LArCalorimeter/LArCalibUtils/LArCalibUtils/LArCalibPatchingAlg.icc b/LArCalorimeter/LArCalibUtils/LArCalibUtils/LArCalibPatchingAlg.icc
index 8030645378067b17f0d8f5b3769511b28ce1818b..ce5c28143a936c68d2f98107c4f60290b0570b2f 100644
--- a/LArCalorimeter/LArCalibUtils/LArCalibUtils/LArCalibPatchingAlg.icc
+++ b/LArCalorimeter/LArCalibUtils/LArCalibUtils/LArCalibPatchingAlg.icc
@@ -22,6 +22,7 @@ StatusCode LArCalibPatchingAlg<CONDITIONSCONTAINER>::initialize() {
   ATH_CHECK( m_cablingKey.initialize() );
   ATH_CHECK( m_CLKey.initialize() );
 
+
   if(m_patchMethodProp=="FEBNeighbor") {
     m_patchMethod=FEBNeighbor;
     return StatusCode::SUCCESS;
@@ -77,6 +78,7 @@ StatusCode LArCalibPatchingAlg<CONDITIONSCONTAINER>::stop() {
      m_caloId = dynamic_cast<const CaloCell_Base_ID*>(caloid); 
   }
 
+  if(m_isSC) m_bcMask.setSC();
   ATH_CHECK(m_bcMask.buildBitMask(m_problemsToPatch,msg()));
 
   const EventContext& ctx = Gaudi::Hive::currentContext();
@@ -127,6 +129,7 @@ StatusCode LArCalibPatchingAlg<CONDITIONSCONTAINER>::stop() {
   }
 
   LArBadChanBitPacking packing;
+  LArBadChanSCBitPacking scpacking;
 
   unsigned maxgain;
   if(m_isSC) maxgain=CaloGain::LARMEDIUMGAIN; else maxgain=CaloGain::LARNGAIN;
@@ -138,7 +141,7 @@ StatusCode LArCalibPatchingAlg<CONDITIONSCONTAINER>::stop() {
       const HWIdentifier chid = it.channelId();
       if (!cabling->isOnlineConnected(chid)) continue; //Don't care about disconnected channels
       if (m_bcMask.cellShouldBeMasked(bcCont,chid)) {
-	const std::string bcType=packing.stringStatus(bcCont->status(chid));
+	const std::string bcType = m_isSC ? scpacking.stringStatus(bcCont->status(chid)) : packing.stringStatus(bcCont->status(chid));
 	ATH_MSG_INFO ( "Found problematic channel 0x" << MSG::hex << chid.get_identifier32().get_compact() << MSG::dec << " [" << bcType << "]" 
                        <<" Gain:" << igain << " " <<  m_onlineHelper->channel_name(chid) << ". Trying to patch." );
 	if (patch(chid,igain, bcCont, cabling, clCont)) {
@@ -546,8 +549,10 @@ bool LArCalibPatchingAlg<CONDITIONSCONTAINER>::getAverage(const HWIdentifier chi
   // Organize waves per DAC and calculate tmax (peaking time)
   std::map<int,perDAC_t> neighbors_per_dac; //In most cases, there is only one DAC, eg one entry in this map
 
+  ATH_MSG_DEBUG(" symCells size "<<symCells.size());
   for (HWIdentifier hwid : symCells) {
     for (const LArCaliWave& cwave : m_contIn->get(hwid,gain)) {
+      ATH_MSG_VERBOSE("found wave in channel " << m_onlineHelper->channel_name(hwid) << ", gain " << gain);
       const int ourDAC = cwave.getDAC();
       double tmax=-1;
       wHelper.getDMax(cwave, tmax);
@@ -562,6 +567,8 @@ bool LArCalibPatchingAlg<CONDITIONSCONTAINER>::getAverage(const HWIdentifier chi
     }//end loop over DACs
   }// end loop over sym-cells
   
+  ATH_MSG_DEBUG(" neighbors_per_dac size "<<neighbors_per_dac.size());
+
   for (auto& dacWave : neighbors_per_dac) {
     dacWave.second.tmaxAvg/=dacWave.second.tmax_wave.size();
     ATH_MSG_DEBUG("Average tmax computed " << dacWave.second.tmaxAvg << " for DAC=" << dacWave.first << ", to patch channel " << m_onlineHelper->channel_name(chid) << ", gain " << gain);
diff --git a/LArCalorimeter/LArCalibUtils/src/LArRampBuilder.cxx b/LArCalorimeter/LArCalibUtils/src/LArRampBuilder.cxx
index 92d5dfc50c011445317931a67955873c38b165d2..9f8b20034fa48d43fd287e20d0b3de01d55cd164 100644
--- a/LArCalorimeter/LArCalibUtils/src/LArRampBuilder.cxx
+++ b/LArCalorimeter/LArCalibUtils/src/LArRampBuilder.cxx
@@ -50,6 +50,7 @@ StatusCode LArRampBuilder::initialize()
   ATH_CHECK( m_cablingKeySC.initialize(m_isSC) );
 
   ATH_CHECK(m_bcContKey.initialize(m_doBadChannelMask));
+  if(m_isSC) m_bcMask.setSC();
   ATH_CHECK(m_bcMask.buildBitMask(m_problemsToMask,msg()));
 
   //Intermediate ramp object (DAC/ADC pairs)
diff --git a/LArCalorimeter/LArCalibUtils/src/components/LArCalibUtils_entries.cxx b/LArCalorimeter/LArCalibUtils/src/components/LArCalibUtils_entries.cxx
index dcfa73df2cbae7baa51cdf7ccc01d247089c129e..107541125a572f6e2d6a4cecb8ff7ae873255545 100644
--- a/LArCalorimeter/LArCalibUtils/src/components/LArCalibUtils_entries.cxx
+++ b/LArCalorimeter/LArCalibUtils/src/components/LArCalibUtils_entries.cxx
@@ -100,4 +100,3 @@ DECLARE_COMPONENT( LArDetCellParamsMerger )
 DECLARE_COMPONENT( LArCaliPulseParamsMerger )
 DECLARE_COMPONENT( LArPhysWaveMerger )
 DECLARE_COMPONENT( LArCaliWaveMerger )
-
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_Delay_OFCCaliConfig.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_Delay_OFCCaliConfig.py
index fc939c7ead853a2962839202be486eb8be7c6d30..bd301b759602f35ddccf2be85d5494ec951b5ad1 100644
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_Delay_OFCCaliConfig.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_Delay_OFCCaliConfig.py
@@ -115,9 +115,14 @@ def LArDelay_OFCCaliCfg(flags):
         theLArCaliWavePatcher.SuperCells = flags.LArCalib.isSC 
         #theLArCaliWavePatcher.PatchMethod="PhiNeighbor" ##take the first neigbour
         theLArCaliWavePatcher.PatchMethod = "PhiAverage" ##do an aveage in phi after removing bad and empty event
-        theLArCaliWavePatcher.ProblemsToPatch = [
-            "deadCalib","deadReadout","deadPhys","almostDead","short",
-        ]
+        if flags.LArCalib.isSC:
+           theLArCaliWavePatcher.ProblemsToPatch = [
+            "deadCalib","deadReadout","deadPhys","maskedOSUM","OffOFCs",]
+           theLArCaliWavePatcher.OnOffMap="LArOnOffIdMapSC" 
+           theLArCaliWavePatcher.CalibLineKey="LArCalibIdMapSC"
+        else:
+           theLArCaliWavePatcher.ProblemsToPatch = [
+            "deadCalib","deadReadout","deadPhys","almostDead","short", ]
 
         result.addEventAlgo(theLArCaliWavePatcher)
     pass
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_PileUpAutoCorrConfig.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_PileUpAutoCorrConfig.py
index 03059406a3acbb3eddb093f11c989d745cdca663..2882bafc2c15ecbe094a8d2c46e5a872ec529bd3 100644
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_PileUpAutoCorrConfig.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_PileUpAutoCorrConfig.py
@@ -40,10 +40,10 @@ def LArPileUpAutoCorrCfg(flags):
     rs=FolderTagResolver(dbname="sqlite://;schema=%s;dbname=CONDBR2"%flags.LArCalib.Input.Database)
     AutoCorrTag=rs.getFolderTag(flags.LArCalib.AutoCorr.Folder)
     # FIXME these tags has to be re-enabled in 2024 also for main readout:
-    if flags.LArCalib.isSC:
-       PedestalTag=rs.getFolderTag(flags.LArCalib.Pedestal.Folder)
-       RampTag=rs.getFolderTag(flags.LArCalib.Ramp.Folder)
-       MpMcTag=rs.getFolderTag(flags.LArCalib.MphysOverMcal.Folder)
+    #if flags.LArCalib.isSC:
+    PedestalTag=rs.getFolderTag(flags.LArCalib.Pedestal.Folder)
+    RampTag=rs.getFolderTag(flags.LArCalib.Ramp.Folder)
+    MpMcTag=rs.getFolderTag(flags.LArCalib.MphysOverMcal.Folder)
     rsac=FolderTagResolver(dbname="COOLOFL_LAR/CONDBR2")
     PhysAutoCorrTag= rsac.getFolderTag(flags.LArCalib.PhysAutoCorr.Folder)
     nColl=flags.LArCalib.OFC.Ncoll
@@ -55,25 +55,25 @@ def LArPileUpAutoCorrCfg(flags):
 
     del rs
 
-    result.merge(addFolders(flags,flags.LArCalib.AutoCorr.Folder,detDb=flags.LArCalib.Input.Database, tag=AutoCorrTag, modifiers=chanSelStr(flags), 
+    result.merge(addFolders(flags,flags.LArCalib.AutoCorr.Folder,detDb=flags.LArCalib.Input.Database, tag=AutoCorrTag, modifiers=chanSelStr(flags)+"<key>LArAutoCorr</key>", 
                             className="LArAutoCorrComplete"))
     # FIXME these folders has to be re-enabled in 2024 also for Main readout:
-    if flags.LArCalib.isSC:
-        result.merge(addFolders(flags,flags.LArCalib.Pedestal.Folder,detDb=flags.LArCalib.Input.Database, tag=PedestalTag, modifiers=chanSelStr(flags), 
-                            className="LArPedestalComplete"))
-        result.merge(addFolders(flags,flags.LArCalib.Ramp.Folder,detDb=flags.LArCalib.Input.Database, tag=RampTag, modifiers=chanSelStr(flags), 
-                            className="LArRampComplete"))
-        result.merge(addFolders(flags,flags.LArCalib.MphysOverMcal.Folder,detDb=flags.LArCalib.Input.Database, tag=MpMcTag, modifiers=chanSelStr(flags), 
-                            className="LArMphysOverMcalComplete"))
+    #if flags.LArCalib.isSC:
+    result.merge(addFolders(flags,flags.LArCalib.Pedestal.Folder,detDb=flags.LArCalib.Input.Database, tag=PedestalTag, modifiers=chanSelStr(flags)+"<key>LArPedestal</key>", 
+                        className="LArPedestalComplete"))
+    result.merge(addFolders(flags,flags.LArCalib.Ramp.Folder,detDb=flags.LArCalib.Input.Database, tag=RampTag, modifiers=chanSelStr(flags), 
+                        className="LArRampComplete"))
+    result.merge(addFolders(flags,flags.LArCalib.MphysOverMcal.Folder,detDb=flags.LArCalib.Input.Database, tag=MpMcTag, modifiers=chanSelStr(flags), 
+                        className="LArMphysOverMcalComplete"))
 
     #Need ADC2MeV values for AutoCorrCondAlg ... 
     #use current production values as input conditions
     if flags.LArCalib.isSC:
        requiredConditions=["DAC2uA","HVScaleCorr"]
     else:   
-       requiredConditions=["DAC2uA","uA2MeV","HVScaleCorr","Ramp","Pedestal","MphysOverMcal"]
+       #requiredConditions=["DAC2uA","uA2MeV","HVScaleCorr","Ramp","Pedestal","MphysOverMcal"]
        # in 2024 put:
-       #requiredConditions=["DAC2uA","uA2MeV","HVScaleCorr"]
+       requiredConditions=["DAC2uA","uA2MeV","HVScaleCorr"]
     if flags.LArCalib.isSC:
        from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
        result.merge(LArElecCalibDBSCCfg(flags,requiredConditions))
@@ -102,13 +102,11 @@ def LArPileUpAutoCorrCfg(flags):
     theLArAutoCorrTotalCondAlg.LArAutoCorrObjKey="LArAutoCorr"
     theLArAutoCorrTotalCondAlg.LArAutoCorrTotalObjKey="LArPhysAutoCorr"  
     theLArAutoCorrTotalCondAlg.LArOnOffIdMappingObjKey=mapKey
+    theLArAutoCorrTotalCondAlg.LArPedestalObjKey="LArPedestal"
     if flags.LArCalib.isSC:
-       theLArAutoCorrTotalCondAlg.LArPedestalObjKey="Pedestal"
        theLArAutoCorrTotalCondAlg.LArShapeObjKey = "LArShapeSC"
        theLArAutoCorrTotalCondAlg.LArfSamplObjKey = "LArfSamplSC"
        theLArAutoCorrTotalCondAlg.LArMinBiasObjKey = "LArMinBiasSC"
-    else:   
-       theLArAutoCorrTotalCondAlg.LArPedestalObjKey="LArPedestal"
 
     result.addCondAlgo(theLArAutoCorrTotalCondAlg)
     
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_RampConfig.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_RampConfig.py
index 3a9224f27580a039d470580fdc79f57eaa358ffc..8f9569b2e6a8a8293f7e7b3559f096616ae5435d 100644
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_RampConfig.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_RampConfig.py
@@ -82,7 +82,10 @@ def LArRampCfg(flags):
     theLArRampBuilder = CompFactory.LArRampBuilder()
     theLArRampBuilder.KeyList      = [digKey,]
     theLArRampBuilder.SubtractDac0 = False
-    theLArRampBuilder.ProblemsToMask=["deadCalib","deadReadout","deadPhys","almostDead","short"]
+    if flags.LArCalib.isSC:
+       theLArRampBuilder.ProblemsToMask=["deadCalib","deadReadout","deadPhys","maskedOSUM","OffOFCs"]
+    else:
+       theLArRampBuilder.ProblemsToMask=["deadCalib","deadReadout","deadPhys","almostDead","short"]
 
     theLArRampBuilder.RecoType = "OF"
     theLArRampBuilder.PeakOFTool=CompFactory.LArOFPeakRecoTool(UseShape = False,OutputLevel=2)
@@ -120,7 +123,12 @@ def LArRampCfg(flags):
         theLArRampPatcher.PatchMethod="PhiAverage"
         theLArRampPatcher.SuperCells=flags.LArCalib.isSC
    
-        theLArRampPatcher.ProblemsToPatch=["deadCalib","deadReadout","deadPhys","almostDead","short"]
+        if flags.LArCalib.isSC:
+          theLArRampPatcher.ProblemsToPatch=["deadCalib","deadReadout","deadPhys","maskedOSUM","OffOFCs"]
+          theLArRampPatcher.OnOffMap="LArOnOffIdMapSC"
+          theLArRampPatcher.CalibLineKey="LArCalibIdMapSC"
+        else:  
+          theLArRampPatcher.ProblemsToPatch=["deadCalib","deadReadout","deadPhys","almostDead","short"]
         theLArRampPatcher.UseCorrChannels=False
         result.addEventAlgo(theLArRampPatcher)
 
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_ToCoolInlineConfig.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_ToCoolInlineConfig.py
index 1d8a682ccf294c0a7e4ad9f92709df909a1f29fc..b7b581d77157d4eab4c3dbbfab8351b0773c6520 100755
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_ToCoolInlineConfig.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_ToCoolInlineConfig.py
@@ -147,6 +147,8 @@ if __name__=="__main__":
     flags.Debug.DumpCondStore=True
     flags.Debug.DumpEvtStore=True
 
+    from AthenaCommon.Constants import DEBUG
+    flags.Exec.OutputLevel=DEBUG
     flags.dump()
     flags.lock()
    
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_postProcessingConfig.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_postProcessingConfig.py
index 86a025c10225371ed044f6f6819674fa9f2a2093..b2b2aaa3469b75fd0a4013b4cb96557272aa9474 100755
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_postProcessingConfig.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArCalib_postProcessingConfig.py
@@ -57,6 +57,8 @@ if __name__=="__main__":
     #The following flags help finding the input bytestream files: 
     flags.LArCalib.Input.RunNumbers = [int(args.run),]
     flags.LArCalib.Input.Database = args.insql
+    flags.IOVDb.SqliteInput=args.insql
+    flags.IOVDb.SqliteFolders=("/LAR/ElecCalibOfl/PhysWaves/RTM","/LAR/ElecCalibOfl/AutoCorrs/AutoCorr","/LAR/ElecCalibOfl/AutoCorrs/PhysicsAutoCorr")
        
     flags.LArCalib.Output.ROOTFile = args.rootfile
     flags.LArCalib.Output.POOLFile = args.poolfile
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArNewCalib_MergeDB.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArNewCalib_MergeDB.py
index eae14df35defb03e81a9e24e265bb2ef4f56906c..2092846394a26d4f54deff10f48dbb8fbcdedbc4 100644
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/LArNewCalib_MergeDB.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/LArNewCalib_MergeDB.py
@@ -216,6 +216,10 @@ if __name__=="__main__":
     else:   
        InputSQLiteFiles = args.insql
  
+    if len(InputSQLiteFiles) == 1: #Main readout case, copy first input to output
+       import shutil, os
+       shutil.copyfile(InputSQLiteFiles[0],args.outsql)   
+
     #Import the flag-container that is the arguemnt to the configuration methods
     from AthenaConfiguration.AllConfigFlags import initConfigFlags
     from LArCalibProcessing.LArCalibConfigFlags import addLArCalibFlags
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/python/utils.py b/LArCalorimeter/LArExample/LArCalibProcessing/python/utils.py
index e829f3222a963adb0f56f8a944ed661a57cac0ba..d4c7f02b6ef1123f906081083001ff08f36895bc 100644
--- a/LArCalorimeter/LArExample/LArCalibProcessing/python/utils.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/python/utils.py
@@ -60,7 +60,10 @@ class FolderTagResolver:
             
     def getFolderTagSuffix(self,foldername,globalTag=None):
         ft=self.getFolderTag(foldername,globalTag)
-        p=ft.find("-")
+        if '_mu' in ft: 
+           p=ft.find("_mu") 
+        else: 
+           p=ft.find("-")
         if p==-1:
             return "-Default"
         else: 
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArDigits2NtupleDumper.py b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArDigits2NtupleDumper.py
index 9d8723ad8682d70c0f746e30e471a66e6b22a051..7fbe42a8bc0ab7ca39b166cc842bc1b51c89aca5 100755
--- a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArDigits2NtupleDumper.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArDigits2NtupleDumper.py
@@ -28,6 +28,7 @@ if __name__=='__main__':
   parser.add_argument('-t','--addGeom', dest='geom', default=False, help='Add real geom info to output ntuple', type=bool)
   parser.add_argument('-u','--addBC', dest='bc', default=False, help='Add Bad. chan info to output ntuple', type=bool)
   parser.add_argument('-v','--addEvTree', dest='evtree', default=False, help='Add tree with per event info to output ntuple', type=bool)
+  parser.add_argument('--EMF', dest='emf', default=False, help='Is it for EMF', action='store_true')
 
   args = parser.parse_args()
   if help in args and args.help is not None and args.help:
@@ -79,6 +80,10 @@ if __name__=='__main__':
   log.info("Autoconfigured: ")
   log.info("nSamples: %d digitsKey %s",flags.LArSCDump.nSamples, flags.LArSCDump.digitsKey)
 
+  #GEometry
+  from AthenaConfiguration.TestDefaults import defaultGeometryTags
+  flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
+
   # now construct the job
   flags.LAr.doAlign=False
 
@@ -92,6 +97,11 @@ if __name__=='__main__':
      flags.Trigger.enableL1CaloLegacy = True
      flags.Trigger.enableL1CaloPhase1 = True
 
+  # additions for EMF
+  if args.emf:
+     flags.IOVDb.SqliteInput="/afs/cern.ch/user/p/pavol/public/EMF_otherCond.db"
+     flags.IOVDb.SqliteFolders = ("/LAR/BadChannelsOfl/BadChannels","/LAR/BadChannelsOfl/KnownBADFEBs","/LAR/BadChannelsOfl/KnownMNBFEBs","/LAR/BadChannelsOfl/MissingFEBs","/LAR/Identifier/OnOffIdMap",)
+
   flags.lock()
 
   #Import the MainServices (boilerplate)
@@ -129,7 +139,7 @@ if __name__=='__main__':
   from LArCalibTools.LArDigits2NtupleConfig import LArDigits2NtupleCfg
   acc.merge(LArDigits2NtupleCfg(flags, AddBadChannelInfo=args.bc, AddFEBTempInfo=False, isSC=False, isFlat=True, 
                             OffId=args.offline, AddHash=args.ahash, AddCalib=args.calib, RealGeometry=args.geom, # from LArCond2NtupleBase 
-                            NSamples=flags.LArSCDump.nSamples, FTlist={}, ContainerKey=flags.LArSCDump.digitsKey,  # from LArDigits2Ntuple
+                            NSamples=flags.LArSCDump.nSamples, FTlist=[], ContainerKey=flags.LArSCDump.digitsKey,  # from LArDigits2Ntuple
                             FillLB=args.evtree, 
                             OutputLevel=args.olevel
                            ))
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArNewCalib_Delay_OFC_Cali.py b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArNewCalib_Delay_OFC_Cali.py
index 4107d99ef71b5ae2284db96a761a025c48db42e5..baeac400ffe01689904b2febcd16601453a37d69 100755
--- a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArNewCalib_Delay_OFC_Cali.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArNewCalib_Delay_OFC_Cali.py
@@ -195,6 +195,8 @@ if __name__=='__main__':
    if args.ignoreE:
          cfg.getEventAlgo("LArRawSCCalibDataReadingAlg").LATOMEDecoder.IgnoreEndcapChannels=args.ignoreE
 
+   cfg.getService("MessageSvc").defaultLimit=20000 #more messages
+
    #run the application
    cfg.run() 
 
diff --git a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArSC2NtupleDumper.py b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArSC2NtupleDumper.py
index 56f6818a72ee13120fcf2378d8b3a1eb41662042..9e4595f1636c3377a0a3f6ce1be0d9bd6f64278d 100755
--- a/LArCalorimeter/LArExample/LArCalibProcessing/share/LArSC2NtupleDumper.py
+++ b/LArCalorimeter/LArExample/LArCalibProcessing/share/LArSC2NtupleDumper.py
@@ -41,6 +41,7 @@ if __name__=='__main__':
   parser.add_argument('-v','--addEvTree', dest='evtree', default=False, help='Add tree with per event info to output ntuple', action='store_true')
   parser.add_argument('-q','--addNoisyRO', dest='noisyRO', default=False, help='Add reco and info from LArNoisyROSummary to output ntuple', action='store_true')
   parser.add_argument('--addTT', dest='TT', default=False, help='Add info from LArTriggerTowers to output ntuple', action='store_true')
+  parser.add_argument('--EMF', dest='emf', default=False, help='Is it for EMF', action='store_true')
 
   args = parser.parse_args()
   if help in args and args.help is not None and args.help:
@@ -157,11 +158,16 @@ if __name__=='__main__':
   flags.LArSCDump.fillNoisyRO=args.noisyRO
   # in case stores needs to be debugged:
   #from AthenaCommon.Constants import DEBUG
-  #flags.Exec.OutputLevel=DEBUG
+  flags.Exec.OutputLevel=args.olevel
   #flags.Debug.DumpCondStore=True
   #flags.Debug.DumpDetStore=True
   #flags.Debug.DumpEvtStore=True
 
+  # additions for EMF
+  if args.emf:
+     flags.IOVDb.SqliteInput="/afs/cern.ch/user/p/pavol/public/EMF_otherCond.db"
+     flags.IOVDb.SqliteFolders = ("/LAR/BadChannelsOfl/BadChannelsSC","/LAR/BadChannels/BadChannelsSC","/LAR/Identifier/OnOffIdMap",)
+
   flags.lock()
   flags.dump('LArSCDump.*')
 
@@ -192,7 +198,7 @@ if __name__=='__main__':
       acc.addCondAlgo(CompFactory.CaloSuperCellAlignCondAlg())
 
   from LArCalibTools.LArSC2NtupleConfig import LArSC2NtupleCfg
-  acc.merge(LArSC2NtupleCfg(flags, AddBadChannelInfo=args.bc, AddFEBTempInfo=False, isSC=True, isFlat=False, 
+  acc.merge(LArSC2NtupleCfg(flags, isEmf = args.emf, AddBadChannelInfo=args.bc, AddFEBTempInfo=False, isSC=True, isFlat=False, 
                             OffId=args.offline, AddHash=args.ahash, AddCalib=args.calib, RealGeometry=args.geom, ExpandId=args.expid, # from LArCond2NtupleBase 
                             NSamples=flags.LArSCDump.nSamples, FTlist=[], FillBCID=args.bcid, ContainerKey=flags.LArSCDump.digitsKey,  # from LArDigits2Ntuple
                             SCContainerKeys=CKeys, OverwriteEventNumber = args.overEvN,                        # from LArSC2Ntuple
@@ -215,6 +221,5 @@ if __name__=='__main__':
   log.info("Output file: ")
   log.info(args.outfile)
 
-
   # and run
   acc.run(args.maxev)
diff --git a/LArCalorimeter/LArMonitoring/python/LArDigitalTriggMonAlg.py b/LArCalorimeter/LArMonitoring/python/LArDigitalTriggMonAlg.py
index 1f5fc054cc7c9d540082ac4be2d0a877afd36883..6f6113002bafc00c345b5635091794e1496ad958 100644
--- a/LArCalorimeter/LArMonitoring/python/LArDigitalTriggMonAlg.py
+++ b/LArCalorimeter/LArMonitoring/python/LArDigitalTriggMonAlg.py
@@ -237,24 +237,13 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
                                                ylabels = [str(x) for x in range(1,nsamples+1)],
                                                pattern=[(part)])
                 
-                partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_diff_adc_ped;Diff_ADC_Ped_vs_LATOME_'+thisSel,
-                                               title='ADC - Pedestal vs LATOME name '+selStrPart[thisSel]+'; ; ADC - Pedestal',
-                                               type='TH2F',
-                                               cutmask='Digi_part_'+thisSel,
-                                               path=thisTopPath,
-                                               xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
-                                               ybins=64, ymin=-32, ymax=32,
-                                               xlabels=BinLabel_LATOME,
-                                               pattern=[(part)])
-
-
                 partGroup_digi.defineHistogram('Digi_part_latomesourceidbin,Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_LATOME_'+thisSel,
                                                title='ADC[0] - Pedestal vs LATOME name '+selStrPart[thisSel]+'; ; ADC[0] - Pedestal',
                                                type='TH2F',
                                                cutmask='Digi_part_'+thisSel,
                                                path=thisTopPath,
                                                xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
-                                               ybins=68, ymin=-34, ymax=34,
+                                               ybins=64, ymin=-32, ymax=32,
                                                xlabels=BinLabel_LATOME,
                                                pattern=[(part)])
 
@@ -283,8 +272,8 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
             if not flags.Common.isOnline: continue   # Skip the remaining histos if we are running offline
             #### HERE - plots which should only be booked for the nominal selection
             if thisSel != "passDigiNom": continue
-            partGroup_digi.defineHistogram('Digi_part_eta,Digi_part_phi,Digi_part_diff_adc_ped;Coverage_Diff_ADC_Ped_'+thisSel,  
-                                           title='ADC - Pedestal'+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
+            partGroup_digi.defineHistogram('Digi_part_eta,Digi_part_phi,Digi_part_diff_adc0_ped;Coverage_Diff_ADC0_Ped_'+thisSel,  
+                                           title='ADC[0] - Pedestal'+selStrPart[thisSel]+': #phi vs #eta;#eta;#phi',
                                            type='TProfile2D',
                                            cutmask='Digi_part_'+thisSel,
                                            path=thisTopPath+'/Coverage',
@@ -295,8 +284,8 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
 
             #####################
 
-            partGroup_digi.defineHistogram('Digi_part_BCID,Digi_part_iphi,Digi_part_diff_adc_ped;Diff_ADC_Ped_Per_BCID_Per_iphi_'+thisSel,
-                                           title='ADC - Pedestal '+selStrPart[thisSel]+': iphi vs BCID;BCID;iphi',
+            partGroup_digi.defineHistogram('Digi_part_BCID,Digi_part_iphi,Digi_part_diff_adc0_ped;Diff_ADC0_Ped_Per_BCID_Per_iphi_'+thisSel,
+                                           title='ADC[0] - Pedestal '+selStrPart[thisSel]+': iphi vs BCID;BCID;iphi',
                                            type='TProfile2D',
                                            cutmask='Digi_part_'+thisSel,
                                            path=thisTopPath,
@@ -339,8 +328,8 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
                                            ybins=500, ymin=0, ymax=5000, #raw ADC is 12 bit 
                                            pattern=[(part)])
             
-            partGroup_digi.defineHistogram('Digi_part_diff_adc_ped;Diff_ADC_Ped_'+thisSel,
-                                           title='LATOME (ADC-ped) '+selStrPart[thisSel]+'; (ADC - pedestal)',
+            partGroup_digi.defineHistogram('Digi_part_diff_adc0_ped;Diff_ADC0_Ped_'+thisSel,
+                                           title='LATOME (ADC[0]-ped) '+selStrPart[thisSel]+'; (ADC - pedestal)',
                                            type='TH1F',
                                            cutmask='Digi_part_'+thisSel,
                                            path=thisTopPath,
@@ -356,7 +345,7 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
                                            xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
                                            xlabels = [str(x) for x in range(1,nsamples+1)],
                                            pattern=[(part)])
-                       
+            
             partGroup_digi.defineHistogram('Digi_part_BCID, Digi_part_adc;ADC_vs_BCID_'+thisSel, 
                                            title='ADC value vs BCID '+selStrPart[thisSel]+'; BCID; ADC Value',
                                            type='TProfile',
@@ -366,8 +355,8 @@ def LArDigitalTriggMonConfig(flags,larLATOMEBuilderAlg, nsamples=32, streamTypes
                                            ybins=500, ymin=0, ymax=5000,
                                            pattern=[(part)])
 
-            partGroup_digi.defineHistogram('Digi_part_BCID, Digi_part_diff_adc_ped;Diff_ADC_Ped_vs_BCID_'+thisSel, 
-                                           title='ADC - Ped value vs BCID '+selStrPart[thisSel]+'; BCID; ADC Value',
+            partGroup_digi.defineHistogram('Digi_part_BCID, Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_BCID_'+thisSel, 
+                                           title='ADC[0] - Ped value vs BCID '+selStrPart[thisSel]+'; BCID; ADC[0] Value',
                                            type='TProfile',
                                            cutmask='Digi_part_'+thisSel,
                                            path=thisTopPath,
diff --git a/LArCalorimeter/LArMonitoring/src/LArDigitalTriggMonAlg.cxx b/LArCalorimeter/LArMonitoring/src/LArDigitalTriggMonAlg.cxx
index 1b0531c0b09491ca150e285d0eee87deeaafc268..6728dec29e474ff3fc85d0c759cd1dd5f5108c97 100755
--- a/LArCalorimeter/LArMonitoring/src/LArDigitalTriggMonAlg.cxx
+++ b/LArCalorimeter/LArMonitoring/src/LArDigitalTriggMonAlg.cxx
@@ -12,7 +12,7 @@
 //           Ljiljana Morvaj (ljiljana.morvaj@cern.ch)
 //           Yesenia Hernadez (yesenia@cern.ch)
 //           Based on LAtDigitMon tool by L. Hellary and LArOddCellsMonTool.cxx  by Benjamin Trocme
-// 
+//
 // Monitor a few things in the LArDigit...
 //
 //	1) Check that the highest value of the LArDigit is contained in an interval. 
@@ -42,7 +42,7 @@
 #include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 #include "LArTrigStreamMatching.h"
 
-#include "LArCOOLConditions/LArPedestalSC.h" 
+#include "LArCOOLConditions/LArPedestalSC.h"
 
 //STL:
 #include <sstream>
@@ -59,33 +59,31 @@ LArDigitalTriggMonAlg::~LArDigitalTriggMonAlg()
 }
 
 /*---------------------------------------------------------*/
-StatusCode 
-LArDigitalTriggMonAlg::initialize()
+StatusCode LArDigitalTriggMonAlg::initialize()
 {
-  
   ATH_MSG_INFO( "Initialize LArDigitalTriggMonAlg" );
-  
+
   /** Get LAr Online Id Helper*/
   ATH_CHECK(detStore()->retrieve( m_LArOnlineIDHelper, "LArOnline_SuperCellID" ));
-  
+
   /** Get offline SC Id Helper*/
   ATH_CHECK(detStore()->retrieve( m_SCID_helper, "CaloCell_SuperCell_ID" ).isSuccess());
-  
+
   ATH_MSG_INFO("Building tool map");
   m_toolmapLayerNames_digi = Monitored::buildToolMap<int>( m_tools, "LArDigitalTriggerMon_digi", m_layerNames);
   m_toolmapLayerNames_sc = Monitored::buildToolMap<int>( m_tools, "LArDigitalTriggerMon_sc", m_layerNames);
- 
+
   ATH_MSG_INFO("Done building tool map");
 
   /** Get bad-channel mask (only if jO IgnoreBadChannels is true)*/
   ATH_CHECK(m_bcContKey.initialize());
   ATH_CHECK(m_bcMask.buildBitMask(m_problemsToMask,msg()));
- 
+
   ATH_CHECK(m_digitContainerKey.initialize());
   ATH_CHECK(m_keyPedestalSC.initialize());
   ATH_CHECK(m_caloSuperCellMgrKey.initialize());
-  ATH_CHECK(m_rawSCContainerKey.initialize());  
-  ATH_CHECK(m_rawSCEtRecoContainerKey.initialize());  
+  ATH_CHECK(m_rawSCContainerKey.initialize());
+  ATH_CHECK(m_rawSCEtRecoContainerKey.initialize());
   ATH_CHECK(m_cablingKey.initialize());
   ATH_CHECK(m_actualMuKey.initialize());
   ATH_CHECK(m_LATOMEHeaderContainerKey.initialize());
@@ -93,14 +91,12 @@ LArDigitalTriggMonAlg::initialize()
   // Property check:
   constexpr unsigned expSize=MAXLYRNS*2+1;
   if (m_layerNames.size() != expSize) {
-    ATH_MSG_ERROR("Unexpected size of LayerNames property. Expect "
-                  << expSize << " entries, found "
-                  << m_layerNames.size() << " entries");
+    ATH_MSG_ERROR("Unexpected size of LayerNames property. Expect "<< expSize << " entries, found "<< m_layerNames.size() << " entries");
     return StatusCode::FAILURE;
   }
 
   if (m_isADCBaseline) {
-      ATH_MSG_INFO("IsADCBas set to true");
+    ATH_MSG_INFO("IsADCBas set to true");
   }
   return AthMonitorAlgorithm::initialize();
 }
@@ -115,7 +111,7 @@ struct Digi_MonValues {
   int digi_adc;
   int digi_latomesourceidbin;
   float digi_pedestal;
-  int digi_maxpos; 
+  int digi_maxpos;
   int digi_partition;
   float digi_diff_adc_ped_norm;
   float digi_diff_adc_ped;
@@ -154,9 +150,9 @@ struct SC_MonValues {
 
 StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 {
-  
+
   ATH_MSG_DEBUG("in fillHists()" );
-  
+
   // General Monitored variables
   auto lumi_block = Monitored::Scalar<unsigned int>("lumi_block", 0);
   auto time_stamp = Monitored::Scalar<unsigned int>("time_stamp", 0);
@@ -171,8 +167,8 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
   auto Digi_latomeSourceIdBIN = Monitored::Scalar<int>("Digi_latomeSourceIdBIN",1); // MlatomeSourceIdBIN
   auto Digi_phi = Monitored::Scalar<float>("Digi_phi",0.0); // MSCphi
   auto Digi_eta = Monitored::Scalar<float>("Digi_eta",0.0); // MSCeta
-  auto Digi_iphi = Monitored::Scalar<int>("Digi_iphi",0.0); 
-  auto Digi_ieta = Monitored::Scalar<int>("Digi_ieta",0.0); 
+  auto Digi_iphi = Monitored::Scalar<int>("Digi_iphi",0.0);
+  auto Digi_ieta = Monitored::Scalar<int>("Digi_ieta",0.0);
   auto Digi_maxpos = Monitored::Scalar<int>("Digi_maxpos",-1); // Mmaxpos
   auto Digi_partition = Monitored::Scalar<int>("Digi_partition",-1); // Mpartition
   auto Digi_sampos = Monitored::Scalar<int>("Digi_sampos",-1); // Msampos
@@ -233,7 +229,7 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
   auto thisEvent=this->GetEventInfo(ctx);
 
   const std::vector<unsigned> streamsThisEvent=LArMon::trigStreamMatching(m_streams,thisEvent->streamTags());
-  
+
   SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey,ctx};
   const LArOnOffIdMapping* cabling=*cablingHdl;
 
@@ -255,8 +251,8 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
   }else{
     ATH_MSG_DEBUG("hSCetRecoContainer.size() " << hSCetRecoContainer->size());
   }
-  
-  
+
+
   SG::ReadHandle<LArLATOMEHeaderContainer> hLArLATOMEHeaderContainer{m_LATOMEHeaderContainerKey,ctx}; //"SC_LATOME_HEADER"
   if (!hLArLATOMEHeaderContainer.isValid()) {
     ATH_MSG_WARNING("The requested LATOME header container key could not be retrieved. Was there a problem retrieving information from the run logger?");
@@ -285,7 +281,7 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
   SG::ReadCondHandle<ILArPedestal>    pedestalHdl{m_keyPedestalSC, ctx};
   const ILArPedestal* pedestals=*pedestalHdl;
 
-   SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloSuperCellMgrHandle{m_caloSuperCellMgrKey,ctx};
+  SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloSuperCellMgrHandle{m_caloSuperCellMgrKey,ctx};
   const CaloSuperCellDetDescrManager* ddman = *caloSuperCellMgrHandle;
 
   //retrieve BadChannel info:
@@ -293,18 +289,18 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
   SG::ReadCondHandle<LArBadChannelCont> bcContHdl{m_bcContKey,ctx};
   bcCont=(*bcContHdl);
 
-  
+
   if ( (hLArDigitContainer.isValid()) ){
     std::vector<std::vector<Digi_MonValues>> digiMonValueVec(m_layerNames.size());
     for (auto& innerVec : digiMonValueVec) {
-        innerVec.reserve(1600); // (m_layerNcells[ilayer]) * nsamples;
+      innerVec.reserve(1600); // (m_layerNcells[ilayer]) * nsamples;
     }
-    
+
     // Loop over digits
     for (const LArDigit* pLArDigit : *hLArDigitContainer) {
       HWIdentifier id = pLArDigit->hardwareID(); //gives online ID
       //skip disconnected channels:
-      if(!cabling->isOnlineConnected(id)) continue;   
+      if(!cabling->isOnlineConnected(id)) continue;
 
       const unsigned  trueNSamples = pLArDigit->nsamples();
       Digi_Nsamples = trueNSamples; // Fill the monitored variable
@@ -313,9 +309,9 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       const Identifier offlineID=cabling->cnvToIdentifier(id);
       const CaloDetDescrElement* caloDetElement = ddman->get_element(offlineID);
       if(caloDetElement == 0 ){
-	      ATH_MSG_ERROR( "Cannot retrieve caloDetElement" );
+	ATH_MSG_ERROR( "Cannot retrieve caloDetElement" );
         continue;
-      } 
+      }
       Digi_eta = caloDetElement->eta_raw();
       Digi_phi = caloDetElement->phi_raw();
 
@@ -336,20 +332,20 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       Digi_partition = ThisPartition; // Fill the monitored variable
 
       fill(m_scMonGroupName, Digi_Nsamples);
-      
-      // Check if this is a maskedOSUM SC 
+
+      // Check if this is a maskedOSUM SC
       notMasked = true;
       if ( m_bcMask.cellShouldBeMasked(bcCont,id)) {
-	      notMasked = false;
+	notMasked = false;
       }
 
       if(pedestals){
-        Pedestal = pedestals->pedestal(id,cgain);
-        PedestalRMS = pedestals->pedestalRMS(id,cgain);
+	Pedestal = pedestals->pedestal(id,cgain);
+	PedestalRMS = pedestals->pedestalRMS(id,cgain);
       }
       else
-      ATH_MSG_INFO( "Pedestal values not received");
-      
+	ATH_MSG_INFO( "Pedestal values not received");
+
       const LArSCDigit* scdigi = dynamic_cast<const LArSCDigit*>(pLArDigit);
       if(!scdigi){ ATH_MSG_DEBUG(" CAN'T CAST ");
       }else{
@@ -359,13 +355,18 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       }
       // Retrieve samples
       const std::vector<short>* digito = &pLArDigit->samples();
-      
+
       //retrieve the max sample digit ie digitot.back().
       std::vector<short>::const_iterator maxSam = std::max_element(digito->begin(), digito->end());
       int thismaxPos = std::distance(digito->begin(), maxSam);
       Digi_maxpos=thismaxPos+1; //count samples [1,5]
       float ADC_max = pLArDigit->samples().at(Digi_maxpos-1);
+
       float ADC_0 = pLArDigit->samples().at(0);
+      if (m_isADCBaseline) { //SC_ADC_BAS, have to divide by 8
+	ADC_0 = ADC_0/8;
+      }
+
       // Start Loop over samples
       Digi_Diff_ADC0_Ped = ADC_0 - Pedestal;
       for(unsigned i=0; i<trueNSamples;++i) {
@@ -373,7 +374,6 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 	notBadQual = false;
 	ADCped10RMS = false;
 	passDigiNom = false;
-	
 	Digi_sampos=i+1;
 	Digi_ADC = pLArDigit->samples().at(i);
 	if (m_isADCBaseline) { //SC_ADC_BAS, have to divide by 8
@@ -393,14 +393,14 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 	    badNotMasked = true;
 	  }
 	}
-	if(ADC_max - Pedestal > 10*PedestalRMS) { 
+	if(ADC_max - Pedestal > 10*PedestalRMS) {
 	  ADCped10RMS = true;
 	}
 	if ( notMasked && notBadQual && ADCped10RMS ){
 	  passDigiNom = true;
 	}
 
-  //Should be able to use emplace_back here with C++20, see https://en.cppreference.com/w/cpp/language/aggregate_initialization
+	//Should be able to use emplace_back here with C++20, see https://en.cppreference.com/w/cpp/language/aggregate_initialization
 	lvaluemap_digi.push_back({Digi_eta, Digi_phi, Digi_ieta, Digi_iphi, Digi_sampos, Digi_ADC, Digi_latomeSourceIdBIN, Pedestal, Digi_maxpos, Digi_partition, Digi_Diff_ADC_Ped_Norm, Digi_Diff_ADC_Ped, Digi_Diff_ADC0_Ped, BCID, lumi_block, passDigiNom, badNotMasked});
 	lvaluemap_digi_ALL.push_back({Digi_eta, Digi_phi, Digi_ieta, Digi_iphi, Digi_sampos, Digi_ADC, Digi_latomeSourceIdBIN, Pedestal, Digi_maxpos, Digi_partition, Digi_Diff_ADC_Ped_Norm, Digi_Diff_ADC_Ped, Digi_Diff_ADC0_Ped, BCID, lumi_block, passDigiNom, badNotMasked});
 
@@ -430,19 +430,17 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       auto digi_part_passDigiNom = Monitored::Collection("Digi_part_passDigiNom",tool,[](const auto& v){return v.digi_passDigiNom;});
       auto digi_part_badNotMasked = Monitored::Collection("Digi_part_badNotMasked",tool,[](const auto& v){return v.digi_badNotMasked;});
 
-      fill(m_tools[m_toolmapLayerNames_digi.at(m_layerNames[ilayer])], 
+      fill(m_tools[m_toolmapLayerNames_digi.at(m_layerNames[ilayer])],
 	   digi_part_eta, digi_part_phi, digi_part_ieta, digi_part_iphi, digi_part_sampos, digi_part_adc, digi_part_latomesourceidbin, digi_part_pedestal, digi_part_maxpos, digi_part_diff_adc_ped_norm, digi_part_diff_adc_ped, digi_part_diff_adc0_ped, digi_part_bcid, digi_part_lb, digi_part_passDigiNom, digi_part_badNotMasked);
     }
-  
 
 
   } // End if(LArDigitContainer is valid)
- 
 
 
   if ( hSCetContainer.isValid() && hSCetRecoContainer.isValid() ){
     LArRawSCContainer::const_iterator itSC = hSCetContainer->begin();
-    LArRawSCContainer::const_iterator itSC_e= hSCetContainer->end(); 
+    LArRawSCContainer::const_iterator itSC_e= hSCetContainer->end();
     LArRawSCContainer::const_iterator itSCReco = hSCetRecoContainer->begin();
     const LArRawSC* rawSC = 0;
     const LArRawSC* rawSCReco = 0;
@@ -455,8 +453,8 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
     // Loop over SCs
     for ( ; itSC!=itSC_e;++itSC,++itSCReco) {
       rawSC = *itSC;
-      if ( itSCReco < hSCetRecoContainer->end() ){ 
-	rawSCReco = *itSCReco;	
+      if ( itSCReco < hSCetRecoContainer->end() ){
+	rawSCReco = *itSCReco;
       }else{
 	ATH_MSG_WARNING("Looping SC ET container, but we have reached the end of the SC ET Reco iterator. Check the sizes of these containers. Is SC ET Reco size zero? Is there a problem with the digit container name sent by the run logger?");
 	rawSCReco = 0;
@@ -470,11 +468,9 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       // Get Physical Coordinates
       const CaloDetDescrElement* caloDetElement = ddman->get_element(offlineID);      
       if (caloDetElement == 0) {
-        ATH_MSG_ERROR("Cannot retrieve (eta,phi) coordinates for raw channels");
-        ATH_MSG_ERROR("  ==============> " << std::hex << ";  offlineID = " << offlineID
-                      << "online ID =" << m_LArOnlineIDHelper->channel_name(id)
-                      << "; rawSC->SourceId() = " << rawSC->SourceId());
-        continue;
+	ATH_MSG_ERROR("Cannot retrieve (eta,phi) coordinates for raw channels");
+	ATH_MSG_ERROR("  ==============> " << std::hex << ";  offlineID = " << offlineID<< "online ID =" << m_LArOnlineIDHelper->channel_name(id) << "; rawSC->SourceId() = " << rawSC->SourceId());
+	continue;
       }
       SC_eta = caloDetElement->eta_raw();
       SC_phi = caloDetElement->phi_raw();
@@ -487,8 +483,8 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       const unsigned side = m_LArOnlineIDHelper->pos_neg(id);
       const unsigned iLyr=iLyrNS*2+side;
 
-      auto& lvaluemap_sc = scMonValueVec[iLyr];      
-      auto& lvaluemap_sc_ALL = scMonValueVec.back();     
+      auto& lvaluemap_sc = scMonValueVec[iLyr];
+      auto& lvaluemap_sc_ALL = scMonValueVec.back();
 
       SC_latomeSourceIdBIN=getXbinFromSourceID(rawSC->SourceId());
 
@@ -513,12 +509,11 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       notMaskedEoflGt1 = false;
       nonZeroETofl = false;
       eToflGt1GeV = false;
-      // Check if this is a maskedOSUM SC 
+      // Check if this is a maskedOSUM SC
       if ( ! m_bcMask.cellShouldBeMasked(bcCont,id)) {
 	notMasked = true;
       }
       // popopopo
-      
       if ( rawSCReco != 0 && rawSCReco->passTauSelection().size()>0){ //only compare Et if tau selection is passed
 	if (rawSCReco->passTauSelection().at(0) == true) passTauSel = true;
       }
@@ -552,8 +547,8 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 	  ATH_MSG_WARNING("rawSCReco energies vector is empty!");
 	  SC_energy_ofl = 0;
 	}
-      } 
-      SC_ET_diff = SC_energy_onl - SC_energy_ofl;	
+      }
+      SC_ET_diff = SC_energy_onl - SC_energy_ofl;
       SC_ET_onl = ( SC_energy_onl* 12.5 ) / 1000;  // Converted to GeV
       SC_ET_ofl = ( SC_energy_ofl* 12.5 ) / 1000;  // Converted to GeV
       SC_ET_onl_muscaled = event_mu > 0. ? SC_ET_onl / event_mu : SC_ET_onl;
@@ -562,7 +557,7 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 	if ( rawSCReco->tauEnergies().size()>0 ){ Etau = rawSCReco->tauEnergies().at(0); }
       }
       SC_time = (SC_energy_ofl != 0) ? (float)Etau / (float)SC_energy_ofl : Etau; 
-      
+
       ATH_MSG_DEBUG("Energy onl - Energy ofl: "<<SC_energy_onl<<",  "<<SC_energy_ofl<<std::endl); 
       if (SC_ET_onl != 0 ){
 	nonZeroET = true;
@@ -574,15 +569,15 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
 	eTgt10GeV = true;
       }
       if (SC_ET_ofl != 0 ) {
-        nonZeroETofl = true;
+	nonZeroETofl = true;
       }
       if (SC_ET_ofl > 1){
-        eToflGt1GeV = true;
+	eToflGt1GeV = true;
       }
       if ( rawSC->satur().size()>bcid_ind ){
 	if ( rawSC->satur().at(bcid_ind) ){
 	  if ( notMasked ){
-	    saturNotMasked = true;  
+	    saturNotMasked = true;
 	  }
 	}else{
 	  notSatur = true;
@@ -603,32 +598,32 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       }
 
       if ( notMasked && notSatur && notOFCbOF ){
-          if(nonZeroETofl){
-            notMaskedEoflNe0 = true;
-          }
-          if(eToflGt1GeV) {
-            notMaskedEoflGt1 = true;
-          }
-          
-          if ( passTauSel ){
-            if ( nonZeroET ){
-              passSCNom = true;
-            }
-            if ( eTgt1GeV ){
-              passSCNom1 = true;
-            }
-            if (eTgt10GeV ){
-              passSCNom10 = true;
-              if ( tauGt3 ){
-                passSCNom10tauGt3 = true;
-              }
-            }
-            if (SC_energy_onl != SC_energy_ofl){
-              onlofflEmismatch = true;
-            }
-          }
+	if(nonZeroETofl){
+	  notMaskedEoflNe0 = true;
+	}
+	if(eToflGt1GeV) {
+	  notMaskedEoflGt1 = true;
+	}
+
+	if ( passTauSel ){
+	  if ( nonZeroET ){
+	    passSCNom = true;
+	  }
+	  if ( eTgt1GeV ){
+	    passSCNom1 = true;
+	  }
+	  if (eTgt10GeV ){
+	    passSCNom10 = true;
+	    if ( tauGt3 ){
+	      passSCNom10tauGt3 = true;
+	    }
+	  }
+	  if (SC_energy_onl != SC_energy_ofl){
+	    onlofflEmismatch = true;
+	  }
+	}
       } // end nominal selections
-      
+
       //Should be able to use emplace_back here with C++20, see https://en.cppreference.com/w/cpp/language/aggregate_initialization
       lvaluemap_sc.push_back({SC_eta, SC_phi, SC_ieta, SC_iphi, SC_latomeSourceIdBIN, SC_ET_ofl, SC_ET_diff, SC_ET_onl, SC_ET_onl_muscaled, SC_time, BCID, lumi_block, passSCNom, passSCNom1, passSCNom10, passSCNom10tauGt3, saturNotMasked, OFCbOFNotMasked, notMaskedEoflNe0, notMaskedEoflGt1});
       lvaluemap_sc_ALL.push_back({SC_eta, SC_phi, SC_ieta, SC_iphi, SC_latomeSourceIdBIN, SC_ET_ofl, SC_ET_diff, SC_ET_onl, SC_ET_onl_muscaled, SC_time, BCID, lumi_block, passSCNom, passSCNom1, passSCNom10, passSCNom10tauGt3, saturNotMasked, OFCbOFNotMasked, notMaskedEoflNe0, notMaskedEoflGt1});
@@ -661,14 +656,14 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
       auto sc_part_notMaskedEoflGt1 = Monitored::Collection("SC_part_notMaskedEoflGt1",tool,[](const auto& v){return v.sc_notMaskedEoflGt1;});
 
 
-      fill(m_tools[m_toolmapLayerNames_sc.at(m_layerNames[ilayer])], 
+      fill(m_tools[m_toolmapLayerNames_sc.at(m_layerNames[ilayer])],
 	   sc_part_eta, sc_part_phi, sc_part_ieta, sc_part_iphi, sc_part_latomesourceidbin, sc_part_et_ofl, sc_part_et_diff, sc_part_et_onl, sc_part_et_onl_muscaled, sc_part_time, sc_part_bcid, sc_part_lb, sc_part_passSCNom, sc_part_passSCNom1, sc_part_passSCNom10, sc_part_passSCNom10tauGt3, sc_part_saturNotMasked, sc_part_OFCbOFNotMasked, sc_part_notMaskedEoflNe0, sc_part_notMaskedEoflGt1);
     }
 
-     
+
   }  // End if(LArSCContainer is valid)
 
- 
+
 
   //LATOME event size
   if ( (hLArLATOMEHeaderContainer.isValid()) ){
@@ -679,11 +674,11 @@ StatusCode LArDigitalTriggMonAlg::fillHistograms(const EventContext& ctx) const
     event_size /= (1024*1024/4);
     fill(m_scMonGroupName,lumi_block,event_size);
   }
-  
 
-//end LATOME event size
 
-  
+  //end LATOME event size
+
+
   return StatusCode::SUCCESS;
 }
 
@@ -708,8 +703,8 @@ int LArDigitalTriggMonAlg::whatPartition(HWIdentifier id, int side) const
   }
 }
 
-  
-  
+
+
 unsigned LArDigitalTriggMonAlg::getXbinFromSourceID(const unsigned sourceID) const
 {
   //  int NLatomeBins = 117;
diff --git a/LArCalorimeter/LArRecConditions/LArRecConditions/LArBadChannelMask.h b/LArCalorimeter/LArRecConditions/LArRecConditions/LArBadChannelMask.h
index c9bbcb7d60fd547b3df38c501d751db4c64a7573..d5ebc078c153eb3e60d1dafb55073701074cc372 100644
--- a/LArCalorimeter/LArRecConditions/LArRecConditions/LArBadChannelMask.h
+++ b/LArCalorimeter/LArRecConditions/LArRecConditions/LArBadChannelMask.h
@@ -25,6 +25,9 @@ class LArBadChannelMask {
   bool cellShouldBeMasked(const LArBadChannelCont* bcCont, const HWIdentifier& hardwareId) const;
   bool cellShouldBeMasked(const LArBadChannelCont* bcCont, const Identifier& offlineId) const;
 
+  bool isSC() const {return m_isSC;}
+  void setSC() {m_isSC=true;}
+
  private:
   const static LArBadChanBitPacking  s_bitPacking; // A helper for bit operations, etc.
   const static LArBadChanSCBitPacking  s_bitSCPacking; // A helper for bit operations, etc.
diff --git a/Reconstruction/tauRec/python/TauToolHolder.py b/Reconstruction/tauRec/python/TauToolHolder.py
index 338a1ad7a67942987cf2913c9f355d28c9324c74..fd6941ca9de0c65ace7ea07451fd4c65b7cf3897 100644
--- a/Reconstruction/tauRec/python/TauToolHolder.py
+++ b/Reconstruction/tauRec/python/TauToolHolder.py
@@ -260,24 +260,6 @@ def CellWeightToolCfg(flags):
     # --
     return result
 
-    # _name = sPrefix + 'CellWeightTool'
-
-    # once StandardCellWeightCalib is updated can use this
-    # from CaloRec.CaloTopoClusterFlags import jobproperties
-    # -- auto configure weight tool
-    # finder = jobproperties.CaloTopoClusterFlags.cellWeightRefFinder.get_Value()
-    # size   = jobproperties.CaloTopoClusterFlags.cellWeightRefSize.get_Value()
-    # signal = jobproperties.CaloTopoClusterFlags.cellWeightRefSignal.get_Value()
-    # Defaults already set in StandardCellWeightCalib:
-    # finder=Cone, size=0.4, signal=Topo
-
-    #from CaloClusterCorrection.StandardCellWeightCalib import getCellWeightTool
-    # CaloWeightTool = getCellWeightTool(finder,size,signal)
-    #CaloWeightTool = result.popToolsAndMerge(getCellWeightTool(flags))
-    
-    #result.setPrivateTools(CaloWeightTool)
-    #return result
-
 #########################################################################
 # Photon Shot Finder
 def TauShotFinderCfg(flags):
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py
index 115568277c6052240eab77fda8525b6cec2a2f41..b723df48faeba9b1894885bafcbcce4566cda35c 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py
@@ -24,18 +24,18 @@ def EfexInputMonitoringConfig(flags):
                               ybins=1,ymin=0,ymax=1,ylabels=[""],
                               opt=['kCanRebin','kAlwaysCreate'],merge="merge")
 
-    helper.defineHistogram('LBNString,TowerEta,TowerCount;h_dataTowers_ecal',title='DataTowers ECAL Average;LBN;Eta',
+    helper.defineHistogram('LBN,TowerEta,TowerCount;h_dataTowers_ecal',title='DataTowers ECAL Average;LBN;Eta',
                            fillGroup="ecal",
                            type='TProfile2D',
-                           xlabels=[""],
+                           xbins=1,xmin=0,xmax=1,
                            ybins=50,ymin=-2.5,ymax=2.5,
-                           opt=['kCanRebin','kAlwaysCreate'],merge="merge")
-    helper.defineHistogram('LBNString,TowerEta,TowerCount;h_dataTowers_hcal',title='DataTowers HCAL Average;LBN;Eta',
+                           opt=['kAddBinsDynamically','kAlwaysCreate'],merge="merge")
+    helper.defineHistogram('LBN,TowerEta,TowerCount;h_dataTowers_hcal',title='DataTowers HCAL Average;LBN;Eta',
                            fillGroup="hcal",
                            type='TProfile2D',
-                           xlabels=[""],
+                           xbins=1,xmin=0,xmax=1,
                            ybins=50,ymin=-2.5,ymax=2.5,
-                           opt=['kCanRebin','kAlwaysCreate'],merge="merge")
+                           opt=['kAddBinsDynamically','kAlwaysCreate'],merge="merge")
     helper.defineTree('LBNString,Error,EventNumber,TowerId,TowerEta,TowerPhi,TowerEmstatus,TowerHadstatus,TowerSlot,TowerCount,RefTowerCount,SlotSCID,timeSince,timeUntil;errors',
                                            "lbnString/string:error/string:eventNumber/l:id/I:eta/F:phi/F:em_status/i:had_status/i:slot/I:count/I:ref_count/I:scid/string:timeSince/I:timeUntil/I",
                                            title="errors tree;LBN;Error",fillGroup="errors")
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/EfexInputMonitorAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/EfexInputMonitorAlgorithm.cxx
index 6b777ab0279e19b0e690221507dfae7eea2e49e8..a96a5ed26d05860026baf0d7596968f16533b154 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/EfexInputMonitorAlgorithm.cxx
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/EfexInputMonitorAlgorithm.cxx
@@ -76,6 +76,7 @@ StatusCode EfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
 
     auto evtNumber = Monitored::Scalar<ULong64_t>("EventNumber",GetEventInfo(ctx)->eventNumber());
     auto lbnString = Monitored::Scalar<std::string>("LBNString",std::to_string(GetEventInfo(ctx)->lumiBlock()));
+    auto lbn = Monitored::Scalar<int>("LBNS",GetEventInfo(ctx)->lumiBlock());
 
     // mismatches can be caused by recent/imminent OTF maskings, so track timings
     auto timeSince = Monitored::Scalar<int>("timeSince", -1);
@@ -128,7 +129,7 @@ StatusCode EfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
                 TowerRefCount = Toweret_count[i];
                 if (TowerRefCount==1025) missingLAr=true; // 1025 comes from eFexTowerBuilder if it had no supercells
                 if(TowerRefCount==1025 || TowerRefCount==1022) TowerRefCount=0; // unavailable or invalid code
-                fill((i<10) ? "ecal" : "hcal",lbnString,Towereta,TowerRefCount);
+                fill((i<10) ? "ecal" : "hcal",lbn,Towereta,TowerRefCount);
             }
         }
     }
@@ -207,7 +208,7 @@ StatusCode EfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
                   fill("errors",Decision,timeSince,timeUntil,evtNumber,lbnString,TowerId,Towereta,Towerphi,Toweremstatus,Towerhadstatus,TowerSlot,TowerCount,TowerRefCount,SlotSCID);
               }
           }
-          fill((i<10) ? "ecal" : "hcal",lbnString,Towereta,TowerCount);
+          fill((i<10) ? "ecal" : "hcal",lbn,Towereta,TowerCount);
       }
   }
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_struct.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_struct.h
index 7ae4ff6b7dc22a91178aff114fa04586b8be7302..f7e078be1357a9a5b764622635a631fd2b16d86d 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_struct.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_struct.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef MM_STRUCT_H
@@ -357,7 +357,7 @@ struct evInf_entry{
 };
 
 struct hitData_key{
-  hitData_key(int bct=0, double t=0, double gt=0, int vmm=-1,int ev=-1);
+  hitData_key(int bct=0, double gt=0, int vmm=-1,int ev=-1);
   //for these operators, "less" means what you think it means
   //with precedence of quantities the same as order in the constructor
   //in the context of "earlier," it might make sense to say that a hit is earlier if,
@@ -373,7 +373,7 @@ struct hitData_key{
   void print() const;
 
   int BC_time;
-  double time,gtime;
+  double gtime;
   int VMM_chip,event;
 
 
@@ -436,7 +436,7 @@ struct Hit{
 
 struct hitData_entry{
   hitData_entry(int ev=0, double gt=0, double q=0, int vmm=0, int mmfe=0, int pl=0, int st=0, int est=0, int phi=0, int mult=0, int gg=0, double locX=0, double tr_the=0, double tru_phi=0,
-	     bool q_tbg=0, int bct=0, double time=0,const ROOT::Math::XYZVector& tru=ROOT::Math::XYZVector(), const ROOT::Math::XYZVector& rec=ROOT::Math::XYZVector(),
+	     bool q_tbg=0, int bct=0, const ROOT::Math::XYZVector& tru=ROOT::Math::XYZVector(), const ROOT::Math::XYZVector& rec=ROOT::Math::XYZVector(),
 	     double fit_the=0, double fit_phi=0, double fit_dth=0, double tru_dth=0,// double tru_thl=0, double tru_thg=0,
 	     double mxg=0, double mug=0, double mvg=0, double mxl=0, double the_mx=0, double the_my=0, int the_roi=0);
 
@@ -452,7 +452,6 @@ struct hitData_entry{
   double localX,tru_theta_ip,tru_phi_ip;
   bool truth_nbg;//truth (i.e. not bg) if true,
   int BC_time;/*fit theta, phi, dtheta originally here*/
-  double time;
   ROOT::Math::XYZVector truth,recon;
   double fit_theta,fit_phi;
   double fit_dtheta;
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
index 448c5c2792ac9f24cd36e6271d6d6bcfb0d3e9e9..43e6df03c35f2f4e93f76e83cce07d8feb9ad8aa 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "TrigT1NSWSimTools/MMLoadVariables.h"
@@ -276,8 +276,6 @@ StatusCode MMLoadVariables::getMMDigitsInfo(const EventContext& ctx,
             xxuv_to_uvxx(recon,thisPlane,pars[station]);
           }
 
-          int special_time = thisTime + (event+1)*100;
-
           hitData_entry hit_entry(event,
                                thisTime,
                                thisCharge,
@@ -294,7 +292,6 @@ StatusCode MMLoadVariables::getMMDigitsInfo(const EventContext& ctx,
                                tru_phi,
                                true,
                                BC_id,
-                               special_time,
                                mazin_check,
                                mazin_check);
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
index 7accbcf09374c37e92b1e2f2781c22c402da2e80..8f83af85ab3146dd7958502677cbf4afc99e425c 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "AthenaKernel/getMessageSvc.h"
@@ -120,7 +120,7 @@ evFit_entry MMT_Fitter::fit_event(int event, vector<Hit>& track, vector<hitData_
 
 int MMT_Fitter::find_hitData(const vector<hitData_entry>& hitDatas, const hitData_key& key) const{
   for(unsigned int i=0;i<hitDatas.size();i++){
-    if(hitDatas[i].BC_time==key.BC_time && hitDatas[i].time==key.time && hitDatas[i].gtime==key.gtime && hitDatas[i].VMM_chip==key.VMM_chip) return i;
+    if(hitDatas[i].BC_time==key.BC_time && hitDatas[i].gtime==key.gtime && hitDatas[i].VMM_chip==key.VMM_chip) return i;
   }
   return -1;
 }
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
index 4e312af9185200bebf5801d80c593b94e10bc4db..5467ef4a3b95037d8db648b013127d9d8a03dbaa 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "TrigT1NSWSimTools/MMT_struct.h"
@@ -1047,10 +1047,10 @@ evFit_entry::evFit_entry(int event,double fthe,double fphi,double fdth,int roi,i
 void evFit_entry::print()const{
 }
 
-hitData_key::hitData_key(int bct, double t, double gt, int vmm, int ev):BC_time(bct),time(t),gtime(gt),VMM_chip(vmm),event(ev) {}
+hitData_key::hitData_key(int bct, double gt, int vmm, int ev):BC_time(bct),gtime(gt),VMM_chip(vmm),event(ev) {}
 
 bool hitData_key::operator==(const hitData_key& rhs) const{
-  if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event==rhs.event) return true;
+  if(this->BC_time==rhs.BC_time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event==rhs.event) return true;
   return false;
 }
 
@@ -1059,19 +1059,17 @@ bool hitData_key::operator!=(const hitData_key& rhs) const{
 }
 bool hitData_key::operator<(const hitData_key& rhs) const{
   if(this->BC_time<rhs.BC_time) return true;
-  else if(this->BC_time==rhs.BC_time && this->time<rhs.time) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime<rhs.gtime) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime==rhs.gtime && this->VMM_chip<rhs.VMM_chip) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event<rhs.event) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime<rhs.gtime) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime==rhs.gtime && this->VMM_chip<rhs.VMM_chip) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event<rhs.event) return true;
   return false;
 }
 
 bool hitData_key::operator>(const hitData_key& rhs) const{
   if(this->BC_time>rhs.BC_time) return true;
-  else if(this->BC_time==rhs.BC_time && this->time>rhs.time) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime>rhs.gtime) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime==rhs.gtime && this->VMM_chip>rhs.VMM_chip) return true;
-  else if(this->BC_time==rhs.BC_time && this->time==rhs.time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event>rhs.event) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime>rhs.gtime) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime==rhs.gtime && this->VMM_chip>rhs.VMM_chip) return true;
+  else if(this->BC_time==rhs.BC_time && this->gtime==rhs.gtime && this->VMM_chip==rhs.VMM_chip && this->event>rhs.event) return true;
   return false;
 }
 
@@ -1085,12 +1083,12 @@ bool hitData_key::operator>=(const hitData_key& rhs) const{
 
 string hitData_key::hdr()const{
   ostringstream out;
-  out << setw(12) << "BC_t" << setw(12) << "t" << setw(12) << "g_t" << setw(12) << "VMM" << setw(12) << "event";
+  out << setw(12) << "BC_t" << setw(12) << "g_t" << setw(12) << "VMM" << setw(12) << "event";
   return out.str();
 }
 string hitData_key::str()const{
   ostringstream out;
-  out << setw(12) << this->BC_time << setw(12) << this->time << setw(12) << this->gtime << setw(12) << this->VMM_chip << setw(12) << this->event;
+  out << setw(12) << this->BC_time << setw(12) << this->gtime << setw(12) << this->VMM_chip << setw(12) << this->event;
   return out.str();
 }
 void hitData_key::print()const{
@@ -1215,17 +1213,17 @@ void Hit::print() const{
 }
 
 hitData_entry::hitData_entry(int ev, double gt, double q, int vmm, int mmfe, int pl, int st, int est, int phi, int mult, int gg, double locX, double tr_the, double tru_phi,
-		       bool q_tbg, int bct, double t, const ROOT::Math::XYZVector& tru, const ROOT::Math::XYZVector& rec,
+		       bool q_tbg, int bct, const ROOT::Math::XYZVector& tru, const ROOT::Math::XYZVector& rec,
 		       double fit_the, double fit_ph, double fit_dth, double tru_dth,// double tru_thl, double tru_thg,
 		       double mxg, double mug, double mvg, double mxl, double the_mx, double the_my, int the_roi):
-  event(ev),gtime(gt),charge(q),VMM_chip(vmm),MMFE_VMM(mmfe),plane(pl),strip(st),station_eta(est),station_phi(phi),multiplet(mult),gasgap(gg),localX(locX),tru_theta_ip(tr_the),tru_phi_ip(tru_phi),truth_nbg(q_tbg),BC_time(bct),time(t),truth(tru),recon(rec),fit_theta(fit_the),fit_phi(fit_ph),fit_dtheta(fit_dth),tru_dtheta(tru_dth),
+  event(ev),gtime(gt),charge(q),VMM_chip(vmm),MMFE_VMM(mmfe),plane(pl),strip(st),station_eta(est),station_phi(phi),multiplet(mult),gasgap(gg),localX(locX),tru_theta_ip(tr_the),tru_phi_ip(tru_phi),truth_nbg(q_tbg),BC_time(bct),truth(tru),recon(rec),fit_theta(fit_the),fit_phi(fit_ph),fit_dtheta(fit_dth),tru_dtheta(tru_dth),
   /*tru_theta_local(tru_thl),tru_theta_global(tru_thg),*/M_x_global(mxg),M_u_global(mug),M_v_global(mvg),M_x_local(mxl),mx(the_mx),my(the_my),roi(the_roi) {}
 
 Hit hitData_entry::entry_hit(std::shared_ptr<MMT_Parameters> par)const{
   return Hit(entry_key(),entry_info(par));
 }
 hitData_key hitData_entry::entry_key() const{
-  return hitData_key(BC_time,time,gtime,VMM_chip,event);
+  return hitData_key(BC_time,gtime,VMM_chip,event);
 }
 
 hitData_info hitData_entry::entry_info(std::shared_ptr<MMT_Parameters> par)const{
diff --git a/Trigger/TrigValidation/TrigP1Test/share/test_trigP1_magFieldToggle.ref b/Trigger/TrigValidation/TrigP1Test/share/test_trigP1_magFieldToggle.ref
index a163d9aef5b9e3eb8c7ca6da819fd44fd1e1f9dd..08549fce9c02f91e253689240f2cb366672af88f 100644
--- a/Trigger/TrigValidation/TrigP1Test/share/test_trigP1_magFieldToggle.ref
+++ b/Trigger/TrigValidation/TrigP1Test/share/test_trigP1_magFieldToggle.ref
@@ -1,131 +1,131 @@
-AtlasFieldCacheCondAlg                     1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[440499,l:0,b:4294967295] - [440500,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[440499,l:0,b:4294967295] - [440500,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: solenoid zone id  7000
-MagFieldCondReader                         1   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         1   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         2   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         2   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         3   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         3   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         4   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         4   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         5   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         5   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         6   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         6   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         7   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         7   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         8   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         8   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         9   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         9   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        10   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        10   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        11   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        11   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        12   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        12   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        13   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        13   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        14   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        14   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        15   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        15   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        16   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        16   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        17   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        17   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        18   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        18   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        19   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        19   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        20   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        20   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-AtlasFieldCacheCondAlg                     1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[431886,l:0,b:4294967295] - [431887,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[431886,l:0,b:4294967295] - [431887,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: no map read (currents == 0
-MagFieldCondReader                         1   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         1   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         2   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         2   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         3   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         3   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         4   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         4   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         5   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         5   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         6   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         6   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         7   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         7   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         8   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         8   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                         9   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                         9   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        10   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        10   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        11   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        11   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        12   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        12   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        13   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        13   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        14   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        14   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        15   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        15   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        16   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        16   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        17   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        17   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        18   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        18   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        19   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        19   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-MagFieldCondReader                        20   0    INFO Field status: solenoid=0, toroids=0
-MagFieldCondReader                        20   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
-AtlasFieldCacheCondAlg                     1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[431887,l:0,b:4294967295] - [431888,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[431887,l:0,b:4294967295] - [431888,l:0,b:4294967295]}
-AtlasFieldCacheCondAlg                     1   0    INFO execute: solenoid zone id  7000
-MagFieldCondReader                         1   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         1   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         2   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         2   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         3   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         3   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         4   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         4   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         5   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         5   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         6   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         6   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         7   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         7   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         8   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         8   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                         9   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                         9   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        10   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        10   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        11   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        11   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        12   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        12   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        13   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        13   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        14   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        14   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        15   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        15   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        16   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        16   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        17   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        17   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        18   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        18   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        19   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        19   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-MagFieldCondReader                        20   0    INFO Field status: solenoid=1, toroids=1
-MagFieldCondReader                        20   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
-AtlasFieldCacheCondAlg                              INFO Initialize: Will update current from parameters
-AtlasFieldCacheCondAlg                              INFO Initialize: useDCS, useSoleCurrent, useToroCurrent. 0,  'UseSoleCurrent':7730.0000,  'UseToroCurrent':20400.000 LockMapCurrents 1
+AtlasFieldCacheCondAlg                       1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[475321,l:0,b:4294967295] - [475322,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[475321,l:0,b:4294967295] - [475322,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: solenoid zone id  7000
+MagFieldCondReader                           1   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           1   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           2   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           2   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           3   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           3   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           4   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           4   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           5   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           5   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           6   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           6   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           7   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           7   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           8   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           8   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           9   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           9   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          10   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          10   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          11   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          11   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          12   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          12   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          13   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          13   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          14   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          14   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          15   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          15   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          16   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          16   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          17   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          17   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          18   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          18   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          19   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          19   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          20   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          20   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+AtlasFieldCacheCondAlg                       1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[431886,l:0,b:4294967295] - [431887,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[431886,l:0,b:4294967295] - [431887,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: no map read (currents == 0
+MagFieldCondReader                           1   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           1   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           2   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           2   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           3   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           3   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           4   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           4   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           5   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           5   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           6   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           6   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           7   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           7   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           8   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           8   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                           9   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                           9   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          10   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          10   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          11   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          11   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          12   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          12   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          13   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          13   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          14   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          14   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          15   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          15   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          16   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          16   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          17   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          17   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          18   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          18   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          19   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          19   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+MagFieldCondReader                          20   0    INFO Field status: solenoid=0, toroids=0
+MagFieldCondReader                          20   0    INFO Field xyz: 100, 100, 100, 1e-08, 1e-08, 1e-08
+AtlasFieldCacheCondAlg                       1   0    INFO updateCurrentFromParameters: Update from job options: Range of input/output is {[431887,l:0,b:4294967295] - [431888,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: initialized AtlasFieldCacheCondObj and cache with SFs - sol/tor 1/1, EventRange {[431887,l:0,b:4294967295] - [431888,l:0,b:4294967295]}
+AtlasFieldCacheCondAlg                       1   0    INFO execute: solenoid zone id  7000
+MagFieldCondReader                           1   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           1   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           2   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           2   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           3   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           3   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           4   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           4   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           5   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           5   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           6   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           6   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           7   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           7   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           8   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           8   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                           9   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                           9   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          10   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          10   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          11   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          11   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          12   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          12   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          13   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          13   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          14   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          14   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          15   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          15   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          16   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          16   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          17   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          17   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          18   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          18   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          19   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          19   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+MagFieldCondReader                          20   0    INFO Field status: solenoid=1, toroids=1
+MagFieldCondReader                          20   0    INFO Field xyz: 100, 100, 100, 1.58913e-06, -2.49264e-07, 0.00199734
+AtlasFieldCacheCondAlg                                INFO Initialize: Will update current from parameters
+AtlasFieldCacheCondAlg                                INFO Initialize: useDCS, useSoleCurrent, useToroCurrent. 0,  'UseSoleCurrent':7730.0000,  'UseToroCurrent':20400.000 LockMapCurrents 1