diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
index eaed2788e7079bb07f793b984cff61bcec3f0d0e..fd20e142225e81bd7f1fa026dcacf4fa004021f6 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
@@ -31,8 +31,9 @@ def MuonGeoModelCfg(flags):
     if flags.Muon.usePhaseIIGeoSetup:
         from MuonGeoModelR4.MuonGeoModelConfig import MuonGeoModelCfg as MuonGeoModelCfgR4
         result.merge(MuonGeoModelCfgR4(flags))
-        from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg
-        result.merge(MuonReadoutGeometryCnvAlgCfg(flags))
+        if flags.Common.ProductionStep != ProductionStep.Simulation:
+            from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg
+            result.merge(MuonReadoutGeometryCnvAlgCfg(flags))
         return result
     
     result.merge(MuonGeoModelToolCfg(flags))
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDConfig.py b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDConfig.py
index 50f5139bf27bc6d1b33aa0dbd7c5fb32139450c7..6de291629757488a608a2c11128276401024c4b8 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDConfig.py
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDConfig.py
@@ -61,3 +61,5 @@ def SimHitContainerListCfg(flags):
         simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
     return simHitContainers
 
+def OutputSimContainersCfg(flags):
+    return [f"{contType}#{contName}" for contType, contName in SimHitContainerListCfg(flags) ]
diff --git a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/python/ConditionsConfig.py b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/python/ConditionsConfig.py
index c79819328146a20a138550bb3fab69cb64ef3e51..c7a6d3ae470f63d0792018d090ed96d5f276563d 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/python/ConditionsConfig.py
+++ b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/python/ConditionsConfig.py
@@ -37,9 +37,10 @@ def ActsGeomContextAlgCfg(flags, name="ActsGeomContextAlg", **kwargs):
     result.merge(ActsMuonAlignCondAlgCfg(flags))
     
     inAlignContainers = []
-    if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"]
-    if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"]
-    if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"]
+    if (flags.Muon.enableAlignment or flags.Muon.applyMMPassivation):
+        if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"]
+        if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"]
+        if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"]
     
     kwargs.setdefault("AlignKeys", inAlignContainers)
     the_alg = CompFactory.ActsMuonGeomContextAlg(name, **kwargs)
diff --git a/MuonSpectrometer/MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testSensitiveDetectors.py b/MuonSpectrometer/MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testSensitiveDetectors.py
index 299d2a820e4f4ac7a2c7f4b11a0ad5a18cc4e66f..ed24bd5707e658154b86ce75156a0f1596f912c7 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testSensitiveDetectors.py
+++ b/MuonSpectrometer/MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testSensitiveDetectors.py
@@ -11,13 +11,11 @@ def setupTestOutputCfg(flags,**kwargs):
     # =============================
     # Define contents of the format
     # =============================
-    sim_containers = ["xMdtSimHits", "xRpcSimHits", "xTgcSimHits","xMmSimHits","xStgcSimHits"]
+    from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
     container_items = ["xAOD::TruthParticleContainer#",
                        "xAOD::TruthParticleAuxContainer#",
-                       "McEventCollection#"]
-    for cont in sim_containers:
-        container_items +=[ "xAOD::MuonSimHitContainer#{cont}".format(cont = cont),
-                            "xAOD::MuonSimHitAuxContainer#{cont}Aux.".format(cont = cont)]
+                       "McEventCollection#"] + OutputSimContainersCfg(flags)
+
    
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
     kwargs.setdefault("ItemList", container_items)
diff --git a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/python/SensitiveDetectorsCfg.py b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/python/SensitiveDetectorsCfg.py
index aa3973a9050da705bec9256f356c0b37eb4fb6eb..7fa316542fb6d5f4f12660afe83e3eca5cd8bc64 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/python/SensitiveDetectorsCfg.py
+++ b/MuonSpectrometer/MuonPhaseII/MuonG4/MuonSensitiveDetectorsR4/python/SensitiveDetectorsCfg.py
@@ -90,6 +90,7 @@ def SetupSensitiveDetectorsCfg(flags):
     result.setPrivateTools(tools)
     return result
 
+### Name of the container names written by the R4 sensitive detectors
 def SimHitContainerListCfg(flags):
     simHitContainers = []
     if flags.Detector.EnableMDT:
@@ -101,6 +102,25 @@ def SimHitContainerListCfg(flags):
     if flags.Detector.EnableTGC:
         simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")]
     if flags.Detector.EnablesTGC:
-        simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]
+        simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]    
+    return simHitContainers
+
+### Returns the list of Container names written to the HITS file
+def OutputSimContainersCfg(flags):
+    outContainers = []
+    containerNames = []
+    if flags.Detector.EnableMDT:
+        containerNames+=["xMdtSimHits"]
+    if flags.Detector.EnableMM:
+        containerNames+=["xMmSimHits"]
+    if flags.Detector.EnableRPC:
+        containerNames+=["xRpcSimHits"]
+    if flags.Detector.EnableTGC:
+        containerNames+=["xTgcSimHits"]
+    if flags.Detector.EnablesTGC:
+        containerNames+=["xStgcSimHits"]    
     
-    return simHitContainers
\ No newline at end of file
+    outContainers +=[ f"xAOD::MuonSimHitContainer#{cont}" for cont in containerNames]
+    outContainers +=[ f"xAOD::MuonSimHitAuxContainer#{cont}Aux." for cont in containerNames]
+
+    return outContainers
diff --git a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
index 0cc21270d8e96eeffafa743831e5d41377c596fe..7851a80a4b52b15540435989954b69d880004c92 100644
--- a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
+++ b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py
@@ -69,13 +69,16 @@ def Kernel_GenericSimulatorMTCfg(flags, name="ISF_Kernel_GenericSimulatorMT", **
     kwargs.setdefault("InputEvgenCollection", "BeamTruthEvent")
     kwargs.setdefault("OutputTruthCollection", "TruthEvent")
     from SimulationConfig.SimEnums import CalibrationRun
+    from G4AtlasTools.G4AtlasToolsConfig import SimHitContainerListCfg
+    ExtraOutputs = SimHitContainerListCfg(flags)
     if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]:
         # Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly.
-        kwargs.setdefault("ExtraOutputs", [
+        ExtraOutputs+=[
             ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ),
             ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ),
             ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' )
-        ])
+        ]
+    kwargs.setdefault("ExtraOutputs", ExtraOutputs )
 
     if flags.Sim.ISF.Simulator.isQuasiStable():
         if "QuasiStablePatcher" not in kwargs:
diff --git a/Simulation/SimuJobTransforms/python/FilterHit_Skeleton.py b/Simulation/SimuJobTransforms/python/FilterHit_Skeleton.py
index d8bfeef5d1be63fb1da1b378f3dc0dfb7f4b254d..091ce33ac7c32b1c8846fccba5aefc0a38177404 100644
--- a/Simulation/SimuJobTransforms/python/FilterHit_Skeleton.py
+++ b/Simulation/SimuJobTransforms/python/FilterHit_Skeleton.py
@@ -70,24 +70,14 @@ def getStreamHITS_ItemList(flags):
     # HGTD
     if flags.Detector.EnableHGTD:
         ItemList += ["SiHitCollection#HGTD_Hits"]
-    #CSC
-    if flags.Detector.EnableCSC:
-        ItemList+=["CSCSimHitCollection#CSC_Hits"]
-    #MDT
-    if flags.Detector.EnableMDT:
-        ItemList+=["MDTSimHitCollection#MDT_Hits"]
-    #RPC
-    if flags.Detector.EnableRPC:
-        ItemList+=["RPCSimHitCollection#RPC_Hits"]
-    #TGC
-    if flags.Detector.EnableTGC:
-        ItemList+=["TGCSimHitCollection#TGC_Hits"]
-    #STGC
-    if flags.Detector.EnablesTGC:
-        ItemList+=["sTGCSimHitCollection#sTGC_Hits"]
-    #MM
-    if flags.Detector.EnableMM:
-        ItemList+=["MMSimHitCollection#MM_Hits"]
+
+    if flags.Detector.GeometryMuon:
+        if flags.Muon.usePhaseIIGeoSetup:
+            from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
+            ItemList += OutputSimContainersCfg(flags)
+        else:
+            from MuonG4SD.MuonG4SDConfig import OutputSimContainersCfg
+            ItemList += OutputSimContainersCfg(flags)
     return ItemList
 
 
diff --git a/Simulation/SimuJobTransforms/python/SimOutputConfig.py b/Simulation/SimuJobTransforms/python/SimOutputConfig.py
index d62db03e55f103b611f70ed0b5fc39ce2fbaa014..65832576e8746ef01fd8ce8305027e2ab8c47511 100644
--- a/Simulation/SimuJobTransforms/python/SimOutputConfig.py
+++ b/Simulation/SimuJobTransforms/python/SimOutputConfig.py
@@ -92,25 +92,15 @@ def getStreamHITS_ItemList(flags):
                          "TileHitVector#TileHitVec_G4",
                          "TileHitVector#TileHitVec_FastCaloSim"]
 
-    if flags.Detector.EnableRPC:
-        ItemList += ["RPCSimHitCollection#*"]
-
-    if flags.Detector.EnableTGC:
-        ItemList += ["TGCSimHitCollection#*"]
-
-    if flags.Detector.EnableMDT:
-        ItemList += ["MDTSimHitCollection#*"]
-
-    if flags.Detector.EnableCSC:
-        ItemList += ["CSCSimHitCollection#*"]
-
-    if flags.Detector.EnablesTGC:
-        ItemList += ["sTGCSimHitCollection#*"]
-
-    if flags.Detector.EnableMM:
-        ItemList += ["MMSimHitCollection#*"]
-
     if flags.Detector.EnableMuon:
+        if flags.Muon.usePhaseIIGeoSetup:
+            from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
+            ItemList += OutputSimContainersCfg(flags)
+        else:
+            from MuonG4SD.MuonG4SDConfig import OutputSimContainersCfg
+            ItemList += OutputSimContainersCfg(flags)
+
+    
         ItemList += ["TrackRecordCollection#MuonExitLayer"]
 
     if flags.Detector.EnableLucid: