diff --git a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
index 3706e49c96d9a55006bfc4d06edbd08274348032..a2d03306548ad1238b92165d57027583a7cd8011 100644
--- a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
+++ b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py
@@ -122,6 +122,11 @@ def AthenaMonitoringCfg(flags):
         from Run3AFPMonitoring.Run3AFPExampleMonitorAlgorithm import Run3AFPExampleMonitoringConfig
         result.merge(Run3AFPExampleMonitoringConfig(flags))
 
+    if flags.DQ.Steering.doZDCMon and not flags.Input.isMC and flags.GeoModel.Run > LHCPeriod.Run2:
+        info('Set up ZDC monitoring')
+        from ZdcMonitoring.ZdcMonitorAlgorithm import ZdcMonitoringConfig
+        result.merge(ZdcMonitoringConfig(flags))
+
     #According to ATR-25910, LV1CaloMon should not be run on run 1 data    
     if flags.DQ.Steering.doLVL1CaloMon and flags.GeoModel.Run > LHCPeriod.Run1:
         info('Set up LVL1Calo monitoring')
diff --git a/Control/AthenaMonitoring/python/DQConfigFlags.py b/Control/AthenaMonitoring/python/DQConfigFlags.py
index 41a64e17cfa150402a986a3e36dd16e5ee559ede..7cc47179ea9ce2c31dad0f68337aa6dc9a0bf9cb 100644
--- a/Control/AthenaMonitoring/python/DQConfigFlags.py
+++ b/Control/AthenaMonitoring/python/DQConfigFlags.py
@@ -9,7 +9,7 @@ _steeringFlags = [ 'doGlobalMon', 'doLVL1CaloMon', 'doLVL1InterfacesMon', 'doCTP
                    'doPixelMon', 'doSCTMon', 'doTRTMon', 'doInDetMon',
                    'doLArMon', 'doTileMon',
                    'doCaloGlobalMon', 'doMuonMon',
-                   'doLucidMon', 'doAFPMon',
+                   'doLucidMon', 'doAFPMon', 'doZDCMon',
                    'doHIMon', 'doEgammaMon', 'doJetMon', 'doMissingEtMon',
                    'doJetInputsMon',
                    'doTauMon', 'doJetTagMon', 'doDataFlowMon' ]
diff --git a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
index 6eca9af96e8a8d9380efd41fe71a65a7840aa45b..3c53215e0bff503b12e32497be156baae19b325e 100644
--- a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config
@@ -4,16 +4,10 @@
 
 output top_level {
   output L1Calo {
-    output Legacy {
-     output .GlobalSummary {
-      output HAD {
-      }
-      output EM {
-      }
-     }
-    }
     output Expert {
-     output PPM {
+     output TREX {
+      output Overview { 
+      }
       output SpareChannels {
         output ADC {
         }
@@ -89,10 +83,22 @@ dir L1Calo {
   algorithm = L1Calo_GatherData
   reference = CentrallyManagedReferences_TriggerMain
   output = L1Calo
+  dir Overview {
+    hist l1calo_1d_NumberOfEvents {
+      output = L1Calo/Expert/TREX/Overview
+    }
+    dir Errors {
+      hist l1calo_2d_GlobalOverview {
+        output = L1Calo/Expert/TREX/Overview
+        display = SetPalette(1),SetGridx,SetGridy
+        algorithm = L1Calo_IsEmpty
+      }
+    }
+  }
   dir PPM {
     dir SpareChannels {
       dir ADC {
-        output = L1Calo/Expert/PPM/SpareChannels/ADC
+        output = L1Calo/Expert/TREX/SpareChannels/ADC
         hist ppmspare_1d_tt_adc_TriggeredSlice {
           display = LogY
         }
@@ -101,7 +107,7 @@ dir L1Calo {
         }
       }
       dir Errors {
-        output = L1Calo/Expert/PPM/SpareChannels/Errors
+        output = L1Calo/Expert/TREX/SpareChannels/Errors
         hist ppmspare_1d_ErrorSummary {
           display = SetGridx,SetGridy
         }
@@ -116,7 +122,7 @@ dir L1Calo {
           display = SetGridx,SetGridy
         }
         dir Detail {
-          output = L1Calo/Expert/PPM/SpareChannels/Errors/Detail
+          output = L1Calo/Expert/TREX/SpareChannels/Errors/Detail
           hist ppmspare_2d_Channel0DisabledChannel1DisabledCrate23 {
             display = SetGridx,SetGridy
           }
@@ -157,7 +163,7 @@ dir L1Calo {
       }
     }
     dir Errors {
-      output = L1Calo/Expert/PPM/Errors
+      output = L1Calo/Expert/TREX/Errors
       hist ppm_1d_ErrorSummary {
         algorithm = L1Calo_IsEmpty
       }
@@ -185,7 +191,7 @@ dir L1Calo {
       }
       dir Data_Simulation {
         dir MismatchEventNumbers {
-          output = L1Calo/Expert/PPM/Errors/Data_Simulation/MismatchEventNumbers
+          output = L1Calo/Expert/TREX/Errors/Data_Simulation/MismatchEventNumbers
           hist ppm_2d_LUT_MismatchEvents_cr0cr1 {
           }
           hist ppm_2d_LUT_MismatchEvents_cr2cr3 {
@@ -196,7 +202,7 @@ dir L1Calo {
           }
         }
         dir PPMLUTSim {
-          output = L1Calo/Expert/PPM/Errors/Data_Simulation/PPMLUTSim
+          output = L1Calo/Expert/TREX/Errors/Data_Simulation/PPMLUTSim
           hist ppm_em_2d_etaPhi_tt_lutCp_DataNoSim {
           }
           hist ppm_em_2d_etaPhi_tt_lutCp_SimEqData {
@@ -231,7 +237,7 @@ dir L1Calo {
           }
         }
         dir PPMBcidSim {
-          output = L1Calo/Expert/PPM/Errors/Data_Simulation/PPMBcidSim
+          output = L1Calo/Expert/TREX/Errors/Data_Simulation/PPMBcidSim
           hist ppm_2d_etaPhi_tt_satBcid_DataNoSim {
           }
           hist ppm_2d_etaPhi_tt_satBcid_NonZeroMatches {
@@ -243,7 +249,7 @@ dir L1Calo {
         }
       }
       dir Detail {
-        output = L1Calo/Expert/PPM/Errors/Detail
+        output = L1Calo/Expert/TREX/Errors/Detail
         hist ppm_2d_Channel0DisabledChannel1DisabledCrate01 {
         }
         hist ppm_2d_Channel0DisabledChannel1DisabledCrate23 {
@@ -296,7 +302,7 @@ dir L1Calo {
     }
     dir ADC {
       dir EtaPhiMaps {
-        output = L1Calo/Expert/PPM/ADC/EtaPhiMaps
+        output = L1Calo/Expert/TREX/ADC/EtaPhiMaps
         hist ppm_em_2d_etaPhi_tt_adc_HitMap {
           display = SetPalette(1),LogZ
         }
@@ -311,15 +317,11 @@ dir L1Calo {
         }
       }
       dir Timeslices {
-        output = L1Calo/Expert/PPM/ADC/Timeslices
+        output = L1Calo/Expert/TREX/ADC/Timeslices
         hist ppm_2d_tt_adc_BcidBits {
         }
         hist ppm_em_1d_tt_adc_TriggeredSlice {
         }
-        hist ppm_em_1d_tt_adc_MaxTimeslice@gs {
-          output = L1Calo/Legacy/.GlobalSummary/EM
-          description = Original location L1Calo/Expert/PPM/ADC/Timeslices
-        }
         hist ppm_em_1d_tt_adc_MaxTimeslice {
         }
         hist ppm_em_2d_etaPhi_tt_adc_MaxTimeslice {
@@ -327,10 +329,6 @@ dir L1Calo {
         }
         hist ppm_had_1d_tt_adc_TriggeredSlice {
         }
-        hist ppm_had_1d_tt_adc_MaxTimeslice@gs {
-          output = L1Calo/Legacy/.GlobalSummary/HAD
-          description = Original location L1Calo/Expert/PPM/ADC/Timeslices
-        }
         hist ppm_had_1d_tt_adc_MaxTimeslice {
         }
         hist ppm_had_2d_etaPhi_tt_adc_MaxTimeslice {
@@ -372,7 +370,7 @@ dir L1Calo {
     }
     dir LUT-CP {
       dir EtaPhiMaps {
-        output = L1Calo/Expert/PPM/LUT-CP/EtaPhiMaps
+        output = L1Calo/Expert/TREX/LUT-CP/EtaPhiMaps
         hist ppm_em_2d_etaPhi_tt_lutcp_Threshold00 {
           display = SetPalette(1),LogZ
         }
@@ -459,7 +457,7 @@ dir L1Calo {
         }
       }
       dir Distributions {
-        output = L1Calo/Expert/PPM/LUT-CP/Distributions
+        output = L1Calo/Expert/TREX/LUT-CP/Distributions
         hist ppm_em_1d_tt_lutcp_Et {
           display = LogX,LogY
         }
@@ -480,7 +478,7 @@ dir L1Calo {
     }
     dir LUT-JEP {
       dir EtaPhiMaps {
-        output = L1Calo/Expert/PPM/LUT-JEP/EtaPhiMaps
+        output = L1Calo/Expert/TREX/LUT-JEP/EtaPhiMaps
         hist ppm_em_2d_etaPhi_tt_lutjep_Threshold00 {
           display = SetPalette(1),LogZ
         }
@@ -567,7 +565,7 @@ dir L1Calo {
         }
       }
       dir Distributions {
-        output = L1Calo/Expert/PPM/LUT-JEP/Distributions
+        output = L1Calo/Expert/TREX/LUT-JEP/Distributions
         hist ppm_em_1d_tt_lutjep_Et {
           display = LogX,LogY
         }
@@ -582,10 +580,6 @@ dir L1Calo {
         }
         hist ppm_had_1d_tt_lutjep_Phi {
         }
-        hist ppm_1d_tt_lutjep_LutPerBCN@gs {
-          output = L1Calo/Legacy/.GlobalSummary
-          description = Original location L1Calo/Expert/PPM/LUT-JEP/Distributions
-        }
         hist ppm_1d_tt_lutjep_LutPerBCN {
         }
       }
@@ -593,502 +587,470 @@ dir L1Calo {
 
     dir Stability {
       dir FineTime {
-        hist ppm_em_1d_profile_adc_fineTime@gs {
-          output = L1Calo/Legacy/.GlobalSummary/EM
-          description = Original location L1Calo/Expert/PPM/Stability/FineTime
-        }
         hist ppm_em_1d_profile_adc_fineTime {
-          output = L1Calo/Expert/PPM/Stability/FineTime
+          output = L1Calo/Expert/TREX/Stability/FineTime
         }
         hist ppm_em_2d_profile_etaPhi_adc_fineTime {
-          output = L1Calo/Expert/PPM/Stability/FineTime
-        }
-        hist ppm_had_1d_profile_adc_fineTime@gs {
-          output = L1Calo/Legacy/.GlobalSummary/HAD
-          description = Original location L1Calo/Expert/PPM/Stability/FineTime
+          output = L1Calo/Expert/TREX/Stability/FineTime
         }
         hist ppm_had_1d_profile_adc_fineTime {
-          output = L1Calo/Expert/PPM/Stability/FineTime
+          output = L1Calo/Expert/TREX/Stability/FineTime
         }
         hist ppm_had_2d_profile_etaPhi_adc_fineTime {
-          output = L1Calo/Expert/PPM/Stability/FineTime
+          output = L1Calo/Expert/TREX/Stability/FineTime
         }
         hist ppm_em_1d_profile_adc_LArEMBA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMBC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1C_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileHECA_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_TileHECC_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23A_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23C_fineTimeVsLumi {
-          output = L1Calo/Expert/PPM/Stability/FineTime/FineTime_Lumi
+          output = L1Calo/Expert/TREX/Stability/FineTime/FineTime_Lumi
         }
       }
       dir Pedestal {
         hist ppm_em_1d_profile_adc_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
-        }
-        hist ppm_em_1d_profile_adc_pedestalVsLumi@gs {
-          output = L1Calo/Legacy/.GlobalSummary/EM
-          description = Original location L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_em_1d_profile_adc_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_em_pedestal_BCN_lumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_em_2d_profile_etaPhi_adc_pedestal {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_had_1d_profile_adc_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
-        }
-        hist ppm_had_1d_profile_adc_pedestalVsLumi@gs {
-          output = L1Calo/Legacy/.GlobalSummary/HAD
-          description = Original location L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_had_1d_profile_adc_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_had_pedestal_BCN_lumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_had_2d_profile_etaPhi_adc_pedestal {
-          output = L1Calo/Expert/PPM/Stability/Pedestal
+          output = L1Calo/Expert/TREX/Stability/Pedestal
         }
         hist ppm_em_1d_profile_adc_LArEMBA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArEMBC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArEMECA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArEMECC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArFCAL1C_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArOverlapA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArOverlapC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_TileLBA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_TileLBC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_TileEBA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_TileEBC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_LArHECA_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_LArHECC_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_LArFCAL23A_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_had_1d_profile_adc_LArFCAL23C_pedestalVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_BCN
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_BCN
         }
         hist ppm_em_1d_profile_adc_LArEMBA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMBC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1C_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_LArHECA_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_LArHECC_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23A_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23C_pedestalVsLumi {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Lumi
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Lumi
         }
         hist ppm_em_2d_profile_adc_LArEMBA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArEMBA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArEMBC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArEMECA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArEMECC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArFCAL1A_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArFCAL1C_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArOverlapA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_em_2d_profile_adc_LArOverlapC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_LArFCAL23A_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_LArFCAL23C_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_LArHECA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_LArHECC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_TileEBA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_TileEBC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_TileLBA_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
         hist ppm_had_2d_profile_adc_TileLBC_pedestalVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/Pedestal/Pedestal_Summary
+          output = L1Calo/Expert/TREX/Stability/Pedestal/Pedestal_Summary
         }
       }
       dir PedestalCorrection {
         hist ppm_em_1d_profile_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
-        }
-        hist ppm_em_1d_profile_pedestalCorrectionVsLumi@gs {
-          output = L1Calo/Legacy/.GlobalSummary/EM
-          description = Original location L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_em_1d_profile_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_em_pedestalCorrection_BCN_lumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_em_2d_profile_etaPhi_pedestalCorrection {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_had_1d_profile_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
-        }
-        hist ppm_had_1d_profile_pedestalCorrectionVsLumi@gs {
-          output = L1Calo/Legacy/.GlobalSummary/HAD
-          description = Original location L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_had_1d_profile_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_had_pedestalCorrection_BCN_lumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_had_2d_profile_etaPhi_pedestalCorrection {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection
         }
         hist ppm_em_1d_profile_LArEMBA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArEMBC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArEMECA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArEMECC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArFCAL1A_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArFCAL1C_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArOverlapA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArOverlapC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_TileLBA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_TileLBC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_TileEBA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_TileEBC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_LArHECA_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_LArHECC_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_LArFCAL23A_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_had_1d_profile_LArFCAL23C_pedestalCorrectionVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_BCN
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_BCN
         }
         hist ppm_em_1d_profile_LArEMBA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArEMBC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArEMECA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArEMECC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArFCAL1A_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArFCAL1C_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArOverlapA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_1d_profile_LArOverlapC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_TileLBA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_TileLBC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_TileEBA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_TileEBC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_LArHECA_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_LArHECC_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_LArFCAL23A_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_had_1d_profile_LArFCAL23C_pedestalCorrectionVsLumi {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Lumi
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Lumi
         }
         hist ppm_em_2d_profile_LArEMBA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArEMBC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArEMECA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArEMECC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArFCAL1A_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArFCAL1C_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArOverlapA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_em_2d_profile_LArOverlapC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_LArFCAL23A_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_LArFCAL23C_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_LArHECA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_LArHECC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_TileEBA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_TileEBC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_TileLBA_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
         hist ppm_had_2d_profile_TileLBC_pedestalCorrectionVsLumiVsBCN {
-          output = L1Calo/Expert/PPM/Stability/PedestalCorrection/PedestalCorrection_Summary
+          output = L1Calo/Expert/TREX/Stability/PedestalCorrection/PedestalCorrection_Summary
         }
       }
       dir EtCorrelation {
-        hist ppm_em_1d_profile_adc_etCorrelation@gs {
-          output = L1Calo/Legacy/.GlobalSummary/EM
-          description = Original location L1Calo/Expert/PPM/Stability/EtCorrelation
-        }
         hist ppm_em_1d_profile_adc_etCorrelation {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation
         }
         hist ppm_em_2d_profile_etaPhi_adc_etCorrelation {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation
-        }
-        hist ppm_had_1d_profile_adc_etCorrelation@gs {
-          output = L1Calo/Legacy/.GlobalSummary/HAD
-          description = Original location L1Calo/Expert/PPM/Stability/EtCorrelation
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation
         }
         hist ppm_had_1d_profile_adc_etCorrelation {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation
         }
         hist ppm_had_2d_profile_etaPhi_adc_etCorrelation {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation
         }
         hist ppm_em_1d_profile_adc_LArEMBA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMBC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArEMECC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1A_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArFCAL1C_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_em_1d_profile_adc_LArOverlapC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileLBC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileEBC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileHECA_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_TileHECC_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23A_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
         hist ppm_had_1d_profile_adc_LArFCAL23C_etCorrelationVsLumi {
-          output = L1Calo/Expert/PPM/Stability/EtCorrelation/EtCorrelation_Lumi
+          output = L1Calo/Expert/TREX/Stability/EtCorrelation/EtCorrelation_Lumi
         }
       }
     }
diff --git a/DataQuality/DataQualityConfigurations/config/ZDC/collisions_run.config b/DataQuality/DataQualityConfigurations/config/ZDC/collisions_run.config
index fcbde2ec1cc12683ef85508f7d1d9cdf9b637604..9c47c427bc1747101213268c8252cbb103a02988 100644
--- a/DataQuality/DataQualityConfigurations/config/ZDC/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/ZDC/collisions_run.config
@@ -54,405 +54,420 @@ output top_level {
 }
 
 dir ZDC {
-  dir ZDC {
-    dir ZdcModule {
-      dir ModuleAmp {
-        hist zdcModuleAmp_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-      }
-      dir ModuleAmpLBdep {
-        hist zdcModuleAmp_vs_lb_0_0 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_1 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_2 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_3 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_0 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_1 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_2 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_3 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-      }
-      dir ModuleCalibAmp {
-        hist zdcModuleCalibAmp_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-      }
-      dir ModuleFractionLBdep {
-        hist zdcModuleFract_above20N_vs_lb_0_0 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_1 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_2 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_3 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_0 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_1 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_2 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_3 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-      }
-      dir ModuleTimeLBdep {
-        hist zdcModuleTime_HG_vs_lb_0_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
+  dir EXPERT {
+    dir ZDC {
+      dir ZdcModule {
+	dir ModuleAmp {
+	  hist zdcModuleAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}
+	dir ModuleAmpLBdep {
+	  hist zdcModuleAmp_vs_lb_C_0 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_1 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_2 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_3 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_0 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_1 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_2 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_3 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	}
+	dir ModuleCalibAmp {
+	  hist zdcModuleCalibAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}
+	dir ModuleFractionLBdep {
+	  hist zdcModuleFract_above20N_vs_lb_C_0 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_1 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_2 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_3 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_0 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_1 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_2 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_3 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	}
+	dir ModuleTimeLBdep {
+	  hist zdcModuleTime_HG_vs_lb_C_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	}
+	
       }
-      
-    }
-    dir PerArm {
-      dir Energy {
-        dir SideA {
-          hist zdcEnergySumA {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
-	    display = LogY
-          }
-          hist zdcEnergySumA_zoomin_noTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
+      dir PerArm {
+	dir Energy {
+	  hist zdcEnergySum_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
 	    display = LogY
-          }
-          hist zdcEnergySumA_zoomin_wTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
-	    display = LogY
-          }
-          hist zdcEnergySumA_vs_lb_wTrig {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_lb_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_lb_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_wTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-        }
-        dir SideC {
-          hist zdcEnergySumC {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
-	    display = LogY
-          }
-          hist zdcEnergySumC_zoomin_noTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
+	  }
+	  
+	  hist zdcEnergySum_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
 	    display = LogY
-          }
-          hist zdcEnergySumC_zoomin_wTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
-	    display = LogY
-          }
-          hist zdcEnergySumC_vs_lb_wTrig {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_lb_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_lb_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_wTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-
-        }
+	  }	    
+	}
+      }
+    }
+  }
+  
+  dir SHIFT {
+    dir ZDC {
+      dir ZdcModule {
+	dir ModuleAmp {
+	  hist zdcModuleAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}	
+      }
+      dir PerArm {
+	dir Energy {
+	  hist zdcEnergySum_zoomin_noTrigSelec_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
+	    display = LogY
+	  }
+	  hist zdcEnergySum_zoomin_wTrigSelec_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
+	    display = LogY
+	  }
+	  hist zdcEnergySum_zoomin_noTrigSelec_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
+	    display = LogY
+	  }
+	  hist zdcEnergySumC_zoomin_wTrigSelec {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
+	    display = LogY
+	  }
+	}
       }
     }
   }
@@ -538,7 +553,7 @@ algorithm ZDC_Time_Stable_LB {
   NBinsYellowToYellowStatus = 5
   MinStat = 500
   ignoreval = 0
-  thresholds = ZD_Time_Stable_LB_thresh
+  thresholds = ZDC_Time_Stable_LB_thresh
 }
 
 thresholds ZDC_Time_Stable_LB_thresh {
diff --git a/DataQuality/DataQualityConfigurations/config/ZDC/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/ZDC/heavyions_run.config
index fcbde2ec1cc12683ef85508f7d1d9cdf9b637604..9c47c427bc1747101213268c8252cbb103a02988 100644
--- a/DataQuality/DataQualityConfigurations/config/ZDC/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/ZDC/heavyions_run.config
@@ -54,405 +54,420 @@ output top_level {
 }
 
 dir ZDC {
-  dir ZDC {
-    dir ZdcModule {
-      dir ModuleAmp {
-        hist zdcModuleAmp_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_halfrange_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_HG_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleAmp_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_halfrange_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleAmp_HG_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-      }
-      dir ModuleAmpLBdep {
-        hist zdcModuleAmp_vs_lb_0_0 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_1 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_2 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_0_3 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideC/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_0 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_1 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_2 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-        hist zdcModuleAmp_vs_lb_1_3 {
-          algorithm = ZDC_Mod_Stable_LB
-          output = ZDC/Module/SideA/AmpLB
-        }
-      }
-      dir ModuleCalibAmp {
-        hist zdcModuleCalibAmp_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_0_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideC/Amp
-        }
-        hist zdcModuleCalibAmp_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_0 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_1 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_2 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-        hist zdcModuleCalibAmp_halfrange_1_3 {
-          algorithm = ZDC_Histogram_Has_NonZero_Entries
-          output = ZDC/Module/SideA/Amp
-        }
-      }
-      dir ModuleFractionLBdep {
-        hist zdcModuleFract_above20N_vs_lb_0_0 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_1 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_2 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_0_3 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideC/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_0 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_1 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_2 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-        hist zdcModuleFract_above20N_vs_lb_1_3 {
-          algorithm = ZDC_Frac_Stable_LB
-          output = ZDC/Module/SideA/FractionLB
-        }
-      }
-      dir ModuleTimeLBdep {
-        hist zdcModuleTime_HG_vs_lb_0_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_0_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_0_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideC/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_0 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_1 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_2 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_HG_vs_lb_1_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
-        hist zdcModuleTime_LG_vs_lb_1_3 {
-          algorithm = ZDC_Time_Stable_LB
-          output = ZDC/Module/SideA/TimeLB
-        }
+  dir EXPERT {
+    dir ZDC {
+      dir ZdcModule {
+	dir ModuleAmp {
+	  hist zdcModuleAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_HG_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_halfrange_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_HG_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}
+	dir ModuleAmpLBdep {
+	  hist zdcModuleAmp_vs_lb_C_0 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_1 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_2 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_C_3 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideC/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_0 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_1 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_2 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	  hist zdcModuleAmp_vs_lb_A_3 {
+	    algorithm = ZDC_Mod_Stable_LB
+	    output = ZDC/Module/SideA/AmpLB
+	  }
+	}
+	dir ModuleCalibAmp {
+	  hist zdcModuleCalibAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleCalibAmp_halfrange_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}
+	dir ModuleFractionLBdep {
+	  hist zdcModuleFract_above20N_vs_lb_C_0 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_1 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_2 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_C_3 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideC/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_0 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_1 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_2 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	  hist zdcModuleFract_above20N_vs_lb_A_3 {
+	    algorithm = ZDC_Frac_Stable_LB
+	    output = ZDC/Module/SideA/FractionLB
+	  }
+	}
+	dir ModuleTimeLBdep {
+	  hist zdcModuleTime_HG_vs_lb_C_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_C_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_C_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideC/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_0 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_1 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_2 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_HG_vs_lb_A_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	  hist zdcModuleTime_LG_vs_lb_A_3 {
+	    algorithm = ZDC_Time_Stable_LB
+	    output = ZDC/Module/SideA/TimeLB
+	  }
+	}
+	
       }
-      
-    }
-    dir PerArm {
-      dir Energy {
-        dir SideA {
-          hist zdcEnergySumA {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
-	    display = LogY
-          }
-          hist zdcEnergySumA_zoomin_noTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
+      dir PerArm {
+	dir Energy {
+	  hist zdcEnergySum_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
 	    display = LogY
-          }
-          hist zdcEnergySumA_zoomin_wTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
-	    display = LogY
-          }
-          hist zdcEnergySumA_vs_lb_wTrig {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_lb_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_lb_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumA_vs_bcid_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideA
+	  }
+	  hist zdcEnergySum_vs_bcid_wTrig_A {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideA
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-        }
-        dir SideC {
-          hist zdcEnergySumC {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
-	    display = LogY
-          }
-          hist zdcEnergySumC_zoomin_noTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
+	  }
+	  
+	  hist zdcEnergySum_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
 	    display = LogY
-          }
-          hist zdcEnergySumC_zoomin_wTrigSelec {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
-	    display = LogY
-          }
-          hist zdcEnergySumC_vs_lb_wTrig {
-            algorithm = ZDC_Histogram_Has_NonZero_Entries
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_lb_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_lb_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_lb_wTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_noTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_noTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-          hist zdcEnergySumC_vs_bcid_wTrig {
-            algorithm = ZDC_1n_Stable_LB
-            output = ZDC/Arm/SideC
+	  }
+	  hist zdcEnergySum_vs_bcid_wTrig_C {
+	    algorithm = ZDC_1n_Stable_LB
+	    output = ZDC/Arm/SideC
 	    display = LogZ,AxisRange(1500,4000,"Y")
-          }
-
-        }
+	  }	    
+	}
+      }
+    }
+  }
+  
+  dir SHIFT {
+    dir ZDC {
+      dir ZdcModule {
+	dir ModuleAmp {
+	  hist zdcModuleAmp_C_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_C_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideC/Amp
+	  }
+	  hist zdcModuleAmp_A_0 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_1 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_2 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	  hist zdcModuleAmp_A_3 {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Module/SideA/Amp
+	  }
+	}	
+      }
+      dir PerArm {
+	dir Energy {
+	  hist zdcEnergySum_zoomin_noTrigSelec_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
+	    display = LogY
+	  }
+	  hist zdcEnergySum_zoomin_wTrigSelec_A {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideA
+	    display = LogY
+	  }
+	  hist zdcEnergySum_zoomin_noTrigSelec_C {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
+	    display = LogY
+	  }
+	  hist zdcEnergySumC_zoomin_wTrigSelec {
+	    algorithm = ZDC_Histogram_Has_NonZero_Entries/displayRef
+	    output = ZDC/Arm/SideC
+	    display = LogY
+	  }
+	}
       }
     }
   }
@@ -538,7 +553,7 @@ algorithm ZDC_Time_Stable_LB {
   NBinsYellowToYellowStatus = 5
   MinStat = 500
   ignoreval = 0
-  thresholds = ZD_Time_Stable_LB_thresh
+  thresholds = ZDC_Time_Stable_LB_thresh
 }
 
 thresholds ZDC_Time_Stable_LB_thresh {
diff --git a/DataQuality/DataQualityConfigurations/config/common/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/common/heavyions_run.config
index 548fd1918091249c736b76622ddc9bc6f45f102f..4feeef93853c849b6d3236e86c0e00deb75bac8f 100644
--- a/DataQuality/DataQualityConfigurations/config/common/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/common/heavyions_run.config
@@ -76,7 +76,7 @@ reference CentrallyManagedReferences_TriggerHardProbes {
 
 reference CentrallyManagedReferences_ZDCCalib {
   location = /eos/atlas/atlascerngroupdisk/det-zdc/references/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/det-zdc/references/
-  file = data23_hi.00462201.calibration_ZDCCalib.merge.HIST.c1535_m2220._0001.1
+  file = data23_hi.00462201.calibration_ZDCCalib.merge.HIST.c1549_m2220._0001.1
   path = run_462201
   info = Run 462201, calibration_ZDCCalib
   #database = heavyions
diff --git a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/scripts/TRTCalib_bhadd.cxx b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/scripts/TRTCalib_bhadd.cxx
index 47a781f85dfa0feb3120703d630c7b6e57f961d4..9d714eb962a19d8fd1f21ef6a1967c2695ab4b48 100644
--- a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/scripts/TRTCalib_bhadd.cxx
+++ b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/scripts/TRTCalib_bhadd.cxx
@@ -266,7 +266,8 @@ map<string, calibpars> readoldpars()
         oldconstfile.close();
     }
     else{
-        std::cerr << "Unable to open precision t0 file!\n";
+        // Output to std::cout since for online calibration this file is not used.
+        std::cout << "Unable to open precision t0 file!\n";
     }
         
 
diff --git a/Reconstruction/RecExample/RecExOnline/share/GlobalMonitoring_CA.py b/Reconstruction/RecExample/RecExOnline/share/GlobalMonitoring_CA.py
index ac9ddd74eb5ddfe148aa27d2596194cbf68c72c7..2cd798142ea10e40665d64dc2ccb3235e72d7c6a 100644
--- a/Reconstruction/RecExample/RecExOnline/share/GlobalMonitoring_CA.py
+++ b/Reconstruction/RecExample/RecExOnline/share/GlobalMonitoring_CA.py
@@ -169,6 +169,8 @@ if __name__=='__main__':
     flags.DQ.Steering.doHLTMon = True
     ### AFPmon
     flags.DQ.Steering.doAFPMon = True
+    ### AFPmon
+    flags.DQ.Steering.doZDCMon = False
     ### LVL1Calo
     flags.DQ.Steering.doLVL1CaloMon = False
     flags.DQ.Steering.doLVL1InterfacesMon = False 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
index 1e2f819da7ac9345d7d1472d0b40b2230a4898b3..6f7b178f87a6451a0c38d828d6fa5f6f26c0bdcf 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
@@ -2278,10 +2278,11 @@ int main(int argc, char** argv)
                                              //       (which is ideally pT ordered e.g. 0, 1, 3)
         }
 
+	/// check configuration is provided ...
+        if ( cf ) {
 
-        /// remove any tracks below the pt threshold if one is specifed for the analysis
+	  /// remove any tracks below the pt threshold if one is specifed for the analysis
 
-        if ( cf ) { 
           std::string ptconfig = cf->config().postvalue("pt");
           if ( ptconfig!="" ) { 
             double pt = std::atof( ptconfig.c_str() );
@@ -2293,6 +2294,21 @@ int main(int argc, char** argv)
               refp_vec = reft;
             }
           }
+
+	  /// remove any tracks outside the d0 region if one is specifed for the analysis
+
+	  std::string d0config = cf->config().postvalue("d0");
+          if ( d0config!="" ) { 
+            double d0 = std::atof( d0config.c_str() );
+            if ( d0>0 ) { 
+              std::vector<TIDA::Track*> reft; reft.reserve(refp_vec.size());
+              for ( std::vector<TIDA::Track*>::const_iterator itr=refp_vec.begin() ; itr!=refp_vec.end() ; ++itr ) { 
+                if ( std::fabs((*itr)->a0())<=d0 ) reft.push_back( *itr );
+              }
+              refp_vec = reft;
+            }
+          }
+	  
         }    
         
         /// if requesting an object match, remove any tracks which correspond to an object
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/TIDAdata-chains-run3.dat b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/TIDAdata-chains-run3.dat
index 53a3af2e20214a092ab0a1f3a82de9ccaa0b9464..347f0420a74115bb4b4197886d019d3b87db002d 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/TIDAdata-chains-run3.dat
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/TIDAdata-chains-run3.dat
@@ -9,17 +9,17 @@ testChains = {
 
     "HLT_mu6_idperf_L1MU5VF:HLT_IDTrack_Muon_FTF:HLT_Roi_L2SAMuon",
     "HLT_mu6_idperf_L1MU5VF:HLT_IDTrack_Muon_IDTrig:HLT_Roi_L2SAMuon",
-    "HLT_mu6_ivarmedium_L1MU5VF:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso",
-    "HLT_mu6_ivarmedium_L1MU5VF:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso",
+    "HLT_mu6_ivarmedium_L1MU5VF:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu6_ivarmedium_L1MU5VF:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso:post:d0=4",
 
     "HLT_mu24_idperf_L1MU14FCH:HLT_IDTrack_Muon_FTF:HLT_Roi_L2SAMuon",
     "HLT_mu24_idperf_L1MU14FCH:HLT_IDTrack_Muon_IDTrig:HLT_Roi_L2SAMuon",
-    "HLT_mu26_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso",
-    "HLT_mu26_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso",
-    "HLT_mu28_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso",
-    "HLT_mu28_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso",
-    "HLT_mu26_ivarperf_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso",
-    "HLT_mu26_ivarperf_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso",
+    "HLT_mu26_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu26_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu28_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu28_ivarmedium_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu26_ivarperf_L1MU14FCH:HLT_IDTrack_MuonIso_FTF:HLT_Roi_MuonIso:post:d0=4",
+    "HLT_mu26_ivarperf_L1MU14FCH:HLT_IDTrack_MuonIso_IDTrig:HLT_Roi_MuonIso:post:d0=4",
 
     "HLT_mu6_idperf_L1MU5VF:HLT_IDTrack_Muon_IDTrig:HLT_Roi_L2SAMuon",
 
diff --git a/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py b/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py
index ab4b7a050596a22e210eedb4c5d912f343d6a92d..f935216860d56eeb2aa8ac8c05e0d19e7ad75b57 100644
--- a/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py
@@ -131,7 +131,7 @@ def TrigEFTauMVHypoToolFromDict( flags, chainDict ):
             currentHypo.AcceptAll   = True
 
         # 2023 DeepSet triggers
-        if chainPart['preselection'] == 'tracktwoMVA':
+        if chainPart['reconstruction'] == 'tracktwoMVA':
             currentHypo.HighPtSelectionLooseIDThr = 200e3
             currentHypo.HighPtSelectionJetThr = 430e3
             currentHypo.TrackPtCut = 1.5e3
diff --git a/Trigger/TrigSteer/DecisionHandling/src/TestRecoAlg.cxx b/Trigger/TrigSteer/DecisionHandling/src/TestRecoAlg.cxx
index c615b570ef82b95f073f0023be607d1034c3877c..f77933c0b068de3c958f6ad66550eb7b8944be7a 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/TestRecoAlg.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/TestRecoAlg.cxx
@@ -100,27 +100,38 @@ namespace HLTTest {
       auto roiLink = featureInfo.link;
       CHECK( roiLink.isValid() );
       if ( roiLink.isValid() ) {
-	auto roiPtr(roiLink.cptr());
-	ATH_MSG_DEBUG("RoI" << **roiPtr );
-	// create new outpu objects and add the properties
-	if (objects.size() > output->size()) {
-	  auto object=objects[output->size()];
-	  auto xobj = new xAOD::TrigComposite;
-	  output->push_back( xobj );
-	  // maintain link to previous collections
-	  xobj->setObjectLink( "initialRoI", roiLink );// this is used by the HypoAlg
-
-	  ATH_MSG_DEBUG( "Reconstructed object" );
-	  for ( const auto& prop : object )  {
-	    xobj->setDetail( prop.first, prop.second );
-	    ATH_MSG_DEBUG( "  " << prop.first << " : " << prop.second );
-	  }
-	}
-	else {
-	  ATH_MSG_DEBUG( "No reco object created for this RoI because it's not found in the event");
-	}
+      	auto roiPtr(roiLink.cptr());
+      	ATH_MSG_DEBUG("RoI" << **roiPtr );
+        bool foundObject = false;
+      	// create new outpu objects and add the properties
+      	if (objects.size() > output->size()) {  	   
+          // attaching the correct object form input data:
+          for (auto object: objects){              	        
+            auto eta = object[0].second;
+            auto phi = object[1].second;
+            // check eta and phi
+            if (std::abs( eta - (*roiPtr)->eta()) <0.01 && std::abs(phi - (*roiPtr)->phi())< 0.01){
+              foundObject = true;
+              ATH_MSG_DEBUG( "Found object: " << object[0].first << " : " << object[0].second <<" ,   " << object[1].first << " : " << object[1].second );
+              auto xobj = new xAOD::TrigComposite;
+    	        output->push_back( xobj );
+	            // maintain link to previous collections
+      	      xobj->setObjectLink( "initialRoI", roiLink );// this is used by the HypoAlg
+              for ( const auto& prop : object )  {
+                 xobj->setDetail( prop.first, prop.second );
+                 ATH_MSG_DEBUG( "  " << prop.first << " : " << prop.second );
+              }
+	          }
+          }
+          if (!foundObject) {
+            ATH_MSG_ERROR("No reco object found in eta and phi range: this might be an error");
+          }
+	      }
+      	else {
+      	  ATH_MSG_DEBUG( "No reco object created for this RoI because it's not found in the event");
+      	}
       } else {
-	ATH_MSG_DEBUG("RoI information missing");
+      	ATH_MSG_DEBUG("RoI information missing");
       }
     }
   
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/python/L1CaloFEXAlgosConfig.py b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/python/L1CaloFEXAlgosConfig.py
index a853c9e53df1d5e19149a2f5d4fdb472d916c055..1f798d082edf9516ec5ee3eb5c6dd24644b67222 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/python/L1CaloFEXAlgosConfig.py
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/python/L1CaloFEXAlgosConfig.py
@@ -46,10 +46,7 @@ def eFexTOBDecoratorCfg(flags, name, eFexEMRoIContainer = "L1_eEMRoI", eFexTauRo
         decorator.RhadHadDecDecorKey = eFexEMRoIContainer+".RhadHadDec"
         decorator.WstotDenDecDecorKey = eFexEMRoIContainer+".WstotDenDec"
         decorator.WstotNumDecDecorKey = eFexEMRoIContainer+".WstotNumDec"
-        decorator.ClusterEtSumPSDecorKey = eFexEMRoIContainer+".ClusterEtSumPS"
-        decorator.ClusterEtSumL1DecorKey = eFexEMRoIContainer+".ClusterEtSumL1"
-        decorator.ClusterEtSumL2DecorKey = eFexEMRoIContainer+".ClusterEtSumL2"
-        decorator.ClusterEtSumL3DecorKey = eFexEMRoIContainer+".ClusterEtSumL3"
+        decorator.ClusterSCellEtSumsDecorKey = eFexEMRoIContainer+".ClusterSCellEtSums"
 
     if eFexEMRoIContainer != "L1_eTauRoI":
         decorator.RCoreDecorKey = eFexTauRoIContainer+".RCoreDec"
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.cxx
index a0e5e1ae6963a58e20ce66ed2b6d34e474069bc8..828b6869d07535294a5765364833178b931dce8e 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.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
 */
 
 //***************************************************************************
@@ -34,10 +34,7 @@ namespace LVL1 {
     ATH_CHECK( m_WstotDenDec.initialize() );    
     ATH_CHECK( m_WstotNumDec.initialize() );    
 
-    ATH_CHECK( m_ClusterEtSumPSDec.initialize() );
-    ATH_CHECK( m_ClusterEtSumL1Dec.initialize() );
-    ATH_CHECK( m_ClusterEtSumL2Dec.initialize() );
-    ATH_CHECK( m_ClusterEtSumL3Dec.initialize() );
+    ATH_CHECK( m_ClusterSCellEtSumsDec.initialize() );
 
     ATH_CHECK( m_RCoreDec.initialize() );      
     ATH_CHECK( m_REnvDec.initialize() );       
@@ -75,10 +72,7 @@ namespace LVL1 {
     SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   WstotDenDec  (m_WstotDenDec );
     SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   WstotNumDec  (m_WstotNumDec );
 
-    SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   ClusterEtSumPSDec  (m_ClusterEtSumPSDec );
-    SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   ClusterEtSumL1Dec  (m_ClusterEtSumL1Dec );
-    SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   ClusterEtSumL2Dec  (m_ClusterEtSumL2Dec );
-    SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, unsigned int >   ClusterEtSumL3Dec  (m_ClusterEtSumL3Dec );
+    SG::WriteDecorHandle<xAOD::eFexEMRoIContainer, std::vector<unsigned int > >   ClusterSCellEtSumsDec  (m_ClusterSCellEtSumsDec );
 
     //looping over EM TOB to decorate them
     for ( const xAOD::eFexEMRoI* emRoI : *emEDMConstPtr ){
@@ -101,26 +95,7 @@ namespace LVL1 {
       WstotDenDec (*emRoI) = WstotSums[0];
       WstotNumDec (*emRoI) = WstotSums[1];
 
-      // cluster et per layer summed from SCells
-      unsigned int ps(0); // 0-1 - pre-sampler
-      unsigned int l1(0); // 2-7 - layer 1
-      unsigned int l2(0); // 8-13 - layer 2
-      unsigned int l3(0); // 14-15 - layer 3
-      for(std::size_t i = 0; i < ClusterCellETs.size(); ++i) {
-	if (i<2)
-	  ps += ClusterCellETs[i];
-	else if (i < 8 )
-	  l1 += ClusterCellETs[i];
-	else if (i < 14 )
-	  l2 += ClusterCellETs[i];
-	else
-	  l3 += ClusterCellETs[i];
-      }
-
-      ClusterEtSumPSDec (*emRoI) = ps;
-      ClusterEtSumL1Dec (*emRoI) = l1;
-      ClusterEtSumL2Dec (*emRoI) = l2;
-      ClusterEtSumL3Dec (*emRoI) = l3;
+      ClusterSCellEtSumsDec (*emRoI) = ClusterCellETs;
     }
 
     //Setup Tau Decorator Handlers
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.h
index 434a287e1fe7455ac7c093f6f1f2ee1f116aed91..2c2dc326bd765d558611bba740429d2f36dd517c 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXAlgos/src/eFexTOBDecorator.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
 */
 
 //***************************************************************************
@@ -50,11 +50,7 @@ namespace LVL1 {
     SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_WstotDenDec { this, "WstotDenDecDecorKey"  , m_ReadKeyEM_name+".WstotDenDec"  , "Recalculated EM WstotDen" };
     SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_WstotNumDec { this, "WstotNumDecDecorKey"  , m_ReadKeyEM_name+".WstotNumDec"  , "Recalculated EM WstotNum" };
 
-    SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_ClusterEtSumPSDec { this, "ClusterEtSumPSDecorKey"  , m_ReadKeyEM_name+".ClusterEtSumPS"  , "Cluster ET sum PS PS" };
-    SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_ClusterEtSumL1Dec { this, "ClusterEtSumL1DecorKey"  , m_ReadKeyEM_name+".ClusterEtSumL1"  , "Cluster ET sum PSL1" };
-    SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_ClusterEtSumL2Dec { this, "ClusterEtSumL2DecorKey"  , m_ReadKeyEM_name+".ClusterEtSumL2"  , "Cluster ET sum PSL2" };
-    SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_ClusterEtSumL3Dec { this, "ClusterEtSumL3DecorKey"  , m_ReadKeyEM_name+".ClusterEtSumL3"  , "Cluster ET sum PSL3" };
-
+    SG::WriteDecorHandleKey<xAOD::eFexEMRoIContainer> m_ClusterSCellEtSumsDec { this, "ClusterSCellEtSumsDecorKey"  , m_ReadKeyEM_name+".ClusterSCellEtSums", "name of the decoration key for SCell Ets of the cluster"};
 
     // WriteDecor handles for the Tau RoI decorations
     SG::WriteDecorHandleKey<xAOD::eFexTauRoIContainer> m_RCoreDec   { this, "RCoreDecorKey"   , m_ReadKeyTau_name+".RCoreDec"   , "Recalculated Tau RCore" };
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.cxx
index 441ef41bc62c2d803e72c1841d13d3d1385a17f1..3437fd837cae138c94149f18d31cde2fb480234e 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.cxx
@@ -217,7 +217,6 @@ void L1TriggerTowerToolRun3::simulateChannel(const xAOD::TriggerTower& tt, std::
 
   //If we have 80 MHz readout, we need to extract the 40 MHz samples. The central 80 MHz sample is always a 40 MHz sample. We use the cool database (runParameters folder) to understand if we are in 80MHz readout
   
-  
   SG::ReadCondHandle<L1CaloRunParametersContainer> runParameters( m_runParametersContainer);
   unsigned int readoutConfigID   = runParameters->runParameters(1)->readoutConfigID(); 
   ATH_MSG_DEBUG("RunParameters:: readoutConfigID " <<  readoutConfigID);
@@ -685,7 +684,6 @@ void L1TriggerTowerToolRun3::cpLut(const std::vector<int> &fir, const L1CaloCool
   int startBit = 0;
   int strategy = 0;
   int offset   = 0;
-  double offsetReal = 0;
   int slope    = 0;
   int cut      = 0;
   unsigned short scale_menu = 0;
@@ -713,17 +711,11 @@ void L1TriggerTowerToolRun3::cpLut(const std::vector<int> &fir, const L1CaloCool
       auto l1Menu = getL1Menu(ctx);
       scale_menu = l1Menu->thrExtraInfo().EM().emScale(); // Retrieve scale param from menu
     
-      
       for( auto &coeffs :  *hwCoeffs) { 
 	hwCoeffSum += coeffs;
       }
-      if (strategy == 0){
-        offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
-      }
-      else{
-	offsetReal = pedMean * static_cast<double>(hwCoeffSum) * static_cast<double>(slope) / pow(2.,static_cast<double>(startBit)) - static_cast<double>(slope)/2.;
-      }
-      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+      
+      offset = this->getLutOffset(pedMean, startBit, *hwCoeffs, slope, strategy);
 
       ATH_MSG_DEBUG( "::cpLut: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
 		       << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
@@ -760,7 +752,6 @@ void L1TriggerTowerToolRun3::jepLut(const std::vector<int> &fir, const L1CaloCoo
   int startBit = 0;
   int strategy   = 0;
   int offset     = 0;
-  double offsetReal = 0;
   int slope      = 0;
   int cut        = 0;
   unsigned short scale_db   = 0;
@@ -809,13 +800,8 @@ void L1TriggerTowerToolRun3::jepLut(const std::vector<int> &fir, const L1CaloCoo
       for( auto &coeffs :  *hwCoeffs) { 
 	 hwCoeffSum += coeffs;
       }
-      if (strategy == 0){
-        offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
-      }
-      else{
-        offsetReal = pedMean * static_cast<double>(hwCoeffSum) * static_cast<double>(slope) / pow(2.,static_cast<double>(startBit)) - static_cast<double>(slope)/2.;
-      }
-      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+
+      offset = this->getLutOffset(pedMean, startBit, *hwCoeffs, slope, strategy);
 
       ATH_MSG_VERBOSE( "::jepLut: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
 		       << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
@@ -1114,7 +1100,6 @@ void L1TriggerTowerToolRun3::cpLutParams(const L1CaloCoolChannelId& channelId, i
   startBit = 0;
   strategy = 0;
   offset   = 0;
-  double offsetReal = 0;
   slope    = 0;
   cut      = 0;
   pedValue = 0;
@@ -1122,6 +1107,7 @@ void L1TriggerTowerToolRun3::cpLutParams(const L1CaloCoolChannelId& channelId, i
   disabled = true;
   int hwCoeffSum = 0;
   const std::vector<short int>* hwCoeffs;
+
   
   if(!isRun2()) {
     // assert instead ?!
@@ -1145,13 +1131,8 @@ void L1TriggerTowerToolRun3::cpLutParams(const L1CaloCoolChannelId& channelId, i
       for( auto &coeffs :  *hwCoeffs) { 
 	hwCoeffSum += coeffs;
       }
-      if (strategy == 0){
-	offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
-      }
-      else{
-	offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
-      }
-      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+
+      offset  = this->getLutOffset(pedMean, startBit, *hwCoeffs, slope, strategy);
       
       ATH_MSG_VERBOSE( "::jepLutParams: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
 		     << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
@@ -1171,7 +1152,6 @@ void L1TriggerTowerToolRun3::jepLutParams(const L1CaloCoolChannelId& channelId,
   startBit = 0;
   strategy = 0;
   offset   = 0;
-  double offsetReal = 0;
   slope    = 0;
   cut      = 0;
   pedValue = 0;
@@ -1201,13 +1181,8 @@ void L1TriggerTowerToolRun3::jepLutParams(const L1CaloCoolChannelId& channelId,
       for( auto &coeffs :  *hwCoeffs) { 
 	hwCoeffSum += coeffs;
       }
-      if (strategy == 0){
-	offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
-      }
-      else{
-	offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
-      }
-      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+
+      offset = this->getLutOffset(pedMean, startBit, *hwCoeffs, slope, strategy);
       
       ATH_MSG_VERBOSE( "::jepLutParams: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
 		       << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
@@ -1506,7 +1481,31 @@ bool L1TriggerTowerToolRun3::isRun2() const
   return false;
 }
 
+unsigned int L1TriggerTowerToolRun3::getLutOffset(const double &pedMean, const unsigned int &firStartBit, const std::vector<short int> &firCoeff, const unsigned int &lutSlope, const unsigned int &lutStrategy) const
+{
+  unsigned int lutOffset = 0;
+  // essential to save in long long to avoid rounding errors
+  long long int lutOffsetLong = 0;
+  long long int lutSlopeLong = lutSlope;
+  long long int firStartBitLong = firStartBit;
+  long long int pedMeanLong = std::lround(pedMean * 10000.);
+  long long int firCoeffSum = 0;
+  
+  for (unsigned int i=0; i<firCoeff.size(); i++) {
+    firCoeffSum += firCoeff.at(i);
+  }
+  
+  if ( lutStrategy == 0 ) {
+    lutOffsetLong = ((pedMeanLong*firCoeffSum) >> firStartBitLong);
+  }
+  else {
+    lutOffsetLong = ((pedMeanLong*firCoeffSum*lutSlopeLong) >> firStartBitLong) - ((lutSlopeLong * 10000) >> 1);    
+  }
 
+  lutOffsetLong = (lutOffsetLong + (10000-1))/10000;
+  lutOffset = static_cast<unsigned int>( lutOffsetLong < 0 ? 0 : lutOffsetLong );
+  return lutOffset;
+}
 
 const TrigConf::L1Menu* L1TriggerTowerToolRun3::getL1Menu(const EventContext& ctx) const {
   const TrigConf::L1Menu* menu = nullptr;
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.h b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.h
index 86dc381f1c0aa44d04677e0b4896ad439ff6ced4..9bdd1c1412a27f7e1586f2271cd3ebb3fabbbd7b 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerToolRun3.h
@@ -126,6 +126,8 @@ namespace LVL1
       /** Get extra noise cut with disabled channel */
       bool disabledChannel(const L1CaloCoolChannelId& channelId, unsigned int& noiseCut) const;
 
+      // calculate the LUT offset from DB parameters
+      unsigned int getLutOffset(const double &pedMean, const unsigned int &firStartBit, const std::vector<short int> &firCoeff, const unsigned int &lutSlope, const unsigned int &lutStrategy) const;
 
       /// Id managers
       const CaloIdManager* m_caloMgr;
diff --git a/Trigger/TrigT1/TrigT1ZDC/src/TrigT1Run3ZDC.cxx b/Trigger/TrigT1/TrigT1ZDC/src/TrigT1Run3ZDC.cxx
index c93e32923a1f66decfb437fc439f357102b55ad4..3cc45fac167a58f0d928dd0fe7b48bdce7dc89d2 100644
--- a/Trigger/TrigT1/TrigT1ZDC/src/TrigT1Run3ZDC.cxx
+++ b/Trigger/TrigT1/TrigT1ZDC/src/TrigT1Run3ZDC.cxx
@@ -178,11 +178,12 @@ StatusCode TrigT1Run3ZDC::execute(const EventContext& ctx) const {
           FADCSamplesLG.at((side == 1)).at(module).at(counter) = sample;
           counter++;
         }
-      } else {
+      } else if(gain == 1) {
         unsigned int counter = 0;
         for (const auto& sample : zlc.waveform) {
           // fill high gain FADC samples
           FADCSamplesHG.at((side == 1)).at(module).at(counter) = sample;
+          counter++;
         }
       }
       // retrive Trig Avg amp for debugging
diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref
index 65dd0b0f4873c178b4f89097c86f829f98391382..9a1fdcdf21044ddc27661fbe5b4b90d0467c4aef 100644
--- a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref
+++ b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref
@@ -2481,10 +2481,14 @@ HLT_mb_sp_vpix60_hi_FgapAC5_L12eTAU1_VjTE200_UNPAIRED_NONISO:
   eventCount: 0
 HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eEM1_VjTE200:
   eventCount: 0
+HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eEM1_VjTE200_EMPTY:
+  eventCount: 0
 HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eEM1_VjTE200_GAP_AANDC:
   eventCount: 0
 HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eTAU1_VjTE200:
   eventCount: 0
+HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eTAU1_VjTE200_EMPTY:
+  eventCount: 0
 HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eTAU1_VjTE200_GAP_AANDC:
   eventCount: 0
 HLT_mb_sp_vpix60_hi_FgapAC5_L1TAU1_TE4_VTE200:
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
index 6b9b785809abf1027693dd11f7a88526d87d99c4..0876ee74ef228f2b06434b0b7485ef464498b2d2 100644
--- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
@@ -666,13 +666,13 @@ TriggerHLTListRun3 = [
 
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauIso_FTFAux.',          'BS ESD AODFULL', 'Tau'),
 
-    ('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig',                 'BS ESD AODFULL', 'Tau', [InViews('precIsoTrackViews')]),
+    ('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig',                 'BS ESD AODFULL', 'Tau', [InViews('precIsoTrackViews'), InViews('tauPrecTrackIsoViews')]),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_IDTrigAux.eProbabilityNN',          'BS ESD AODFULL', 'Tau'),
 
-    ('xAOD::TrackParticleContainer#HLT_IDTrack_TauLRT_IDTrig',                 'BS ESD AODFULL', 'Tau', [InViews('precLRTTauViews'), InViews('precLRTTrackViews')]),
+    ('xAOD::TrackParticleContainer#HLT_IDTrack_TauLRT_IDTrig',                 'BS ESD AODFULL', 'Tau', [InViews('precLRTTauViews'), InViews('precLRTTrackViews'), InViews('tauPrecTrackLRTViews')]),
     ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauLRT_IDTrigAux.eProbabilityNN',          'BS ESD AODFULL', 'Tau'),
 
-    ('xAOD::VertexContainer#HLT_IDVertex_Tau',                  'BS ESD AODFULL', 'Tau', [InViews('precIsoTrackViews'),InViews('precLRTTrackViews')]),
+    ('xAOD::VertexContainer#HLT_IDVertex_Tau',                  'BS ESD AODFULL', 'Tau', [InViews('precIsoTrackViews'), InViews('tauPrecTrackIsoViews'), InViews('precLRTTrackViews'), InViews('tauPrecTrackLRTViews')]),
     ('xAOD::VertexAuxContainer#HLT_IDVertex_TauAux.',           'BS ESD AODFULL', 'Tau'),
 
     ('TrigRoiDescriptorCollection#HLT_Roi_Tau',              'BS ESD AODFULL',  'Tau'),
@@ -960,21 +960,21 @@ TriggerHLTListRun3 = [
     ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloMVAOnly',                         'BS ESD AODFULL', 'Tau', [InViews('tauCaloMVAViews')]),
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloMVAOnlyAux.',                  'BS ESD AODFULL', 'Tau'),
 
-    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precMVATauViews')]),
+    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precMVATauViews'), InViews('tauPrecisionReco_MVAViews')]),
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.',              'BS ESD AODFULL AODSLIM', 'Tau'),
 
-    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_LLP',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLLPTauViews')]),
+    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_LLP',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLLPTauViews'), InViews('tauPrecisionReco_LLPViews')]),
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_LLPAux.',              'BS ESD AODFULL AODSLIM', 'Tau'),
 
-    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_LRT',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLRTTauViews')]),
+    ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_LRT',                     'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLRTTauViews'), InViews('tauPrecisionReco_LRTViews')]),
     ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_LRTAux.',              'BS ESD AODFULL AODSLIM', 'Tau'),
 
     # tau tracks
-    ('xAOD::TauTrackContainer#HLT_tautrack_MVA',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precMVATauViews')]),
+    ('xAOD::TauTrackContainer#HLT_tautrack_MVA',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precMVATauViews'), InViews('tauPrecisionReco_MVAViews')]),
     ('xAOD::TauTrackAuxContainer#HLT_tautrack_MVAAux.'+TauTrackVars,       'BS ESD AODFULL AODSLIM', 'Tau'),
-    ('xAOD::TauTrackContainer#HLT_tautrack_LLP',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLLPTauViews')]),
+    ('xAOD::TauTrackContainer#HLT_tautrack_LLP',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLLPTauViews'), InViews('tauPrecisionReco_LLPViews')]),
     ('xAOD::TauTrackAuxContainer#HLT_tautrack_LLPAux.'+TauTrackVars,       'BS ESD AODFULL AODSLIM', 'Tau'),
-    ('xAOD::TauTrackContainer#HLT_tautrack_LRT',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLRTTauViews')]),
+    ('xAOD::TauTrackContainer#HLT_tautrack_LRT',                           'BS ESD AODFULL AODSLIM', 'Tau', [InViews('precLRTTauViews'), InViews('tauPrecisionReco_LRTViews')]),
     ('xAOD::TauTrackAuxContainer#HLT_tautrack_LRTAux.'+TauTrackVars,       'BS ESD AODFULL AODSLIM', 'Tau'),
 
     # bjet RoI Descriptor used for EventView creation
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/EmuStepProcessingConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/EmuStepProcessingConfig.py
index 26e6f9b4fa1b9ed431fd9dd46d473616d5f293ef..8c87379cc3624a17762dce0ec54e1f9cabf3df8c 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/EmuStepProcessingConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/EmuStepProcessingConfig.py
@@ -57,20 +57,23 @@ def generateEmuEvents():
                              HLT_2TestChain6_mv1_L12MU5VF \
                              HLT_TestChain10_mv2_L1MU8F \
                              HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF \
+                             HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF \
                              HLT_2TestChain4_mv1_dr_L12MU5VF'
     data['l1emroi'][1]   =  '1,1,0,EM3,EM7,EM20,EM30,EM100; 2.,-1.2,0,EM3,EM7; 3.,0.2,0,EM3;'
-    data['emclusters'][1]=  'eta:1,phi:1,et:180000; eta:1,phi:-1.2,et:6000; eta:0.5,phi:-1.2,et:3000;'
+    data['emclusters'][1]=  'eta:1,phi:1,et:180000; eta:2,phi:-1.2,et:6000; eta:3.,phi:0.2,et:3000;'
     data['l1muroi'][1]   =  '2,0.5,0,MU5VF; 3,0.5,0,MU5VF;'
-    data['msmu'][1]      = 'eta:-1.2,phi:0.7,pt:1500,pt2:1500; eta:-1.1,phi:0.6,pt:1500,pt2:1500;'
+    data['msmu'][1]      = 'eta:2,phi:0.5,pt:1500,pt2:1500; eta:3,phi:0.5,pt:1500,pt2:1500;'
 
     # event 2: 2e+ 3mu : HLT_TestChain5_ev1_TestChain8_ev1_2TestChain6_mv1_L1_2EM8VH_MU8F, HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F
     data['ctp'] [2]      =  'HLT_TestChain6_mv1_L1MU5VF \
                              HLT_TestChain8_mv1_L1MU8F \
                              HLT_TestChain10_mv2_L1MU8F \
-                             HLT_TestChain8_mv1step_L1MU5VF \
+                             HLT_TestChain8_mv1step_L1MU8F \
                              HLT_TestChain5_ev1_L1EM3 \
                              HLT_TestChain8_ev1_L1EM3 \
-                             HLT_TestChain6_mEmpty2_L1MU5VF \
+                             HLT_TestChain8_mEmpty2_L1MU8F \
+                             HLT_TestChain8_mEmpty3_L1MU8F \
+                             HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF \
                              HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F \
                              HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F \
                              HLT_2TestChain6_mv1_L12MU5VF \
@@ -83,22 +86,25 @@ def generateEmuEvents():
                              HLT_TestChain5_ev1_TestChain8_ev1_merge_L12EM3 \
                              HLT_TestChain5_ev1_TestChain8_ev1_L12EM3  \
                              HLT_TestChain6_mv1_TestChain5_ev1_dr_L12MU5VF'
-    data['l1emroi'][2]   =  '2,0.2,0,EM3,EM7,EM15,EM20,EM30,EM100; 1,-1.1,0,EM3,EM7,EM15,EM20,EM30;'
-    data['emclusters'][2]=  'eta:0.5,phi:0,et:120000; eta:1,phi:-1.2,et:65000;'
-    data['l1muroi'][2]   =  '2,0.5,0,MU5VF,MU8VF; 3,0.5,0,MU5VF,MU8F,MU8VF;2.2,0.6,0,MU5VF;'
-    data['msmu'][2]      =  'eta:-1.2,phi:0.7,pt:6500,pt2:8500; eta:-1.1,phi:0.6,pt:10500,pt2:8500;eta:-1.1,phi:0.6,pt:8500,pt2:8500;'
+    data['l1emroi'][2]   =  '0.5,0.1,0,EM3,EM7,EM15,EM20,EM30,EM100; 1,-1.2,0,EM3,EM7,EM15,EM20,EM30;'
+    data['emclusters'][2]=  'eta:0.5,phi:0.1,et:120000; eta:1,phi:-1.2,et:65000;'
+    data['l1muroi'][2]   =  '-1.2,0.7,0,MU5VF,MU8VF; -1.1,0.6,0,MU5VF,MU8F,MU8VF;1.1,0.6,0,MU5VF;'
+    data['msmu'][2]      =  'eta:-1.2,phi:0.7,pt:6500,pt2:8500; eta:-1.1,phi:0.6,pt:10500,pt2:8500;eta:1.1,phi:0.6,pt:8500,pt2:8500;'
 
     #event 3: 1e + 1mu; HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F does not pass because of e10
     data['ctp'] [3]      =  'HLT_TestChain20_mv1_L1MU8F \
                              HLT_TestChain10_mv1_L1MU8F \
                              HLT_TestChain8_mv1_L1MU8F \
-                             HLT_TestChain8_mv1step_L1MU5VF \
+                             HLT_TestChain8_mEmpty3_L1MU8F \
+                             HLT_TestChain8_mEmpty2_L1MU8F \
+                             HLT_TestChain6_mEmpty3_TestChain8_mv1_L12MU5VF \
+                             HLT_TestChain8_mv1step_L1MU8F \
                              HLT_TestChain8_ev1_L1EM3 \
                              HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F\
                              HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F'
-    data['l1emroi'][3]   =  '1,1.5,0,EM3,EM7;'
+    data['l1emroi'][3]   =  '-0.6,1.7,0,EM3,EM7;'
     data['emclusters'][3]=  'eta:-0.6,phi:1.7,et:9000;'
-    data['l1muroi'][3]   =  '2,-0.1,0,MU5VF,MU8F,MU8VF;'
+    data['l1muroi'][3]   =  '-1.7,-0.2,0,MU5VF,MU8F,MU8VF;'
     data['msmu'][3]      =  'eta:-1.7,phi:-0.2,pt:29500,pt2:8500;'
 
     # otehr vectors
@@ -167,11 +173,11 @@ def generateChainsManually(flags, maskbit=0x7):
         step_empy= makeChainStep("Step2_mu1empty", isEmpty=True)
 
         MuChains  = [
-            makeChain(flags, name='HLT_TestChain8_mv1step_L1MU5VF', L1Thresholds=["MU5VF"],    ChainSteps=[step_mu11]),
+            makeChain(flags, name='HLT_TestChain8_mv1step_L1MU8F', L1Thresholds=["MU5VF"],    ChainSteps=[step_mu11]),
             makeChain(flags, name='HLT_TestChain8_mv1_L1MU8F',    L1Thresholds=["MU8F"],   ChainSteps=[step_mu11 , step_mu21 , step_mu31, step_mu41] ),
             makeChain(flags, name='HLT_TestChain20_mv1_L1MU8F',   L1Thresholds=["MU8F"],   ChainSteps=[step_mu11 , step_mu21 , step_mu31, step_mu41] ),
             makeChain(flags, name='HLT_TestChain10_mv2_L1MU8F',   L1Thresholds=["MU8F"],   ChainSteps=[step_mu11 , step_mu22 , step_mu31] ),
-            makeChain(flags, name='HLT_TestChain6_mEmpty2_L1MU5VF', L1Thresholds=["MU5VF"],    ChainSteps=[step_mu11 , step_empy , step_mu32, step_mu41] )
+            makeChain(flags, name='HLT_TestChain8_mEmpty2_L1MU8F', L1Thresholds=["MU5VF"],    ChainSteps=[step_mu11 , step_empy , step_mu32, step_mu41] )
             ]
                 
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_emu_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_emu_v1.py
index d7cc187307791ac0fdce0975b886748bef4e9970..a0dcee8f4caa1dbc5598c2e4806d8ba5cb6284b2 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_emu_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_emu_v1.py
@@ -14,11 +14,14 @@ def setupMenu():
 
     chains['Test'] = [
         # muons
-        ChainProp(name='HLT_TestChain8_mv1step_L1MU5VF', stream=['Main'], groups=['RATE:Test','BW:Other'] ),
+        ChainProp(name='HLT_TestChain8_mv1step_L1MU8F', stream=['Main'], groups=['RATE:Test','BW:Other'] ),
         ChainProp(name='HLT_TestChain8_mv1_L1MU8F', stream=['Main'], groups=['RATE:Test','BW:Other'] ),
         ChainProp(name='HLT_TestChain20_mv1_L1MU8F',stream=['Main'], groups=['RATE:Test','BW:Other'] ),
         ChainProp(name='HLT_TestChain10_mv2_L1MU8F',stream=['Main'], groups=['RATE:Test','BW:Other'] ),
-        ChainProp(name='HLT_TestChain6_mEmpty2_L1MU5VF',  stream=['Main'], groups=['RATE:Test','BW:Other'] ),
+        ChainProp(name='HLT_TestChain8_mEmpty2_L1MU8F',  stream=['Main'], groups=['RATE:Test','BW:Other'] ),
+        ChainProp(name='HLT_TestChain8_mEmpty3_L1MU8F',  stream=['Main'], groups=['RATE:Test','BW:Other'] ),
+        
+        
 
         # egamma
         ChainProp(name='HLT_TestChain5_ev1_L1EM3', stream=['Main'], groups=['RATE:Test','BW:Other'] ),
@@ -35,6 +38,8 @@ def setupMenu():
         ChainProp(name='HLT_TestChain6_mv1_TestChain5_ev1dr_L12eEM10L_MU8F', l1SeedThresholds=['MU8F','EM7'], stream=['Main'], groups=['RATE:Test','BW:Other'], mergingStrategy = 'parallel'), 
         ChainProp(name='HLT_2TestChain4_mv1dr_L12MU5VF', stream=['Main'], groups=['RATE:Test','BW:Other'] ),
 
+        ChainProp(name='HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF',  stream=['Main'], groups=['RATE:Test','BW:Other'] , mergingStrategy = 'parallel' ),
+        
         # FSNOSEED not implemented in emulation
         ChainProp(name='HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF',  l1SeedThresholds=['MU5VF','MU5VF'],  stream=['Main'], groups=['RATE:Test','BW:Other'], mergingStrategy = 'parallel'),
     ]
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/P1_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/P1_run3_v1.py
index 48b1b953427f12e7dbfa8d86561ba679ef0f2752..dd76a6b1d5d10ad2045ae4b61f8d7e8aa49273c3 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/P1_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/P1_run3_v1.py
@@ -603,6 +603,8 @@ def addHeavyIonP1Signatures(chains):
         ChainProp(name='HLT_noalg_L1eEM1_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['CosmicCalo'],groups=['RATE:Cosmic_Calo','BW:MinBias','RATE:Calibration']+SupportPhIGroup),
         ChainProp(name='HLT_noalg_L1eEM2_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['CosmicCalo'],groups=['RATE:Cosmic_Calo','BW:MinBias','RATE:Calibration']+SupportPhIGroup),
         ChainProp(name='HLT_noalg_L1eEM5_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['CosmicCalo'],groups=['RATE:Cosmic_Calo','BW:MinBias','RATE:Calibration']+SupportPhIGroup),
+        ChainProp(name='HLT_noalg_L1DPHI-2eTAU1_VjTE200_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['CosmicCalo'],groups=['RATE:Cosmic_Calo','BW:MinBias','RATE:Calibration']+SupportPhIGroup),
+        ChainProp(name='HLT_noalg_L1DPHI-2eEM1_VjTE200_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['CosmicCalo'],groups=['RATE:Cosmic_Calo','BW:MinBias','RATE:Calibration']+SupportPhIGroup),
     ]
 
     addP1Signatures(chains,chainsP1)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/PhysicsP1_HI_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/PhysicsP1_HI_run3_v1.py
index 09add8f9b516bd713f74b02b336c06d0ef3704a0..87a02d05a156e4f7d4e16e63413415352f0a1272 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/PhysicsP1_HI_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/PhysicsP1_HI_run3_v1.py
@@ -413,6 +413,8 @@ def getPhysicsHISignatures():
         ChainProp(name='HLT_mb_sptrk_hi_FgapAC5_L12eTAU1_VjTE200', l1SeedThresholds=['FSNOSEED']*2,stream=[UPCStream],groups=MinBiasGroup+SupportPhIGroup),
         ChainProp(name='HLT_mb_sptrk_hi_FgapAC5_L1eTAU1_TRT_VjTE200', l1SeedThresholds=['FSNOSEED']*2,stream=[UPCStream],groups=MinBiasGroup+SupportPhIGroup),
         ChainProp(name='HLT_mb_sp_vpix60_hi_FgapAC5_L1eEM9_VjTE200_EMPTY', l1SeedThresholds=['FSNOSEED']*2,stream=[UPCStream],groups=MinBiasGroup+SupportPhIGroup),
+        ChainProp(name='HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eEM1_VjTE200_EMPTY', l1SeedThresholds=['FSNOSEED']*2,stream=[UPCStream],groups=MinBiasGroup+SupportPhIGroup+['PS:NoHLTRepro']),
+        ChainProp(name='HLT_mb_sp_vpix60_hi_FgapAC5_L1DPHI-2eTAU1_VjTE200_EMPTY', l1SeedThresholds=['FSNOSEED']*2,stream=[UPCStream],groups=MinBiasGroup+SupportPhIGroup+['PS:NoHLTRepro']),
 
         #----------- UPC ditaus - Phase-1
         #primary
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py
index 1fb41641900f1e29cbc78eec17f8150fca0a8e92..fe33d1c6ed80cf19e89e490c2bf97a91950628a5 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py
@@ -78,7 +78,7 @@ TestChainParts = {
     'alignmentGroup' : ['Test'],
     'chainPartName'  : '',
     'multiplicity'   : '',
-    'extra'          : ['mv1', 'mv1step', 'mv2', 'ev1', 'ev2', 'ev3', 'gv1', 'mEmpty1', 'mEmpty2', 'ev1dr', 'mv1dr','merge'],
+    'extra'          : ['mv1', 'mv1step', 'mv2', 'ev1', 'ev2', 'ev3', 'gv1', 'mEmpty1', 'mEmpty2', 'mEmpty3', 'ev1dr', 'mv1dr','merge'],
     'trigType'       : ['TestChain'],
     'threshold'      : '',
     'addInfo'        : [''],
@@ -608,20 +608,39 @@ AllowedTopos_tau = []
 TauChainParts = {
     'signature'     : ['Tau'],
     'alignmentGroup': ['Tau'],
+    'extra'         : [],
     'L1threshold'   : '',
     'chainPartName' : '',
     'threshold'     : '',
-    'preselection'  : ['tracktwoMVA', 'tracktwoLLP', 'ptonly', 'trackLRT' ],
-    'selection'     : ['looseRNN', 'mediumRNN', 'tightRNN', 'perf', 'idperf',
-                       'kaonpi1', 'kaonpi2', 'dipion1', 'dipion2', 'dipion3', 'dipion4', 'dikaonmass', 'singlepion'],
+    'reconstruction': [
+                        # BRT calibration (no-tracking)
+                        'ptonly',
+
+                        # Standard reconstruction triggers
+                        # 2-step FTF (Core + Iso) + PT
+                        # Split in different sequences to avoid running unnecesary TauIDs
+                        'tracktwoMVA', # DeepSet and MesonCuts triggers
+                        'tracktwoLLP', # RNNLLP triggers
+
+                        # LRT reconstruction triggers
+                        # 1-step FTF (LRT) + PT
+                        'trackLRT', # RNNLLP triggers
+                      ],
+    'jet'           : ['lc', 'pf'], # Only use LCTopo jets for now
+    'preselection'  : [],
+    'selection'     : [
+                        'idperf', # No selection
+                        'perf', # NTrk selection
+
+                        # RNN/DeepSet ID WPs (for tracktwoMVA/LLP/LRT reco with DeepSet/RNNLLP TauIDs):
+                        'looseRNN', 'mediumRNN', 'tightRNN',
+
+                        # Meson b-phys triggers (used with tracktwoMVA reco without cutting on the RNN/DeepSet score):
+                        'kaonpi1', 'kaonpi2', 'dipion1', 'dipion2', 'dipion3', 'dipion4', 'dikaonmass', 'singlepion',
+                      ],
     'multiplicity'  : '',
     'trigType'      : ['tau'],
-    'trkInfo'       : '',
     'tnpInfo'       : ['probe'],
-    'extra'         : '',
-    'recoAlg'       : '',
-    'calib'         : '',
-    'addInfo'       : ['IdTest'],
     'topo'          : AllowedTopos_tau,
     'sigFolder'     : ['Tau'],
     'subSigs'       : ['Tau'],
@@ -630,25 +649,24 @@ TauChainParts = {
 TauChainParts_Default = {
     'signature'     : ['Tau'],
     'alignmentGroup': ['Tau'],
+    'extra'         : '',
     'L1threshold'   : '',
     'chainPartName' : '',
-    'threshold'     : '20',
+    'threshold'     : '',
+    'reconstruction': '',
+    'jet'           : 'lc',
     'preselection'  : '',
     'selection'     : '',
     'multiplicity'  : '',
     'trigType'      : '',
-    'trkInfo'       : [],
     'tnpInfo'       : '',
-    'extra'         : '',
-    'recoAlg'       : '',
-    'calib'         : '',
-    'addInfo'       : '',
     'topo'          : [],
     'sigFolder'     : ['Tau'],
     'subSigs'       : ['Tau'],
     'chainPartIndex': 0
 }
 
+
 #==========================================================
 # MET
 #==========================================================
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/README.md b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/README.md
index 491becac6196a30b9facd8fce2abf8ba926088e5..e654aa42aa42cba55c8ffded0be0a4c33e49dbf1 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/README.md
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/README.md
@@ -7,4 +7,5 @@ Modules in this directory
   * Defines the ChainConfiguration object that interprets the chain dict and builds the chain
 * [TauMenuSequences](TauMenuSequences.py)
   * Defines the top-level sequences containing the input maker and hypothesis alg
-
+* [TauConfigurationTools](TauConfigurationTools.py)
+  * Defines the tools used by multiple modules to parse the Tau Trigger configuration
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py
index c0fabd96ecced616bbb02878da466daa822c0757..3fe7a0ad631af7334e5fc98eabff5eadac7f0fa3 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py
@@ -2,133 +2,144 @@
 
 ########################################################################
 #
-# SliceDef file for muon chains/signatures
+# SliceDef file for tau chains
 #
 #########################################################################
+
+from typing import List
+
 from AthenaCommon.Logging import logging
-logging.getLogger().info("Importing %s",__name__)
+logging.getLogger().info(f'Importing {__name__}')
 log = logging.getLogger(__name__)
 
 from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase
 
 from .TauMenuSequences import (
-    tauCaloMVAMenuSequenceGenCfg, tauFTFTauCoreSequenceGenCfg, 
-    tauFTFTauIsoSequenceGenCfg, tauFTFTauLRTSequenceGenCfg, 
+    tauCaloMVAMenuSequenceGenCfg,
+    tauFTFTauCoreSequenceGenCfg, tauFTFTauLRTSequenceGenCfg,
+    tauFTFTauIsoSequenceGenCfg,
     tauPrecTrackIsoSequenceGenCfg, tauPrecTrackLRTSequenceGenCfg, 
-    tauTrackTwoMVASequenceGenCfg, tauTrackTwoLLPSequenceGenCfg, 
-    tauTrackLRTSequenceGenCfg )
+    tauPrecisionSequenceGenCfg, tauPrecisionLRTSequenceGenCfg)
+
+from .TauConfigurationTools import getChainSequenceConfigName, getChainPrecisionSeqName
 
 
 ############################################# 
-###  Class/function to configure muon chains 
+###  Class to configure tau chains 
 #############################################
 
 class TauChainConfiguration(ChainConfigurationBase):
-
     def __init__(self, chainDict):
-        ChainConfigurationBase.__init__(self,chainDict)
+        ChainConfigurationBase.__init__(self, chainDict)
         
-    # ----------------------
-    # Assemble the chain depending on information from chainName
-    # ----------------------
     def assembleChainImpl(self, flags):                            
-        chainSteps = []
-        log.debug("Assembling chain for %s", self.chainName)
-
-        # --------------------
-        # define here the names of the steps and obtain the chainStep configuration 
-        # --------------------
-        stepDictionary = {
-            "ptonly"        :['getCaloMVASeq', 'getFTFEmpty', 'getTrkEmpty' , 'getPTEmpty'      , 'getIDEmpty'     ],
-            "tracktwoMVA"   :['getCaloMVASeq', 'getFTFCore' , 'getFTFIso'   , 'getPrecTrackIso' , 'getTrackTwoMVA' ],
-            "tracktwoLLP"   :['getCaloMVASeq', 'getFTFCore' , 'getFTFIso'   , 'getPrecTrackIso' , 'getTrackTwoLLP' ],
-            "trackLRT"      :['getCaloMVASeq', 'getFTFLRT'  , 'getTrkEmpty' , 'getPrecTrackLRT' , 'getTrackLRT'    ],
+        log.debug(f'Assembling chain for {self.chainName}')
+
+        chain_steps = []
+
+        # Overall Tau Trigger sequences steps: 
+        step_dictionary = {
+            # BRT calibration chains
+            'ptonly'        : ['getCaloMVA', 'getFTFCoreEmpty', 'getFTFIsoEmpty', 'getPrecTrackEmpty', 'getPrecisionEmpty'],
+
+            # 2-step tracking + ID chains 
+            'tracktwoMVA'   : ['getCaloMVA', 'getFTFCore'     , 'getFTFIso'     , 'getPrecTrackIso'  , 'getPrecision'     ],
+            'tracktwoLLP'   : ['getCaloMVA', 'getFTFCore'     , 'getFTFIso'     , 'getPrecTrackIso'  , 'getPrecision'     ],
+
+            # LRT chains
+            'trackLRT'      : ['getCaloMVA', 'getFTFLRT'      , 'getFTFIsoEmpty', 'getPrecTrackLRT'  , 'getPrecisionLRT'  ],
         }
 
-        # this should be extended by the signature expert to make full use of the dictionary!
-        key = self.chainPart['preselection']
-        steps=stepDictionary[key]
+        steps = step_dictionary[getChainSequenceConfigName(self.chainPart)]
         for step in steps:
-            is_probe_leg = self.chainPart['tnpInfo']=='probe'
             if 'Empty' in step:
-                chainstep = getattr(self, step)(flags)
+                chain_step = getattr(self, step)(flags)
             else:
-                chainstep = getattr(self, step)(flags, is_probe_leg=is_probe_leg)
-            chainSteps+=[chainstep]
-    
-        myChain = self.buildChain(chainSteps)
-        return myChain
+                is_probe_leg = self.chainPart['tnpInfo']=='probe'
+                chain_step = getattr(self, step)(flags, is_probe_leg=is_probe_leg)
 
+            chain_steps.append(chain_step)
+    
+        return self.buildChain(chain_steps)
+    
 
-    # --------------------
-    def getCaloMVASeq(self, flags, is_probe_leg=False):
-        stepName = 'MVA_tau'
+    #--------------------------------------------------
+    # Step 1: CaloMVA reconstruction
+    #--------------------------------------------------
+    def getCaloMVA(self, flags, is_probe_leg=False):
+        stepName = 'CaloMVA_tau'
         return self.getStep(flags, stepName, [tauCaloMVAMenuSequenceGenCfg], is_probe_leg=is_probe_leg)
+
         
-    # --------------------
+    #--------------------------------------------------
+    # Step 2: 1st FTF stage (FTFCore/LRT)
+    #--------------------------------------------------
     def getFTFCore(self, flags, is_probe_leg=False):
         stepName = 'FTFCore_tau'
         return self.getStep(flags, stepName, [tauFTFTauCoreSequenceGenCfg], is_probe_leg=is_probe_leg)
 
-    # --------------------
     def getFTFLRT(self, flags, is_probe_leg=False):
         stepName = 'FTFLRT_tau'
         return self.getStep(flags, stepName, [tauFTFTauLRTSequenceGenCfg], is_probe_leg=is_probe_leg)
 
-    # --------------------
+    def getFTFCoreEmpty(self, flags):
+        stepName = 'FTFCoreEmpty_tau'
+        return self.getEmptyStep(2, stepName)
 
-    def getFTFEmpty(self, flags):
-        stepName = 'FTFEmpty_tau'
-        return self.getEmptyStep(2,stepName)
-
-    # --------------------
 
+    #--------------------------------------------------
+    # Step 3: 2nd FTF stage (FTFIso)
+    #--------------------------------------------------
     def getFTFIso(self, flags, is_probe_leg=False):
         stepName = 'FTFIso_tau'
         return self.getStep(flags, stepName, [tauFTFTauIsoSequenceGenCfg], is_probe_leg=is_probe_leg)
 
-    # --------------------
-
-    def getTrkEmpty(self, flags):
-        stepName = 'TrkEmpty_tau'
-        return self.getEmptyStep(3,stepName)
+    def getFTFIsoEmpty(self, flags):
+        stepName = 'FTFIsoEmpty_tau'
+        return self.getEmptyStep(3, stepName)
 
-    # --------------------
 
+    #--------------------------------------------------
+    # Step 4: Precision tracking
+    #--------------------------------------------------
     def getPrecTrackIso(self, flags, is_probe_leg=False):
         stepName = 'PrecTrkIso_tau'
-        return self.getStep(flags, stepName,[tauPrecTrackIsoSequenceGenCfg],is_probe_leg=is_probe_leg)
+        return self.getStep(flags, stepName, [tauPrecTrackIsoSequenceGenCfg], is_probe_leg=is_probe_leg)
 
-    # --------------------
     def getPrecTrackLRT(self, flags, is_probe_leg=False):
         stepName = 'PrecTrkLRT_tau'
-        return self.getStep(flags, stepName,[tauPrecTrackLRTSequenceGenCfg],is_probe_leg=is_probe_leg)
-
-    # --------------------
-
-    def getPTEmpty(self, flags):
-        stepName = 'PTEmpty_tau'
-        return self.getEmptyStep(4,stepName)
-
-    # --------------------
-
-    def getTrackTwoMVA(self, flags, is_probe_leg=False):
-        stepName = "TrkTwoMVA_tau"
-        return self.getStep(flags, stepName,[tauTrackTwoMVASequenceGenCfg],is_probe_leg=is_probe_leg)
-
-    # --------------------
-
-    def getTrackTwoLLP(self, flags, is_probe_leg=False):
-        stepName = "TrkTwoLLP_tau"
-        return self.getStep(flags, stepName,[tauTrackTwoLLPSequenceGenCfg],is_probe_leg=is_probe_leg)
-
-    # --------------------
-    def getTrackLRT(self, flags, is_probe_leg=False):
-        stepName = "TrkLRT_tau"
-        return self.getStep(flags, stepName,[tauTrackLRTSequenceGenCfg],is_probe_leg=is_probe_leg)
-
-    # --------------------
-
-    def getIDEmpty(self, flags):
-        stepName = 'IDEmpty_tau'
-        return self.getEmptyStep(5,stepName)
+        return self.getStep(flags, stepName, [tauPrecTrackLRTSequenceGenCfg], is_probe_leg=is_probe_leg)
+
+    def getPrecTrackEmpty(self, flags):
+        stepName = 'PrecTrkEmpty_tau'
+        return self.getEmptyStep(4, stepName)
+
+
+    #--------------------------------------------------
+    # Step 5: Precision reconstruction + ID
+    #--------------------------------------------------
+    def getPrecision(self, flags, is_probe_leg=False):
+        sequenceName = getChainPrecisionSeqName(self.chainPart)
+        stepName = f'Precision_{sequenceName}_tau'
+        return self.getStep(
+            flags, 
+            stepName, 
+            [tauPrecisionSequenceGenCfg],
+            seq_name=sequenceName,
+            is_probe_leg=is_probe_leg,
+        )
+
+    def getPrecisionLRT(self, flags, is_probe_leg=False):
+        sequenceName = getChainPrecisionSeqName(self.chainPart)
+        stepName = f'Precision_{sequenceName}_tau'
+        return self.getStep(
+            flags, 
+            stepName, 
+            [tauPrecisionLRTSequenceGenCfg],
+            seq_name=sequenceName,
+            is_probe_leg=is_probe_leg,
+        )
+
+    def getPrecisionEmpty(self, flags):
+        stepName = 'PrecisionEmpty_tau'
+        return self.getEmptyStep(5, stepName)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauConfigurationTools.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauConfigurationTools.py
new file mode 100644
index 0000000000000000000000000000000000000000..f33ea29e090c8730c1018c7162f3a99168bb937b
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauConfigurationTools.py
@@ -0,0 +1,85 @@
+# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+
+from AthenaCommon.Logging import logging
+log = logging.getLogger(__name__)
+
+#####################################################################
+# Sequence TauIDs
+#####################################################################
+
+# List of Tau ID inference algorithms to be executed in each reco sequence
+# Since the TrigTauRecMerged reco (TES, track association, variable calculation, etc.) is very fast,
+# we split the reconstruction according to the primary ID algorithm to be used, to avoid running unnecesary long inferences
+# The configuration for each TauID algorithm is contained in the flags.Trigger.Offline.Tau.<TauID> subdirectory
+
+def getPrecisionSequenceTauIDs(precision_sequence: str) -> list[str]:
+    '''Get the list of TauIDs for each HLT tau trigger sequence'''
+    tau_ids = {
+        'MVA': ['DeepSet', 'MesonCuts'],
+        'LLP': ['RNNLLP'],
+        'LRT': ['RNNLLP'],
+    }
+
+    return tau_ids[precision_sequence]
+
+#####################################################################
+# This file contains helper functions for the Tau Trigger signature
+#####################################################################
+
+# The following functions are only required while  we still have triggers
+# with the RNN/DeepSet naming scheme in the Menu (e.g. mediumRNN_tracktwoMVA/LLP)
+rnn_wps = ['verylooseRNN', 'looseRNN', 'mediumRNN', 'tightRNN']
+noid_selections = ['perf', 'idperf']
+meson_selections = ['kaonpi1', 'kaonpi2', 'dipion1', 'dipion2', 'dipion3', 'dipion4', 'dikaonmass', 'singlepion']
+
+def getChainIDConfigName(chainPart) -> str:
+    '''Clean the ID configuration for a chainPart dict'''
+    sel = chainPart['selection']
+
+    # Support for the Legacy trigger names:
+    if chainPart['reconstruction'] == 'tracktwoMVA':
+        if sel in rnn_wps:
+            return 'DeepSet'
+        elif sel in meson_selections:
+            return 'MesonCuts'
+    elif chainPart['reconstruction'] in ['tracktwoLLP', 'trackLRT'] and sel in rnn_wps:
+        return 'RNNLLP'
+
+
+    # Retrieve the TauID name from the selection string
+    if sel.startswith('veryloose'): sel = sel.removeprefix('veryloose')
+    if sel.startswith('loose'): sel = sel.removeprefix('loose')
+    if sel.startswith('medium'): sel = sel.removeprefix('medium')
+    if sel.startswith('tight'): sel = sel.removeprefix('tight')
+    
+    # Remap names (e.g. DS -> DeepSet)
+    name_mapping: dict[str, str] = {'DS': 'DeepSet', 'GNT': 'GNTau'}
+    if sel in name_mapping: sel = name_mapping[sel]
+
+    return sel
+
+
+def getChainSequenceConfigName(chainPart) -> str:
+    '''Get the HLT Tau signature sequence name (e.g. ptonly, tracktwo, trackLRT, etc...)'''
+    return chainPart['reconstruction']
+
+
+def getChainPrecisionSeqName(chainPart) -> str:
+    '''
+    Get the HLT Tau Precision sequence name suffix.
+    This is also used for the HLT_TrigTauRecMerged_... and HLT_tautrack_... EDM collection names.
+    '''
+    ret = chainPart['reconstruction']
+
+    # Support for the Legacy trigger names:
+    if ret == 'tracktwoMVA': return 'MVA'
+    elif ret == 'tracktwoLLP': return 'LLP'
+    elif ret == 'trackLRT': return 'LRT'
+    
+    return ret
+
+
+def useBuiltInTauJetRNNScore(chainPart) -> bool:
+    '''Check if the TauJet's built-in RNN score and WP variables have to be used, instead of the decorator-based variables'''
+    if getChainPrecisionSeqName(chainPart) in ['MVA', 'LLP', 'LRT'] and chainPart['selection'] in rnn_wps: return True
+    return False
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py
index d9507fb45f69fdb4c2b4014845baa831dd703161..c0128c9e8b57915bbc8d5d3da7a6a6cdab79b16f 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py
@@ -2,303 +2,484 @@
 
 from TriggerMenuMT.HLT.Config.MenuComponents import MenuSequence, SelectionCA, InViewRecoCA
 from AthenaConfiguration.ComponentFactory import CompFactory
-
 from AthenaConfiguration.AccumulatorCache import AccumulatorCache
 from TrigEDMConfig.TriggerEDM import recordable
-
 from TrigInDetConfig.utils import getFlagsForActiveConfig
+
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
 
-def _caloSeq(flags, is_probe_leg=False):
-    selAcc = SelectionCA('CaloTau', isProbe=is_probe_leg)
+# Check the ATLAS Software Docs for more details about the different sub-sequences, CAs, and details
+# about the step configuration.
+
+
+#================================================================
+# CaloMVA sequences
+#================================================================
+@AccumulatorCache
+def tauCaloMVAMenuSequenceGenCfg(flags, is_probe_leg=False):
+    '''Calorimeter-only reconstruction and hypothesis (BRT-calibrated pT cut)'''
+
+    # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
+    # in parallel whenever possible, according to their data dependencies.
+    # Create the EventViews based on the HLTSeeding RoIs (from the input L1 TOBs)
+    recoAcc = InViewRecoCA(name='tauCaloMVA', InViewRoIs='CaloMVA_RoIs', isProbe=is_probe_leg)
+    RoIs = recoAcc.inputMaker().InViewRoIs
+
+
+    # VDV with all the required collections/objects in the View
+    # (the VDV checks are disabled unless running with -l DEBUG)
+    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
+        name=f'{recoAcc.name}RecoVDV',
+        DataObjects={
+            ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
+            ('xAOD::EventInfo', 'StoreGateSvc+EventInfo'),
+            ('SG::AuxElement', 'StoreGateSvc+EventInfo.actualInteractionsPerCrossing'),
+            ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
+            ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage'),
+        }
+    ))
 
-    recoAcc = InViewRecoCA(name       = 'tauCaloMVA', 
-                           InViewRoIs = 'CaloMVA_RoIs',
-                           isProbe    = is_probe_leg)
 
-    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(name=recoAcc.name+'RecoVDV',
-                                                              DataObjects={('TrigRoiDescriptorCollection', 'StoreGateSvc+'+recoAcc.inputMaker().InViewRoIs.Path),
-                                                                           #( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+HLT_TAURoI'),
-                                                                           ('CaloBCIDAverage', 'StoreGateSvc+CaloBCIDAverage'),
-                                                                           ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ),
-                                                                           ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.actualInteractionsPerCrossing'),
-                                                                           ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing')}))
+    # Reconstruction tools/algorithms:
 
+    # Topo-clustering
     from TrigCaloRec.TrigCaloRecConfig import tauTopoClusteringCfg
-    recoAcc.mergeReco(tauTopoClusteringCfg(flags,
-                                           RoIs = recoAcc.inputMaker().InViewRoIs))
+    recoAcc.mergeReco(tauTopoClusteringCfg(flags, RoIs=RoIs))
 
-    from TrigTauRec.TrigTauRecConfig import trigTauRecMergedCaloOnlyMVACfg
+    # Create new RoIs with an updated position, based on the central axis of the clusters
     from TrigTauHypo.TrigTauHypoConfig import tauCaloRoiUpdaterCfg
+    recoAcc.mergeReco(tauCaloRoiUpdaterCfg(flags, inputRoIs=RoIs, clusters='HLT_TopoCaloClustersLC'))
 
-    recoAcc.mergeReco(tauCaloRoiUpdaterCfg(flags,inputRoIs=recoAcc.inputMaker().InViewRoIs,clusters = 'HLT_TopoCaloClustersLC'))
+    # Construct the calo-only TauJet (with BRT calibration)
+    from TrigTauRec.TrigTauRecConfig import trigTauRecMergedCaloOnlyMVACfg
+    recoAcc.mergeReco(trigTauRecMergedCaloOnlyMVACfg(flags))
 
-    recoAcc.mergeReco(trigTauRecMergedCaloOnlyMVACfg(flags))    
 
+    # Calo ROB prefetching, to reduce number of calls to the readout
     from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Calo
-    robPrefetchAlg = ROBPrefetchingAlgCfg_Calo( flags, nameSuffix='IM_'+recoAcc.name+'_probe' if is_probe_leg else 'IM_'+recoAcc.name)    
+    robPrefetchAlg = ROBPrefetchingAlgCfg_Calo(flags, nameSuffix=f'IM_{recoAcc.name}_probe' if is_probe_leg else f'IM_{recoAcc.name}')
+
+
+    # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second, 
+    # the reco CA (with all the reco algs) after, and the Hypo alg. at last
+    selAcc = SelectionCA('tauCalo', isProbe=is_probe_leg)
     selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
 
-    hypoAlg = CompFactory.TrigTauCaloHypoAlg("TauL2CaloMVAHypo",
-                                                    taujets = "HLT_TrigTauRecMerged_CaloMVAOnly" )
-    selAcc.addHypoAlgo(hypoAlg)
 
+    # Hypothesis:
+    # The Hypotools in the Hypo algorithm will execute the BRT-calibrated Tau pT cut
+    selAcc.addHypoAlgo(CompFactory.TrigTauCaloHypoAlg('TauCaloMVAHypoAlg', taujets='HLT_TrigTauRecMerged_CaloMVAOnly'))
+
+
+    # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
+    # based on the partDict for each chain tau leg
     from TrigTauHypo.TrigTauHypoTool import TrigL2TauHypoToolFromDict
-    menuCA = MenuSequence(flags, selAcc, HypoToolGen=TrigL2TauHypoToolFromDict)   
-    return (selAcc , menuCA)
+    menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigL2TauHypoToolFromDict)
 
+    return menuSeq
 
-@AccumulatorCache
-def tauCaloMVAMenuSequenceGenCfg(flags, is_probe_leg=False):
-    (selAcc , menuCA) = _caloSeq(flags, is_probe_leg)
-    return menuCA 
 
 
-def _ftfCoreSeq(flags,name,is_probe_leg=False):
-    selAcc=SelectionCA('tau'+name+'FTF', isProbe=is_probe_leg)
+#================================================================
+# 1st FTF step: FTFCore / FTFLRT
+#================================================================
 
-    newRoITool   = CompFactory.ViewCreatorFetchFromViewROITool( 
-                                RoisWriteHandleKey = recordable(flags.Tracking.ActiveConfig.roi),
-                                InViewRoIs = 'UpdatedCaloRoI')
+def _ftfCoreSeq(flags, name, is_probe_leg=False):
+    '''1st FTF step sequence, for both the tauCore and tauLRT RoIs'''
 
-    # Resize the RoI before running the tracking to either 'tauCore' or 'tauIso'
-    newRoITool.doResize = True
-    newRoITool.RoIEtaWidth = flags.Tracking.ActiveConfig.etaHalfWidth
-    newRoITool.RoIPhiWidth = flags.Tracking.ActiveConfig.phiHalfWidth
-    newRoITool.RoIZedWidth = flags.Tracking.ActiveConfig.zedHalfWidth
-                                                                                                
+    if name not in ['Core', 'LRT']:
+        raise ValueError('Invalid name')
 
-    from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
+
+    # Create new RoIs from 'UpdatedCaloRoI', resized to 'tauCore/LRT' before running the FTF algorithms
+    newRoITool = CompFactory.ViewCreatorFetchFromViewROITool(
+        RoisWriteHandleKey=recordable(flags.Tracking.ActiveConfig.roi),
+        InViewRoIs='UpdatedCaloRoI',
+        doResize=True,
+        RoIEtaWidth=flags.Tracking.ActiveConfig.etaHalfWidth,
+        RoIPhiWidth=flags.Tracking.ActiveConfig.phiHalfWidth,
+        RoIZedWidth=flags.Tracking.ActiveConfig.zedHalfWidth,
+    )
+
+
+    # If we're running on tauCore RoIs, we will optionally  prefetch ROBs for the larger 'tauIso' RoIs ahead of time,
+    # to avoid retrieving more detector information again later in the next step
     from TriggerJobOpts.TriggerConfigFlags import ROBPrefetching
+    if doExtraPrefetching := name == 'Core' and ROBPrefetching.TauCoreLargeRoI in flags.Trigger.ROBPrefetchingOptions:
+        prefetchRoIUpdater = CompFactory.RoiUpdaterTool(
+            useBeamSpot=True,
+            NSigma=1.5,
+            EtaWidth=flags.Trigger.InDetTracking.tauIso.etaHalfWidth,
+            PhiWidth=flags.Trigger.InDetTracking.tauIso.phiHalfWidth,
+            ZedWidth=flags.Trigger.InDetTracking.tauIso.zedHalfWidth,
+        )
+
+        prefetchRoITool = CompFactory.ViewCreatorExtraPrefetchROITool(
+            RoiCreator=newRoITool,
+            RoiUpdater=prefetchRoIUpdater,
+            ExtraPrefetchRoIsKey=f'{newRoITool.RoisWriteHandleKey}_forPrefetching',
+            PrefetchRoIsLinkName='prefetchRoI',
+            MergeWithOriginal=True,
+        )
+
+
+    # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
+    # in parallel whenever possible, according to their data dependencies.
+    # Create the EventViews from the resized RoIs, based on the 'UpdatedCaloRoI' created in the CaloMVA step
+    recoAcc = InViewRecoCA(
+        f'tauFastTrack{name}',
+        RoITool=prefetchRoITool if doExtraPrefetching else newRoITool,
+        ViewFallThrough=True,
+        RequireParentView=True,
+        mergeUsingFeature=True,
+        isProbe=is_probe_leg
+    )
+    RoIs = recoAcc.inputMaker().InViewRoIs
+
+
+    # VDV with all the required collections/objects in the View
+    # (the VDV checks are disabled unless running with -l DEBUG)
+    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
+        name=f'{recoAcc.name}RecoVDV',
+        DataObjects={
+            ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
+        }
+    ))
 
-    extraPrefetching = ROBPrefetching.TauCoreLargeRoI in flags.Trigger.ROBPrefetchingOptions and 'Core' in name
-    if extraPrefetching:
-      # Add extra RoI to prefetch ROBs for the subsequent tauIso step together with ROBs for tauCore
-      prefetchRoIUpdater                   = CompFactory.RoiUpdaterTool()
-      prefetchRoIUpdater.useBeamSpot       = True
-      prefetchRoIUpdater.NSigma            = 1.5
-      prefetchRoIUpdater.EtaWidth          = flags.Trigger.InDetTracking.tauIso.etaHalfWidth
-      prefetchRoIUpdater.PhiWidth          = flags.Trigger.InDetTracking.tauIso.phiHalfWidth
-      prefetchRoIUpdater.ZedWidth          = flags.Trigger.InDetTracking.tauIso.zedHalfWidth
-      prefetchRoITool                      = CompFactory.ViewCreatorExtraPrefetchROITool()
-      prefetchRoITool.RoiCreator           = newRoITool
-      prefetchRoITool.RoiUpdater           = prefetchRoIUpdater
-      prefetchRoITool.ExtraPrefetchRoIsKey = str(newRoITool.RoisWriteHandleKey) + "_forPrefetching"
-      prefetchRoITool.PrefetchRoIsLinkName = "prefetchRoI"
-      prefetchRoITool.MergeWithOriginal    = True                                                      
-
-    fastInDetReco = InViewRecoCA('tauFastTrack'+name,RoITool           = prefetchRoITool if extraPrefetching else newRoITool,
-                                                ViewFallThrough   = True,
-                                                RequireParentView = True,
-                                                mergeUsingFeature = True,
-                                                isProbe           = is_probe_leg)
-
-    robPrefetchAlg = ROBPrefetchingAlgCfg_Si( flags, nameSuffix='IM_'+fastInDetReco.name)
-    if extraPrefetching:
-      robPrefetchAlg.RoILinkName = str(prefetchRoITool.PrefetchRoIsLinkName) 
+    
+    # Reconstruction tools/algorithms:
 
+    # Fast Track Finder (FTF) sequence (the main point of this step)
     from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
-    fastInDetReco.mergeReco(trigInDetFastTrackingCfg(flags, roisKey=fastInDetReco.inputMaker().InViewRoIs, signatureName='tau'+name))
-    fastInDetReco.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
-        name='VDVFastTau'+name,
-        DataObjects={( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+{}'.format(fastInDetReco.inputMaker().InViewRoIs) ),
-                     ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly')}) )
+    recoAcc.mergeReco(trigInDetFastTrackingCfg(flags, roisKey=RoIs, signatureName=f'tau{name}'))
 
-    RoIs = fastInDetReco.inputMaker().InViewRoIs
+    # Create new RoIs for the next tracking steps (FTFIso and PrecTrack), based on the found tracks
     TrackCollection = flags.Tracking.ActiveConfig.trkTracks_FTF
+    if name == 'Core':
+        from TrigTauHypo.TrigTauHypoConfig import tauTrackRoiUpdaterCfg
+        recoAcc.mergeReco(tauTrackRoiUpdaterCfg(flags, inputRoIs=RoIs, tracks=TrackCollection))
+    elif name == 'LRT':
+        from TrigTauHypo.TrigTauHypoConfig import tauLRTRoiUpdaterCfg
+        recoAcc.mergeReco(tauLRTRoiUpdaterCfg(flags, inputRoIs=RoIs, tracks=TrackCollection))
 
-    from TrigTauHypo.TrigTauHypoConfig import tauTrackRoiUpdaterCfg,tauLRTRoiUpdaterCfg
 
-    if 'LRT' in name:
-       fastInDetReco.mergeReco(tauLRTRoiUpdaterCfg(flags,inputRoIs = RoIs,tracks = TrackCollection))
-    else:
-       fastInDetReco.mergeReco(tauTrackRoiUpdaterCfg(flags,inputRoIs = RoIs,tracks = TrackCollection))
+    # ROB prefetching for the Pixel and SCT data
+    from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
+    robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix=f'IM_{recoAcc.name}')
+    if doExtraPrefetching:
+        robPrefetchAlg.RoILinkName = prefetchRoITool.PrefetchRoIsLinkName
     
-    selAcc.mergeReco(fastInDetReco, robPrefetchCA=robPrefetchAlg)
-    hypoAlg = CompFactory.TrigTrackPreSelHypoAlg('TrackPreSelHypoAlg_PassBy'+name,
-                                                 RoIForIDReadHandleKey = 'UpdatedTrackLRTRoI' if 'LRT' in name else '',
-                                                 trackcollection       = flags.Tracking.ActiveConfig.trkTracks_FTF )
-    selAcc.addHypoAlgo(hypoAlg)
+
+    # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second, 
+    # the reco CA (with all the reco algs) after, and the Hypo alg. at last
+    selAcc = SelectionCA(f'tauFTF{name}', isProbe=is_probe_leg)
+    selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
+
+
+    # Hypothesis:
+    # The hypothesis algorithm/tool does not perform any action (online monitoring of tracks only)
+    selAcc.addHypoAlgo(CompFactory.TrigTrackPreSelHypoAlg(
+        f'TauFastTrackHypoAlg_PassBy{name}',
+        RoIForIDReadHandleKey='UpdatedTrackLRTRoI' if name == 'LRT' else '',
+        trackcollection=TrackCollection
+    ))
+
+
+    # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
+    # based on the partDict for each chain tau leg
     from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict
-    menuCA = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackHypoToolFromDict)
-    return (selAcc , menuCA)
+    menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackHypoToolFromDict)
+
+    return menuSeq
 
 
 @AccumulatorCache
 def tauFTFTauCoreSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauCore',log)
+    # Retrieve 'tauCore' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauCore', log)
 
-    name='Core'
-    (selAcc , menuCA) = _ftfCoreSeq(newflags,name,is_probe_leg)
-    return menuCA 
+    return _ftfCoreSeq(newflags, name='Core', is_probe_leg=is_probe_leg)
 
 
 @AccumulatorCache
 def tauFTFTauLRTSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauLRT',log)
-    name='LRT'
-    (selAcc , menuCA) = _ftfCoreSeq(newflags,name,is_probe_leg)
-    return menuCA 
+    # Retrieve 'tauLRT' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
 
+    return _ftfCoreSeq(newflags, name='LRT', is_probe_leg=is_probe_leg)
 
-def _ftfTauIsoSeq(flags,name,is_probe_leg=False):
-    selAcc=SelectionCA('tau'+name+'FTF', isProbe=is_probe_leg)
 
-    newRoITool = CompFactory.ViewCreatorFetchFromViewROITool(
-                             RoisWriteHandleKey = recordable(flags.Tracking.ActiveConfig.roi),
-                             InViewRoIs = 'UpdatedTrackRoI')
 
-    from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
+#================================================================
+# 2nd FTF step: FTFIso
+#================================================================
+
+def _ftfTauIsoSeq(flags, name, is_probe_leg=False):
+    '''2nd FTF step sequence, for the tauIso RoI'''
+
+    if name not in ['Iso']:
+        raise ValueError('Invalid name')
 
-    fastInDetReco = InViewRecoCA('tauFastTrack'+name,RoITool           = newRoITool,
-                                                RequireParentView = True,
-                                                ViewFallThrough   = True,
-                                                isProbe           = is_probe_leg)
 
-    robPrefetchAlg = ROBPrefetchingAlgCfg_Si( flags, nameSuffix='IM_'+fastInDetReco.name)
+    # Create new RoIs from , resized to 'tauCore/LRT' before running the FTF algorithms
+    newRoITool = CompFactory.ViewCreatorFetchFromViewROITool(
+        RoisWriteHandleKey=recordable(flags.Tracking.ActiveConfig.roi),
+        InViewRoIs='UpdatedTrackRoI'
+    )
+
+
+    # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
+    # in parallel whenever possible, according to their data dependencies.
+    # Create the EventViews based on the RoIs created in the previous step
+    recoAcc = InViewRecoCA(
+        f'tauFastTrack{name}', 
+        RoITool=newRoITool, 
+        RequireParentView=True, 
+        ViewFallThrough=True, 
+        isProbe=is_probe_leg
+    )
+    RoIs = recoAcc.inputMaker().InViewRoIs
+
+
+    # VDV with all the required collections/objects in the View
+    # (the VDV checks are disabled unless running with -l DEBUG)
+    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
+        name=f'{recoAcc.name}RecoVDV',
+        DataObjects={
+            ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
+            ('TrackCollection', f'StoreGateSvc+{flags.Trigger.InDetTracking.tauCore.trkTracks_FTF}'),
+        }
+    ))
+
+    
+    # Reconstruction tools/algorithms:
 
+    # Fast Track Finder (FTF) sequence (the main point of this step)
     from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg
-    idTracking = trigInDetFastTrackingCfg(flags, roisKey=fastInDetReco.inputMaker().InViewRoIs, signatureName='tau'+name)
-    fastInDetReco.mergeReco(idTracking)
-    fastInDetReco.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
-        name='VDVFastTau'+name,
-        DataObjects={( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+{}'.format(fastInDetReco.inputMaker().InViewRoIs) ),
-                     ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly')}) )
-
-    selAcc.mergeReco(fastInDetReco, robPrefetchCA=robPrefetchAlg)
-    hypoAlg = CompFactory.TrigTrackPreSelHypoAlg('TrackPreSelHypoAlg_PassBy'+name,
-                                                    trackcollection = flags.Tracking.ActiveConfig.trkTracks_FTF )
-    selAcc.addHypoAlgo(hypoAlg)
+    recoAcc.mergeReco(trigInDetFastTrackingCfg(flags, roisKey=RoIs, signatureName=f'tau{name}'))
+
+
+    # ROB prefetching for the Pixel and SCT data
+    # Note: if enabled in the config flags, the tauIso RoI would have already been prefetched in the previous step
+    #       through the 'extra prefetching' procedure, so we can skip it
+    from TriggerJobOpts.TriggerConfigFlags import ROBPrefetching
+    if name == 'Iso' and ROBPrefetching.TauCoreLargeRoI in flags.Trigger.ROBPrefetchingOptions:
+        robPrefetchAlg = None
+    else:
+        from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
+        robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix=f'IM_{recoAcc.name}')
+
+    # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first, the rob prefetching alg. second (if enabled), 
+    # the reco CA (with all the reco algs) after, and the Hypo alg. at last
+    selAcc = SelectionCA(f'tauFTF{name}', isProbe=is_probe_leg)
+    selAcc.mergeReco(recoAcc, robPrefetchCA=robPrefetchAlg)
+
 
+    # Hypothesis:
+    # The hypothesis algorithm/tool does not perform any action (debug logging of number of tracks only)
+    selAcc.addHypoAlgo(CompFactory.TrigTrackPreSelHypoAlg(
+        f'TauFastTrackHypoAlg_PassBy{name}',
+        trackcollection=flags.Tracking.ActiveConfig.trkTracks_FTF,
+    ))
+
+
+    # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
+    # based on the partDict for each chain tau leg
     from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict
-    menuCA = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackHypoToolFromDict)
-    return (selAcc , menuCA)
+    menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTauTrackHypoToolFromDict)
+
+    return menuSeq
 
 
 @AccumulatorCache
 def tauFTFTauIsoSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauIso',log)
-    name = 'Iso'
-    (selAcc , menuCA) = _ftfTauIsoSeq(newflags,name,is_probe_leg)
-    return menuCA
+    # Retrieve 'tauIso' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
 
+    return _ftfTauIsoSeq(newflags, name='Iso', is_probe_leg=is_probe_leg)
 
-def _precTrackSeq(flags,name,is_probe_leg=False):
-    selAcc=SelectionCA('tau'+name+'Track', isProbe=is_probe_leg)
 
-    recoAcc = InViewRecoCA(name              = 'prec'+name+'Track', 
-                           RoITool           = CompFactory.ViewCreatorPreviousROITool(),
-                           InViewRoIs        = 'tauFastTrack'+name,
-                           RequireParentView = True,
-                           ViewFallThrough   = True,                           
-                           isProbe           = is_probe_leg)
 
-    from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
-    precTracking = trigInDetPrecisionTrackingCfg(flags, rois=recoAcc.inputMaker().InViewRoIs, signatureName='tau'+name)
-    recoAcc.mergeReco(precTracking)
+#================================================================
+# Precision Tracking step
+#================================================================
+
+def _precTrackSeq(flags, name, is_probe_leg=False):
+    '''Precision Tracking step sequence, for both the tauIso and tauLRT RoIs'''
+
+    if name not in ['Iso', 'LRT']:
+        raise ValueError('Invalid name')
+
+
+    # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
+    # in parallel whenever possible, according to their data dependencies.
+    # Create the EventViews based on the RoIs created in the previous steps (tauIso and tauLRT)
+    recoAcc = InViewRecoCA(
+        name=f'tauPrecTrack{name}', 
+        RoITool=CompFactory.ViewCreatorPreviousROITool(),
+        InViewRoIs=f'tauFastTrack{name}',
+        RequireParentView=True,
+        ViewFallThrough=True,                           
+        isProbe=is_probe_leg,
+    )
+    RoIs = recoAcc.inputMaker().InViewRoIs
+
 
-    ViewVerifyTrk =  CompFactory.AthViews.ViewDataVerifier(
-        name='VDVPrecTrkTau'+name,
-        DataObjects = {( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+%s' % flags.Tracking.ActiveConfig.tracks_FTF ),
-                       ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing' ),
-                       ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+{}'.format(recoAcc.inputMaker().InViewRoIs) ),
-                       ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ),
-                       ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly' ),
-                       ( 'xAOD::IParticleContainer' , 'StoreGateSvc+%s' % flags.Tracking.ActiveConfig.tracks_FTF ),
-                       })
+    # VDV with all the required collections/objects in the View
+    # (the VDV checks are disabled unless running with -l DEBUG)
+    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
+        name=f'{recoAcc.name}RecoVDV',
+        DataObjects={
+            ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
+            ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
+        }
+    ))
 
-    recoAcc.addRecoAlgo(ViewVerifyTrk)
 
-    precTracks = flags.Tracking.ActiveConfig.tracks_IDTrig
+    # Reconstruction tools/algorithms:
 
+    # Precision Tracking sequence (track extension to the TRT and refitting)
+    from TrigInDetConfig.TrigInDetConfig import trigInDetPrecisionTrackingCfg
+    recoAcc.mergeReco(trigInDetPrecisionTrackingCfg(flags, rois=RoIs, signatureName=f'tau{name}'))
+
+    # Vertexing sequence
     from TrigInDetConfig.TrigInDetConfig import trigInDetVertexingCfg
-    recoAcc.mergeReco(trigInDetVertexingCfg(flags,precTracks,flags.Tracking.ActiveConfig.vertex))
+    recoAcc.mergeReco(trigInDetVertexingCfg(flags, flags.Tracking.ActiveConfig.tracks_IDTrig, flags.Tracking.ActiveConfig.vertex))
+
 
+    # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first,
+    # the reco CA (with all the reco algs) after, and the Hypo alg. at last
+    # Note: no need to prefetch anything from Pixel or SCT, since we already prefetched 
+    #       all the necesary information in the previous step
+    selAcc = SelectionCA(f'tauPT{name}', isProbe=is_probe_leg)
     selAcc.mergeReco(recoAcc)
-    hypoAlg = CompFactory.TrigTrkPrecHypoAlg('TrkPrec'+name+'HypoAlg',
-                                                    trackparticles = precTracks, 
-                                                    RoIForIDReadHandleKey = '' )
-    selAcc.addHypoAlgo(hypoAlg)
 
+
+    # Hypothesis:
+    # The hypothesis algorithm/tool does not perform any action (debug logging of number of tracks only)
+    selAcc.addHypoAlgo(CompFactory.TrigTrkPrecHypoAlg(
+        f'TauPrecTrackHypoAlg_PassBy{name}',
+        trackparticles=flags.Tracking.ActiveConfig.tracks_IDTrig, 
+        RoIForIDReadHandleKey='',
+    ))
+
+
+    # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
+    # based on the partDict for each chain tau leg
     from TrigTauHypo.TrigTauHypoTool import TrigTrkPrecHypoToolFromDict
-    menuCA = MenuSequence(flags, selAcc, HypoToolGen=TrigTrkPrecHypoToolFromDict)
-    return (selAcc , menuCA)
+    menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigTrkPrecHypoToolFromDict)
+
+    return menuSeq
 
 
 @AccumulatorCache
 def tauPrecTrackIsoSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauIso',log)
-    name = 'Iso'
-    (selAcc , menuCA) = _precTrackSeq(newflags,name,is_probe_leg)
-    return menuCA
+    # Retrieve 'tauIso' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
+
+    return  _precTrackSeq(newflags, name='Iso', is_probe_leg=is_probe_leg)
 
 
 @AccumulatorCache
 def tauPrecTrackLRTSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauLRT',log)
-    name = 'LRT'
-    (selAcc , menuCA) = _precTrackSeq(newflags,name,is_probe_leg)
-    return menuCA
+    # Retrieve 'tauLRT' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
+
+    return _precTrackSeq(newflags, name='LRT', is_probe_leg=is_probe_leg)
 
 
-def _tauPrecSeq(flags,name,is_probe_leg=False):
-    selAcc=SelectionCA('tauPrec'+name, isProbe=is_probe_leg)
 
+#================================================================
+# Precision Tau step
+#================================================================
+
+def _tauPrecisionSeq(flags, name, tau_ids: list[str], output_name=None, is_probe_leg=False):
+    '''Precision Tau step sequence, for all ID and reconstruction settings'''
+
+    # 'tauIso' (and its derivatives) for all chains except for trackLRT
     InViewName = 'Iso' if 'LRT' not in name else 'LRT' 
-    recoAcc = InViewRecoCA(name              = 'prec'+name+'Tau', 
-                           RoITool           = CompFactory.ViewCreatorPreviousROITool(),
-                           InViewRoIs        = 'tauFastTrack'+InViewName,
-                           RequireParentView = True,
-                           ViewFallThrough   = True,                           
-                           isProbe           = is_probe_leg)
-
-    ViewVerifyID =  CompFactory.AthViews.ViewDataVerifier(
-        name='VDVPrecTau'+name,
-        DataObjects = {( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+{}'.format(recoAcc.inputMaker().InViewRoIs)),
-                       ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'   ),
-                       ( 'xAOD::VertexContainer', 'StoreGateSvc+'+flags.Tracking.ActiveConfig.vertex),
-                       ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ),
-                       ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly' ),
-                       ( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+'+flags.Tracking.ActiveConfig.tracks_IDTrig )})
-
-    recoAcc.addRecoAlgo(ViewVerifyID)
 
+    # Reconstruction sequence CA (parOR), executting all reco algorithms within the View (from the RoI)
+    # in parallel whenever possible, according to their data dependencies.
+    # Create the EventViews based on the RoIs created in the previous steps (tauIso and tauLRT)
+    recoAcc = InViewRecoCA(
+        name=f'tauPrecisionReco_{name}', 
+        RoITool=CompFactory.ViewCreatorPreviousROITool(),
+        InViewRoIs=f'tauFastTrack{InViewName}',
+        RequireParentView=True,
+        ViewFallThrough=True,                           
+        isProbe=is_probe_leg,
+    )
+    RoIs = recoAcc.inputMaker().InViewRoIs
+
+
+    # VDV with all the required collections/objects in the View
+    # (the VDV checks are disabled unless running with -l DEBUG)
+    recoAcc.addRecoAlgo(CompFactory.AthViews.ViewDataVerifier(
+        name=f'{recoAcc.name}RecoVDV',
+        DataObjects={
+            ('TrigRoiDescriptorCollection', f'StoreGateSvc+{RoIs}'),
+            ('SG::AuxElement', 'StoreGateSvc+EventInfo.averageInteractionsPerCrossing'),
+            ('xAOD::VertexContainer', f'StoreGateSvc+{flags.Tracking.ActiveConfig.vertex}'),
+            ('xAOD::TrackParticleContainer', f'StoreGateSvc+{flags.Tracking.ActiveConfig.tracks_IDTrig}'),
+            ('xAOD::TauTrackContainer', 'StoreGateSvc+HLT_tautrack_dummy'),
+            ('xAOD::TauJetContainer', 'StoreGateSvc+HLT_TrigTauRecMerged_CaloMVAOnly'),
+        }
+    ))
+
+
+    # Reconstruction tools/algorithms:
+
+    # Precision TauJet reconstruction sequence
     from TrigTauRec.TrigTauRecConfig import trigTauRecMergedPrecisionMVACfg
-    tauPrecisionAlg = trigTauRecMergedPrecisionMVACfg(flags, name, inputRoIs = recoAcc.inputMaker().InViewRoIs, tracks = flags.Tracking.ActiveConfig.tracks_IDTrig)
+    recoAcc.mergeReco(trigTauRecMergedPrecisionMVACfg(
+        flags,
+        name,
+        inputRoIs=RoIs,
+        tracks=flags.Tracking.ActiveConfig.tracks_IDTrig,
+    ))
 
-    recoAcc.mergeReco(tauPrecisionAlg)
 
+    # Selection sequence CA (seqAND), executing the recoAcc view creation alg. first,
+    # the reco CA (with all the reco algs) after, and the Hypo alg. at last (no ROB prefetching)
+    selAcc = SelectionCA(f'tauPrecision_{name}', isProbe=is_probe_leg)
     selAcc.mergeReco(recoAcc)
-    hypoAlg = CompFactory.TrigEFTauMVHypoAlg('EFTauMVHypoAlg'+name,
-                                                    taujetcontainer = 'HLT_TrigTauRecMerged_'+name)
-    selAcc.addHypoAlgo(hypoAlg)
 
+
+    # Hypothesis:
+    # The Hypotools in the Hypo algorithm will execute the calibrated Tau pT cut,
+    # NTrack cut, NWideTrack cut, and ID WP selections (or meson variable cuts)
+    selAcc.addHypoAlgo(CompFactory.TrigEFTauMVHypoAlg(
+        f'TauPrecisionHypoAlg_{name}',
+        taujetcontainer=f'HLT_TrigTauRecMerged_{output_name if output_name else name}'
+    ))
+
+
+    # Menu sequence, connecting everything internally for the step, and configuring the tools for the Hypo alg.
+    # based on the partDict for each chain tau leg
     from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict
-    menuCA = MenuSequence(flags, selAcc, HypoToolGen=TrigEFTauMVHypoToolFromDict)
-    return (selAcc , menuCA)
+    menuSeq = MenuSequence(flags, selAcc, HypoToolGen=TrigEFTauMVHypoToolFromDict)
+
+    return menuSeq
 
 
 @AccumulatorCache
-def tauTrackTwoMVASequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauIso',log)
-    name = 'MVA'
-    (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg)
-    return menuCA
+def tauPrecisionSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False):
+    # Retrieve 'tauIso' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauIso', log)
 
+    from TriggerMenuMT.HLT.Tau.TauConfigurationTools import getPrecisionSequenceTauIDs
 
-@AccumulatorCache
-def tauTrackTwoLLPSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauIso',log)
-    name = 'LLP'
-    (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg)
-    return menuCA
+    return _tauPrecisionSeq(newflags, seq_name, tau_ids=getPrecisionSequenceTauIDs(seq_name), output_name=output_name, is_probe_leg=is_probe_leg)
 
 
 @AccumulatorCache
-def tauTrackLRTSequenceGenCfg(flags, is_probe_leg=False):
-    newflags = getFlagsForActiveConfig(flags,'tauLRT',log)
-    name = 'LRT'
-    (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg)
-    return menuCA
+def tauPrecisionLRTSequenceGenCfg(flags, seq_name, output_name=None, is_probe_leg=False):
+    # Retrieve 'tauLRT' RoI tracking configuration
+    newflags = getFlagsForActiveConfig(flags, 'tauLRT', log)
+
+    from TriggerMenuMT.HLT.Tau.TauConfigurationTools import getPrecisionSequenceTauIDs
+
+    return _tauPrecisionSeq(newflags, seq_name, tau_ids=getPrecisionSequenceTauIDs(seq_name), output_name=output_name, is_probe_leg=is_probe_leg)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Test/TestChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Test/TestChainConfiguration.py
index 7d3b6a8d202d8c870cd045b99ec3dbe7b94aad12..854acadd5b7e87f25940b52c0ffab7ff099c9a55 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Test/TestChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Test/TestChainConfiguration.py
@@ -9,7 +9,7 @@ from ..Config.ChainConfigurationBase import ChainConfigurationBase
 
 from TriggerMenuMT.CFtest.HLTSignatureConfig import  muMenuSequence, elMenuSequence, gamMenuSequence
 from TriggerMenuMT.CFtest.HLTSignatureHypoTools import dimuDrComboHypoTool
-
+from TriggerMenuMT.HLT.Config.MenuComponents import EmptyMenuSequenceCfg
 
 #--------------------------------------------------------
 # fragments generating config will be functions in new JO
@@ -108,9 +108,10 @@ class TestChainConfiguration(ChainConfigurationBase):
             'mv1step': ['Step_mu11'],
             'mv1':     ['Step_mu11', 'Step_mu21', 'Step_mu31', 'Step_mu41'], 
             'mv2':     ['Step_mu11', 'Step_mu22', 'Step_mu31'],
-            'mEmpty1': ['Step_empty1', 'Step_mu21'],
+            'mEmpty1': ['Step_empty1', 'Step_mu21'], # empty step
             #'mEmpty1': ['Step_empty1', 'Step_mu11'], # try to break 'Step_mu21'],
-            'mEmpty2': ['Step_mu11'  ,'Step_empty2' ,'Step_mu32', 'Step_mu41'],
+            'mEmpty2': ['Step_mu11'  ,'Step_empty2' ,'Step_mu31', 'Step_mu41'], # same as mv1 with empty step
+            'mEmpty3': ['Step_mu11'  ,'Step_empty2' ,'Step_empty3', 'Step_mu41'], # empty step + emtpy sequence
             'mv1dr' :  ['Step_mu11Dr', 'Step_mu21', 'Step_mu31', 'Step_mu41'],
             #egamma
             'ev1':     ['Step_em11', 'Step_em21', 'Step_em31'],
@@ -153,6 +154,9 @@ class TestChainConfiguration(ChainConfigurationBase):
     def Step_empty2(self, flags):
         return self.getEmptyStep(2,'empty')
 
+    def Step_empty3(self, flags):
+        return self.getStep(flags,'emptySeq', [EmptyMenuSequenceCfg], name="EmptySequence")
+
     # Electrons
 
     def Step_em11(self, flags):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
index bc9d229efa94c20f7259fab339918ba2ee2aa750..f521adb603cb23f46c6f7067e4d8efe28296df12 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
@@ -218,6 +218,9 @@ class ItemDef:
         MenuItem('L1_2eEM9_EMPTY'       ).setLogic(d.eEM9.x(2) & cosmiccond ).setTriggerType( TT.calo )
         MenuItem('L1_eEM9_UNPAIRED_ISO' ).setLogic(d.eEM9 & unpaired_isocond).setTriggerType( TT.calo )
         MenuItem('L1_eEM15_EMPTY'       ).setLogic(d.eEM15 & cosmiccond     ).setTriggerType( TT.calo )
+        # ATR-29025
+        MenuItem('L1_DPHI-2eEM1_VjTE200_EMPTY'  ).setLogic(d.TOPO_23DPHI32_2eEM1s  & Not(d.jTE200) & cosmiccond ).setTriggerType( TT.calo )
+        MenuItem('L1_DPHI-2eTAU1_VjTE200_EMPTY' ).setLogic(d.TOPO_23DPHI32_2eTAU1s & Not(d.jTE200) & cosmiccond ).setTriggerType( TT.calo )
 
         MenuItem('L1_eEM22A'    ).setLogic( d.eEM22A     & physcond).setTriggerType( TT.calo )
         MenuItem('L1_eEM22C'    ).setLogic( d.eEM22C     & physcond).setTriggerType( TT.calo )
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_HI_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_HI_run3_v1.py
index 5f036c79cfa544335b417cde6f0b464ce6e47f84..af735247e18eed80dd26bd0de64757f544fe39f2 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_HI_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_HI_run3_v1.py
@@ -109,7 +109,7 @@ def defineMenu():
         'L1_eEM1_TRT_VjTE200', 'L1_eTAU1_TRT_VjTE200',
         'L1_2eTAU1_VjTE200_EMPTY','L1_2eTAU1_VjTE200_UNPAIRED_ISO','L1_2eTAU1_VjTE200_UNPAIRED_NONISO',
         'L1_eTAU1_TRT_VjTE200_EMPTY','L1_eTAU1_TRT_VjTE200_UNPAIRED_ISO','L1_eTAU1_TRT_VjTE200_UNPAIRED_NONISO',
-        'L1_eEM1_TRT_VjTE50', 'L1_eTAU1_TRT_VjTE50',
+        'L1_eEM1_TRT_VjTE50', 'L1_eTAU1_TRT_VjTE50', 'L1_DPHI-2eEM1_VjTE200_EMPTY', 'L1_DPHI-2eTAU1_VjTE200_EMPTY',
 
         'L1_eTAU1', 'L1_jTAU1',
         
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_menu_processing_cf.ref b/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_menu_processing_cf.ref
index 4a34161110ee3b9820195996a930809d31df5205..7f255696a93d8c6d3cd44c0d9a15757ee9fa2908 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_menu_processing_cf.ref
+++ b/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_menu_processing_cf.ref
@@ -1,11 +1,14 @@
 TriggerSummaryStep1                                    0     0   DEBUG In summary 0 chains passed:
 TriggerSummaryStep2                                    0     0   DEBUG In summary 0 chains passed:
-TriggerSummaryStep1                                    1     0   DEBUG In summary 6 chains passed:
+TriggerSummaryStep1                                    1     0   DEBUG In summary 9 chains passed:
+TriggerSummaryStep1                                    1     0   DEBUG  +++ leg001_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#458301162
 TriggerSummaryStep1                                    1     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
+TriggerSummaryStep1                                    1     0   DEBUG  +++ HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#967078229
 TriggerSummaryStep1                                    1     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep1                                    1     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep1                                    1     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep1                                    1     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
+TriggerSummaryStep1                                    1     0   DEBUG  +++ leg000_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#2783798395
 TriggerSummaryStep1                                    1     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
 TriggerSummaryStep2                                    1     0   DEBUG In summary 2 chains passed:
 TriggerSummaryStep2                                    1     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
@@ -13,100 +16,125 @@ TriggerSummaryStep2                                    1     0   DEBUG  +++ HLT_
 TriggerSummaryStep3                                    1     0   DEBUG In summary 2 chains passed:
 TriggerSummaryStep3                                    1     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep3                                    1     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
-TriggerSummaryStep1                                    2     0   DEBUG In summary 20 chains passed:
+TriggerSummaryStep1                                    2     0   DEBUG In summary 24 chains passed:
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
-TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#458301162
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_2TestChain6_mEmpty1_L12MU5VF ID#944986735
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#967078229
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#2602477051
+TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#2783798395
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3425170122
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3877948827
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep2                                    2     0   DEBUG In summary 20 chains passed:
+TriggerSummaryStep2                                    2     0   DEBUG In summary 24 chains passed:
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
-TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#458301162
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_2TestChain6_mEmpty1_L12MU5VF ID#944986735
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#967078229
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#2602477051
+TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#2783798395
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3425170122
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3877948827
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep3                                    2     0   DEBUG In summary 14 chains passed:
+TriggerSummaryStep3                                    2     0   DEBUG In summary 19 chains passed:
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
+TriggerSummaryStep3                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#458301162
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#967078229
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
+TriggerSummaryStep3                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#2783798395
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep4                                    2     0   DEBUG In summary 9 chains passed:
-TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
+TriggerSummaryStep4                                    2     0   DEBUG In summary 13 chains passed:
+TriggerSummaryStep4                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#458301162
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
+TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#967078229
 TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
+TriggerSummaryStep4                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF ID#2783798395
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
 TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
+TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep1                                    3     0   DEBUG In summary 9 chains passed:
+TriggerSummaryStep1                                    3     0   DEBUG In summary 11 chains passed:
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
+TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep2                                    3     0   DEBUG In summary 7 chains passed:
+TriggerSummaryStep2                                    3     0   DEBUG In summary 9 chains passed:
 TriggerSummaryStep2                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
 TriggerSummaryStep2                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
+TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
+TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep3                                    3     0   DEBUG In summary 6 chains passed:
+TriggerSummaryStep3                                    3     0   DEBUG In summary 8 chains passed:
 TriggerSummaryStep3                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
 TriggerSummaryStep3                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
+TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
+TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep4                                    3     0   DEBUG In summary 2 chains passed:
+TriggerSummaryStep4                                    3     0   DEBUG In summary 4 chains passed:
 TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
+TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
+TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty3_L1MU8F ID#4023034509
 TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
 TrigSignatureMoni                                                 INFO HLT_2TestChain4_mv1dr_L12MU5VF #1512251310
 TrigSignatureMoni                                                 INFO -- #1512251310 Events         0          0          0          0          0          0          0          0          
@@ -124,17 +152,17 @@ TrigSignatureMoni                                                 INFO HLT_TestC
 TrigSignatureMoni                                                 INFO -- #2602477051 Events         1          1          -          1          -          -          1          1          
 TrigSignatureMoni                                                 INFO -- #2602477051 Features                             -          4          -          -          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain10_mv2_L1MU8F #2181831554
-TrigSignatureMoni                                                 INFO -- #2181831554 Events         2          2          1          0          0          -          0          0          
-TrigSignatureMoni                                                 INFO -- #2181831554 Features                             1          0          0          -          0          
+TrigSignatureMoni                                                 INFO -- #2181831554 Events         2          2          1          1          1          -          1          1          
+TrigSignatureMoni                                                 INFO -- #2181831554 Features                             1          1          1          -          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain20_mv1_L1MU8F #1240516424
 TrigSignatureMoni                                                 INFO -- #1240516424 Events         1          1          1          1          1          1          1          1          
 TrigSignatureMoni                                                 INFO -- #1240516424 Features                             1          1          1          1          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain5_ev1_L1EM3 #1756953305
 TrigSignatureMoni                                                 INFO -- #1756953305 Events         3          3          2          2          2          -          2          2          
 TrigSignatureMoni                                                 INFO -- #1756953305 Features                             4          4          4          -          0          
-TrigSignatureMoni                                                 INFO HLT_TestChain6_mEmpty2_L1MU5VF #85064081
-TrigSignatureMoni                                                 INFO -- #85064081 Events           1          1          1          -          1          1          1          1          
-TrigSignatureMoni                                                 INFO -- #85064081 Features                               3          -          3          3          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain6_mEmpty3_TestChain10_mv1_L12MU5VF #967078229
+TrigSignatureMoni                                                 INFO -- #967078229 Events          2          2          1          1          1          1          1          1          
+TrigSignatureMoni                                                 INFO -- #967078229 Features                              4          1          1          4          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F #1428614389
 TrigSignatureMoni                                                 INFO -- #1428614389 Events         2          2          1          1          1          1          1          1          
 TrigSignatureMoni                                                 INFO -- #1428614389 Features                             4          3          3          1          0          
@@ -150,9 +178,15 @@ TrigSignatureMoni                                                 INFO -- #40970
 TrigSignatureMoni                                                 INFO HLT_TestChain8_ev1_L1EM3 #2478217953
 TrigSignatureMoni                                                 INFO -- #2478217953 Events         4          4          3          3          3          -          3          3          
 TrigSignatureMoni                                                 INFO -- #2478217953 Features                             4          4          4          -          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain8_mEmpty2_L1MU8F #1700149127
+TrigSignatureMoni                                                 INFO -- #1700149127 Events         2          2          2          -          2          2          2          2          
+TrigSignatureMoni                                                 INFO -- #1700149127 Features                             2          -          2          2          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain8_mEmpty3_L1MU8F #4023034509
+TrigSignatureMoni                                                 INFO -- #4023034509 Events         2          2          2          -          2          2          2          2          
+TrigSignatureMoni                                                 INFO -- #4023034509 Features                             2          -          0          2          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1_L1MU8F #4120305671
 TrigSignatureMoni                                                 INFO -- #4120305671 Events         2          2          2          2          2          2          2          2          
 TrigSignatureMoni                                                 INFO -- #4120305671 Features                             2          2          2          2          0          
-TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1step_L1MU5VF #824940527
-TrigSignatureMoni                                                 INFO -- #824940527 Events          2          2          2          -          -          -          2          2          
-TrigSignatureMoni                                                 INFO -- #824940527 Features                              3          -          -          -          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1step_L1MU8F #903751990
+TrigSignatureMoni                                                 INFO -- #903751990 Events          2          2          2          -          -          -          2          2          
+TrigSignatureMoni                                                 INFO -- #903751990 Features                              2          -          -          -          0          
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_processing_cf.ref b/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_processing_cf.ref
index a77344fd57d5ec1264a5adec7444825c46555cd6..e382a29d5ad4b6a7ee7cb9f9fff99215cc4b85d3 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_processing_cf.ref
+++ b/Trigger/TriggerCommon/TriggerMenuMT/share/emu_step_processing_cf.ref
@@ -19,9 +19,8 @@ TriggerSummaryStep3                                    1     0   DEBUG  +++ HLT_
 TriggerSummaryStep3                                    1     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep1                                    2     0   DEBUG In summary 25 chains passed:
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_TestChain8_ev1_2TestChain6_mv1_L12EM8VH_MU8F ID#612769372
-TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_2TestChain6_mEmpty1_L12MU5VF ID#944986735
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
@@ -30,6 +29,7 @@ TriggerSummaryStep1                                    2     0   DEBUG  +++ leg0
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
@@ -43,10 +43,10 @@ TriggerSummaryStep1                                    2     0   DEBUG  +++ leg0
 TriggerSummaryStep1                                    2     0   DEBUG  +++ leg000_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3877948827
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep1                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep2                                    2     0   DEBUG In summary 20 chains passed:
+TriggerSummaryStep2                                    2     0   DEBUG In summary 23 chains passed:
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
-TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
+TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#931732457
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_2TestChain6_mEmpty1_L12MU5VF ID#944986735
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_2TestChain6_mv1_L12MU5VF ID#990018667
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain5_ev1_TestChain8_ev1_L12EM3 ID#1092141028
@@ -54,53 +54,63 @@ TriggerSummaryStep2                                    2     0   DEBUG  +++ leg0
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
+TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#2480879969
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#2602477051
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_TestChain8_ev1_L12EM3 ID#2709794009
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
+TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF ID#3152849864
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg001_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3425170122
 TriggerSummaryStep2                                    2     0   DEBUG  +++ leg000_HLT_TestChain10_mEmpty1_TestChain6_mEmpty1_L12MU5VF ID#3877948827
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep2                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep3                                    2     0   DEBUG In summary 6 chains passed:
-TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
+TriggerSummaryStep3                                    2     0   DEBUG In summary 8 chains passed:
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain5_ev1_L1EM3 ID#1756953305
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain10_mv2_L1MU8F ID#2181831554
 TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep3                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
-TriggerSummaryStep4                                    2     0   DEBUG In summary 4 chains passed:
-TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mEmpty2_L1MU5VF ID#85064081
+TriggerSummaryStep3                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
+TriggerSummaryStep4                                    2     0   DEBUG In summary 5 chains passed:
 TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep4                                    2     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
-TriggerSummaryStep1                                    3     0   DEBUG In summary 10 chains passed:
+TriggerSummaryStep4                                    2     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
+TriggerSummaryStep1                                    3     0   DEBUG In summary 11 chains passed:
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1428614389
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#1615293783
+TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep1                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F ID#3149326070
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep1                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep2                                    3     0   DEBUG In summary 7 chains passed:
+TriggerSummaryStep2                                    3     0   DEBUG In summary 8 chains passed:
 TriggerSummaryStep2                                    3     0   DEBUG  +++ leg000_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#76736659
-TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU5VF ID#824940527
+TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1step_L1MU8F ID#903751990
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
 TriggerSummaryStep2                                    3     0   DEBUG  +++ leg001_HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#1384293364
+TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain6_mv2_TestChain8_ev2_L12eEM10L_MU8F ID#4097032382
 TriggerSummaryStep2                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep3                                    3     0   DEBUG In summary 3 chains passed:
+TriggerSummaryStep3                                    3     0   DEBUG In summary 4 chains passed:
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
+TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_ev1_L1EM3 ID#2478217953
 TriggerSummaryStep3                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
-TriggerSummaryStep4                                    3     0   DEBUG In summary 2 chains passed:
+TriggerSummaryStep4                                    3     0   DEBUG In summary 3 chains passed:
 TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain20_mv1_L1MU8F ID#1240516424
+TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain8_mEmpty2_L1MU8F ID#1700149127
 TriggerSummaryStep4                                    3     0   DEBUG  +++ HLT_TestChain8_mv1_L1MU8F ID#4120305671
 TrigSignatureMoni                                                 INFO HLT_2TestChain4_mv1dr_L12MU5VF #1512251310
 TrigSignatureMoni                                                 INFO -- #1512251310 Events         0          0          0          0          -          -          0          0          
@@ -118,8 +128,8 @@ TrigSignatureMoni                                                 INFO HLT_TestC
 TrigSignatureMoni                                                 INFO -- #2602477051 Events         1          1          -          1          -          -          1          1          
 TrigSignatureMoni                                                 INFO -- #2602477051 Features                             -          4          -          -          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain10_mv2_L1MU8F #2181831554
-TrigSignatureMoni                                                 INFO -- #2181831554 Events         2          2          1          0          0          -          0          0          
-TrigSignatureMoni                                                 INFO -- #2181831554 Features                             1          0          0          -          0          
+TrigSignatureMoni                                                 INFO -- #2181831554 Events         2          2          1          1          1          -          1          1          
+TrigSignatureMoni                                                 INFO -- #2181831554 Features                             1          1          1          -          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain20_mv1_L1MU8F #1240516424
 TrigSignatureMoni                                                 INFO -- #1240516424 Events         1          1          1          1          1          1          1          1          
 TrigSignatureMoni                                                 INFO -- #1240516424 Features                             1          1          1          1          0          
@@ -141,15 +151,12 @@ TrigSignatureMoni                                                 INFO -- #23365
 TrigSignatureMoni                                                 INFO HLT_TestChain5_gv1_L1EM7 #3893303900
 TrigSignatureMoni                                                 INFO -- #3893303900 Events         1          1          1          -          -          -          1          1          
 TrigSignatureMoni                                                 INFO -- #3893303900 Features                             2          -          -          -          0          
-TrigSignatureMoni                                                 INFO HLT_TestChain6_mEmpty2_L1MU5VF #85064081
-TrigSignatureMoni                                                 INFO -- #85064081 Events           1          1          1          -          1          1          1          1          
-TrigSignatureMoni                                                 INFO -- #85064081 Features                               3          -          3          3          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain6_mv1_TestChain10_ev1_L12eEM10L_MU8F #1428614389
 TrigSignatureMoni                                                 INFO -- #1428614389 Events         2          2          2          1          -          1          1          1          
 TrigSignatureMoni                                                 INFO -- #1428614389 Features                             4          2          -          5          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain6_mv1_TestChain10_mv1_L12MU5VF #3152849864
-TrigSignatureMoni                                                 INFO -- #3152849864 Events         2          2          1          0          -          -          0          0          
-TrigSignatureMoni                                                 INFO -- #3152849864 Features                             4          3          -          -          0          
+TrigSignatureMoni                                                 INFO -- #3152849864 Events         2          2          1          1          -          -          1          1          
+TrigSignatureMoni                                                 INFO -- #3152849864 Features                             4          4          -          -          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain6_mv1_TestChain5_ev1dr_L12MU5VF #3269608020
 TrigSignatureMoni                                                 INFO -- #3269608020 Events         0          0          0          0          -          -          0          0          
 TrigSignatureMoni                                                 INFO -- #3269608020 Features                             0          0          -          -          0          
@@ -159,9 +166,12 @@ TrigSignatureMoni                                                 INFO -- #40970
 TrigSignatureMoni                                                 INFO HLT_TestChain8_ev1_L1EM3 #2478217953
 TrigSignatureMoni                                                 INFO -- #2478217953 Events         4          4          3          3          3          -          3          3          
 TrigSignatureMoni                                                 INFO -- #2478217953 Features                             4          4          4          -          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain8_mEmpty2_L1MU8F #1700149127
+TrigSignatureMoni                                                 INFO -- #1700149127 Events         2          2          2          -          2          2          2          2          
+TrigSignatureMoni                                                 INFO -- #1700149127 Features                             3          -          3          3          0          
 TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1_L1MU8F #4120305671
-TrigSignatureMoni                                                 INFO -- #4120305671 Events         2          2          2          1          1          1          1          1          
-TrigSignatureMoni                                                 INFO -- #4120305671 Features                             2          1          1          1          0          
-TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1step_L1MU5VF #824940527
-TrigSignatureMoni                                                 INFO -- #824940527 Events          2          2          2          -          -          -          2          2          
-TrigSignatureMoni                                                 INFO -- #824940527 Features                              3          -          -          -          0          
+TrigSignatureMoni                                                 INFO -- #4120305671 Events         2          2          2          2          2          2          2          2          
+TrigSignatureMoni                                                 INFO -- #4120305671 Features                             2          2          2          2          0          
+TrigSignatureMoni                                                 INFO HLT_TestChain8_mv1step_L1MU8F #903751990
+TrigSignatureMoni                                                 INFO -- #903751990 Events          2          2          2          -          -          -          2          2          
+TrigSignatureMoni                                                 INFO -- #903751990 Features                              3          -          -          -          0