diff --git a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
index 667525e8424760d6534bee642c4a134ebf46425e..9d5385c67f279f02718c39547da44713694c794b 100644
--- a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
+++ b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
@@ -27,7 +27,7 @@ def EnvelopeDefSvcCfg(ConfigFlags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs
     BeamPipe = Volume()
     BeamPipe.addRZ(   34.3,   3475.0 )
 
-    if ConfigFlags.Detector.SimulateHGTD:
+    if ConfigFlags.Detector.GeometryHGTD:
         BeamPipe.addRZ(   47.0,   3475.0 )
         BeamPipe.addRZ(   47.0,   3535.0 )
         BeamPipe.addRZ(  120.0,   3535.0 )
@@ -62,7 +62,7 @@ def EnvelopeDefSvcCfg(ConfigFlags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs
     Calo = Volume()
     Calo.addRZ( 1148.0,  3475.0 )
 
-    if ConfigFlags.Detector.SimulateHGTD:
+    if ConfigFlags.Detector.GeometryHGTD:
         Calo.addRZ(   47.0,  3475.0 )
         Calo.addRZ(   47.0,  3535.0 )
         Calo.addRZ(  120.0,  3535.0 )
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/CavernGMConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/CavernGMConfig.py
index b1af1f18123e8248d07ef29592d286cda531f75a..d02c2c73210a8bfd25204ece6399e7673eabcba8 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/CavernGMConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/CavernGMConfig.py
@@ -8,7 +8,7 @@ def CavernGeometryCfg( flags ):
     geoModelSvc=acc.getPrimary()
 
     from AthenaConfiguration.Enums import ProductionStep
-    if (flags.Common.ProductionStep == ProductionStep.Simulation and flags.Beam.Type == "cosmics") or flags.Detector.SimulateCavern:
+    if (flags.Common.ProductionStep == ProductionStep.Simulation and flags.Beam.Type == "cosmics") or flags.Detector.GeometryCavern:
         from CavernInfraGeoModel.CavernInfraGeoModelConf import CavernInfraDetectorTool
         geoModelSvc.DetectorTools += [ CavernInfraDetectorTool() ]
     return acc
diff --git a/InnerDetector/InDetConfig/test/ITkTest.py b/InnerDetector/InDetConfig/test/ITkTest.py
index 9dc6e0cdbb2aee9617933927e43361720074beca..7b47417ecafb877897a19a3e1fd48cbe27b3a825 100755
--- a/InnerDetector/InDetConfig/test/ITkTest.py
+++ b/InnerDetector/InDetConfig/test/ITkTest.py
@@ -68,15 +68,15 @@ def setupITkDetectorFlags(configFlags, detectors, args):
     configFlags.Detector.GeometryMM  = False #Not sure why this is there by default... does no harm though
     configFlags.Detector.GeometrysTGC  = False #Not sure why this is there by default... does no harm though
     if args.simulate:
-        configFlags.Detector.SimulateBpipe = True
+        configFlags.Detector.GeometryBpipe = True
     if not detectors or 'ITkStrip' in detectors or 'ITk' in detectors:
         configFlags.Detector.GeometryITkStrip = True
         if args.simulate:
-            configFlags.Detector.SimulateITkStrip = True
+            configFlags.Detector.EnableITkStrip = True
     if not detectors or 'ITkPixel' in detectors or 'ITk' in detectors:
         configFlags.Detector.GeometryITkPixel = True
         if args.simulate:
-            configFlags.Detector.SimulateITkPixel = True
+            configFlags.Detector.EnableITkPixel = True
 
 def ITkTestCfg(configFlags):
     acc = MainServicesCfg(configFlags)
diff --git a/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfigNew.py b/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfigNew.py
index ffe974ebb7b42420ac3ba98a79c217cd5d2c9c73..0c5c90cdde83f4cb8333c9ef3865f2f80f07e8b4 100644
--- a/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasAlg/python/G4AtlasAlgConfigNew.py
@@ -117,48 +117,48 @@ def G4AtlasAlgOutputCfg(ConfigFlags):
     ItemList += ["xAOD::JetContainer#*",
                  "xAOD::JetAuxContainer#*"]
 
-    if ConfigFlags.Detector.SimulateID:
+    if ConfigFlags.Detector.EnableID:
         ItemList += ["SiHitCollection#*",
                      "TRTUncompressedHitCollection#*",
                      "TrackRecordCollection#CaloEntryLayer"]
 
-    if ConfigFlags.Detector.SimulateITk:
+    if ConfigFlags.Detector.EnableITk:
         ItemList += ["SiHitCollection#*",
                      "TrackRecordCollection#CaloEntryLayer"]
 
-    if ConfigFlags.Detector.SimulateCalo:
+    if ConfigFlags.Detector.EnableCalo:
         ItemList += ["CaloCalibrationHitContainer#*",
                      "LArHitContainer#*",
                      "TileHitVector#*",
                      "TrackRecordCollection#MuonEntryLayer"]
 
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.EnableMuon:
         ItemList += ["RPCSimHitCollection#*",
                      "TGCSimHitCollection#*",
                      "MDTSimHitCollection#*",
                      "TrackRecordCollection#MuonExitLayer"]
-        if ConfigFlags.Detector.GeometryCSC:
+        if ConfigFlags.Detector.EnableCSC:
             ItemList += ["CSCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometrysTGC:
+        if ConfigFlags.Detector.EnablesTGC:
             ItemList += ["sTGCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometryMM:
+        if ConfigFlags.Detector.EnableMM:
             ItemList += ["MMSimHitCollection#*"]
 
-    if ConfigFlags.Detector.SimulateLucid:
+    if ConfigFlags.Detector.EnableLucid:
         ItemList += ["LUCID_SimHitCollection#*"]
 
-    if ConfigFlags.Detector.SimulateFwdRegion:
+    if ConfigFlags.Detector.EnableFwdRegion:
         ItemList += ["SimulationHitCollection#*"]
 
-    if ConfigFlags.Detector.SimulateZDC:
+    if ConfigFlags.Detector.EnableZDC:
         ItemList += ["ZDC_SimPixelHit_Collection#*",
                      "ZDC_SimStripHit_Collection#*"]
 
-    if ConfigFlags.Detector.SimulateALFA:
+    if ConfigFlags.Detector.EnableALFA:
         ItemList += ["ALFA_HitCollection#*",
                      "ALFA_ODHitCollection#*"]
 
-    if ConfigFlags.Detector.SimulateAFP:
+    if ConfigFlags.Detector.EnableAFP:
         ItemList += ["AFP_TDSimHitCollection#*",
                      "AFP_SIDSimHitCollection#*"]
 
diff --git a/Simulation/G4Atlas/G4AtlasAlg/test/G4AtlasAlgConfigNew_Test.py b/Simulation/G4Atlas/G4AtlasAlg/test/G4AtlasAlgConfigNew_Test.py
index 4ffea601753ad16f5c71c85dd093a166c7c81d1d..cf5e11d0316bff98edf5ebbf3488e160c964c8d1 100755
--- a/Simulation/G4Atlas/G4AtlasAlg/test/G4AtlasAlgConfigNew_Test.py
+++ b/Simulation/G4Atlas/G4AtlasAlg/test/G4AtlasAlgConfigNew_Test.py
@@ -70,8 +70,9 @@ if __name__ == '__main__':
     from G4AtlasAlg.G4AtlasAlgConfigNew import G4AtlasAlgCfg
     cfg.merge(G4AtlasAlgCfg(ConfigFlags))
 
-    from TileGeoG4SD.TileGeoG4SDToolConfig import TileGeoG4SDCalcCfg
-    cfg.merge(TileGeoG4SDCalcCfg(ConfigFlags))
+    from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
+    from SimuJobTransforms.SimOutputConfig import getStreamHITS_ItemList
+    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=getStreamHITS_ItemList(ConfigFlags), disableEventTag=True) )
 
     # FIXME hack to match to buggy behaviour in old style configuration
     OutputStreamHITS = cfg.getEventAlgo("OutputStreamHITS")
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
index 980b02a01a92cb12ef4c03962dd2e91b9cbd6589..4fdd22f8e961b1aa3731650b92d4b0cc66f5bf6b 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
@@ -22,35 +22,35 @@ def getATLAS_RegionCreatorList(ConfigFlags):
     if ConfigFlags.Beam.Type == 'cosmics' or ConfigFlags.Sim.CavernBG != 'Signal':
         regionCreatorList += [SX1PhysicsRegionToolCfg(ConfigFlags), BedrockPhysicsRegionToolCfg(ConfigFlags), CavernShaftsConcretePhysicsRegionToolCfg(ConfigFlags)]
         #regionCreatorList += ['CavernShaftsAirPhysicsRegionTool'] # Not used currently
-    if ConfigFlags.Detector.SimulateID:
-        if ConfigFlags.Detector.SimulatePixel:
+    if ConfigFlags.Detector.GeometryID:
+        if ConfigFlags.Detector.GeometryPixel:
             regionCreatorList += [PixelPhysicsRegionToolCfg(ConfigFlags)]
-        if ConfigFlags.Detector.SimulateSCT:
+        if ConfigFlags.Detector.GeometrySCT:
             regionCreatorList += [SCTPhysicsRegionToolCfg(ConfigFlags)]
-        if ConfigFlags.Detector.SimulateTRT:
+        if ConfigFlags.Detector.GeometryTRT:
             regionCreatorList += [TRTPhysicsRegionToolCfg(ConfigFlags)]
             if isRUN2:
                 regionCreatorList += [TRT_ArPhysicsRegionToolCfg(ConfigFlags)] #'TRT_KrPhysicsRegionTool'
         # FIXME dislike the ordering here, but try to maintain the same ordering as in the old configuration.
-        if ConfigFlags.Detector.SimulateBpipe:
+        if ConfigFlags.Detector.GeometryBpipe:
             if ConfigFlags.Sim.BeamPipeSimMode != "Normal":
                 regionCreatorList += [BeampipeFwdCutPhysicsRegionToolCfg(ConfigFlags)]
             #if simFlags.ForwardDetectors.statusOn and simFlags.ForwardDetectors() == 2:
             if False:
                 regionCreatorList += [FWDBeamLinePhysicsRegionToolCfg(ConfigFlags)]
-    if ConfigFlags.Detector.SimulateITk:
-        if ConfigFlags.Detector.SimulateITkPixel:
+    if ConfigFlags.Detector.GeometryITk:
+        if ConfigFlags.Detector.GeometryITkPixel:
             regionCreatorList += [ITkPixelPhysicsRegionToolCfg(ConfigFlags)] #TODO: add dedicated config
-        if ConfigFlags.Detector.SimulateITkStrip:
+        if ConfigFlags.Detector.GeometryITkStrip:
             regionCreatorList += [ITkStripPhysicsRegionToolCfg(ConfigFlags)] #TODO: And here...
         # FIXME dislike the ordering here, but try to maintain the same ordering as in the old configuration.
-        if ConfigFlags.Detector.SimulateBpipe:
+        if ConfigFlags.Detector.GeometryBpipe:
             if ConfigFlags.Sim.BeamPipeSimMode != "Normal":
                 regionCreatorList += [BeampipeFwdCutPhysicsRegionToolCfg(ConfigFlags)]
             #if simFlags.ForwardDetectors.statusOn and simFlags.ForwardDetectors() == 2:
             if False:
                 regionCreatorList += [FWDBeamLinePhysicsRegionToolCfg(ConfigFlags)]
-    if ConfigFlags.Detector.SimulateCalo:
+    if ConfigFlags.Detector.GeometryCalo:
         if ConfigFlags.Detector.GeometryLAr:
             # Shower parameterization overrides the calibration hit flag
             if ConfigFlags.Sim.LArParameterization > 0 \
@@ -92,13 +92,13 @@ def getTB_RegionCreatorList(ConfigFlags):
 
     #TODO - migrate below>>
     #if (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2003"):
-    #    if (ConfigFlags.Detector.SimulateLAr):
+    #    if (ConfigFlags.Detector.GeometryLAr):
     #        regionCreatorList += [FCALPhysicsRegionTool(ConfigFlags)]
     #elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2002"):
-    #    if (ConfigFlags.Detector.SimulateLAr):
+    #    if (ConfigFlags.Detector.GeometryLAr):
     #        regionCreatorList += [HECPhysicsRegionTool(ConfigFlags)]
     #elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6EC_2002"):
-    #    if (ConfigFlags.Detector.SimulateLAr):
+    #    if (ConfigFlags.Detector.GeometryLAr):
     #        regionCreatorList += [EMECPhysicsRegionTool(ConfigFlags)]
     #elif (ConfigFlags.GeoModel.AtlasVersion=="tb_LArH6_2004"):
     #    if (simFlags.LArTB_H6Hec.get_Value()):
@@ -125,26 +125,26 @@ def ATLAS_FieldMgrListCfg(ConfigFlags):
         tool  = result.popToolsAndMerge(acc)
         fieldMgrList += [tool]
 
-    if ConfigFlags.Detector.SimulateBpipe:
+    if ConfigFlags.Detector.GeometryBpipe:
         acc = BeamPipeFieldManagerToolCfg(ConfigFlags)
         tool  = result.popToolsAndMerge(acc)
         fieldMgrList += [tool]
-    if ConfigFlags.Detector.SimulateID:
+    if ConfigFlags.Detector.GeometryID:
         acc = InDetFieldManagerToolCfg(ConfigFlags)
         tool  = result.popToolsAndMerge(acc)
         fieldMgrList += [tool]
-    #if ConfigFlags.Detector.SimulateCalo and simFlags.MuonFieldOnlyInCalo.statusOn and simFlags.MuonFieldOnlyInCalo():
+    #if ConfigFlags.Detector.GeometryCalo and simFlags.MuonFieldOnlyInCalo.statusOn and simFlags.MuonFieldOnlyInCalo():
     if False:
         acc = MuonsOnlyInCaloFieldManagerToolCfg(ConfigFlags)
         tool  = result.popToolsAndMerge(acc)
         fieldMgrList += [tool]
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.GeometryMuon:
         acc = MuonFieldManagerToolCfg(ConfigFlags)
         tool  = result.popToolsAndMerge(acc)
         fieldMgrList += [tool]
 
     #sort these forward ones later
-    if ConfigFlags.Detector.SimulateForward: #needed?
+    if ConfigFlags.Detector.GeometryForward: #needed?
         if ConfigFlags.Detector.GeometryFwdRegion: #or forward?
           accQ1FwdRegionFieldManager = Q1FwdFieldManagerToolCfg(ConfigFlags)
           accQ2FwdRegionFieldManager = Q2FwdFieldManagerToolCfg(ConfigFlags)
@@ -285,10 +285,10 @@ def PhysicsListSvcCfg(ConfigFlags, name="PhysicsListSvc", **kwargs):
     PhysOptionList = [G4StepLimitationTool("G4StepLimitationTool")]
     #PhysOptionList += ConfigFlags.Sim.PhysicsOptions # FIXME Missing functionality
     PhysDecaysList = []
-    if ConfigFlags.Detector.SimulateTRT:
+    if ConfigFlags.Detector.GeometryTRT:
         TRTPhysicsTool = CompFactory.TRTPhysicsTool
         PhysOptionList +=[TRTPhysicsTool("TRTPhysicsTool")]
-    if ConfigFlags.Detector.SimulateLucid or ConfigFlags.Detector.SimulateAFP:
+    if ConfigFlags.Detector.GeometryLucid or ConfigFlags.Detector.GeometryAFP:
         LucidPhysicsTool = CompFactory.LucidPhysicsTool
         PhysOptionList +=[LucidPhysicsTool("LucidPhysicsTool")]
     kwargs.setdefault("PhysOption", PhysOptionList)
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasUserActionConfigNew.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasUserActionConfigNew.py
index edc83d2ce795dd42d6dc65ae2a2fe0d2f405a106..61a5c98df4578d6046a1fccca6084d81126e5891 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasUserActionConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasUserActionConfigNew.py
@@ -29,7 +29,7 @@ def FullG4TrackProcessorUserActionToolCfg(flags, name="FullG4TrackProcessorUserA
     kwargs.setdefault("EntryLayerTool", result.getPublicTool(tool.name))
     result.merge(GeoIDSvcCfg(flags))
     kwargs.setdefault("GeoIDSvc", result.getService("ISF_GeoIDSvc"))
-    if flags.Detector.SimulateCavern:
+    if flags.Detector.GeometryCavern:
         kwargs.setdefault("TruthVolumeLevel", 2)
     result.setPrivateTools(CompFactory.G4UA.iGeant4.TrackProcessorUserActionFullG4Tool(name, **kwargs))
     return result
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
index ab2fa1387712873560f6a853b8bbcbb633dc58a4..40dba171bee4f7ea303dcf908f9fc8b4222b5972 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
@@ -78,14 +78,14 @@ def EmptyFastSimulationMasterToolCfg(ConfigFlags, **kwargs):
 
 def generateFwdSensitiveDetectorList(ConfigFlags):
     SensitiveDetectorList=[]
-    if ConfigFlags.Detector.SimulateLucid:
+    if ConfigFlags.Detector.EnableLucid:
         SensitiveDetectorList += [ 'LUCID_SensitiveDetector' ]
-    if ConfigFlags.Detector.SimulateForward:
-        if ConfigFlags.Detector.SimulateZDC:
+    if ConfigFlags.Detector.EnableForward:
+        if ConfigFlags.Detector.EnableZDC:
             SensitiveDetectorList += [ 'ZDC_PixelSD', 'ZDC_StripSD' ]
-        if ConfigFlags.Detector.SimulateALFA:
+        if ConfigFlags.Detector.EnableALFA:
             SensitiveDetectorList += [ 'ALFA_SensitiveDetector' ]
-        if ConfigFlags.Detector.SimulateAFP:
+        if ConfigFlags.Detector.EnableAFP:
             SensitiveDetectorList += [ 'AFP_SensitiveDetector' ]
             #SensitiveDetectorList += [ 'AFP_SiDSensitiveDetector', 'AFP_TDSensitiveDetector' ]
 
@@ -95,8 +95,8 @@ def generateFwdSensitiveDetectorList(ConfigFlags):
 def generateTrackFastSimSensitiveDetectorList(ConfigFlags):
     SensitiveDetectorList=[]
     #if (ConfigFlags.Detector.Muon_on() and simFlags.CavernBG.statusOn and simFlags.CavernBG.get_Value() != 'Read' and 'Write' in simFlags.CavernBG.get_Value()) or (hasattr(simFlags, 'StoppedParticleFile') and simFlags.StoppedParticleFile.statusOn):
-    #if ((ConfigFlags.Detector.SimulateMuon) and (ConfigFlags.Sim.CavernBG != 'Read') and ('Write' in ConfigFlags.Sim.CavernBG)) or ConfigFlags.Sim.StoppedParticleFile:
-    if False: 
+    #if ((ConfigFlags.Detector.EnableMuon) and (ConfigFlags.Sim.CavernBG != 'Read') and ('Write' in ConfigFlags.Sim.CavernBG)) or ConfigFlags.Sim.StoppedParticleFile:
+    if False:
         SensitiveDetectorList += [ 'TrackFastSimSD' ]
     return SensitiveDetectorList
 
@@ -106,13 +106,13 @@ def generateITkSensitiveDetectorList(ConfigFlags):
     result = ComponentAccumulator()
     SensitiveDetectorList=[]
 
-    if ConfigFlags.Detector.SimulateITkPixel:
+    if ConfigFlags.Detector.EnableITkPixel:
         print("ITkPixel has no Sensitive Detectors defined yet...")
         #The lines below show how to active ITkPixel SDs once defined
         accITkPixel, toolITkPixel = ITkPixelSensorSDCfg(ConfigFlags)
         #SensitiveDetectorList += [ toolITkPixel ]
         #result.merge(accITkPixel)
-    if ConfigFlags.Detector.SimulateITkStrip:
+    if ConfigFlags.Detector.EnableITkStrip:
         accITkStrip,toolITkStrip = SLHC_SctSensorSD_GmxCfg(ConfigFlags) #This tool should be renamed, and maybe moved to separate package?
         SensitiveDetectorList += [ toolITkStrip ]
         result.merge(accITkStrip)
@@ -127,9 +127,9 @@ def generateInDetSensitiveDetectorList(ConfigFlags):
     isRUN2 = (ConfigFlags.GeoModel.Run in ["RUN2", "RUN3"]) or (ConfigFlags.GeoModel.Run=="UNDEFINED" )#and geoFlags.isIBL()) #isIBL may cause issues later....
     isRUN1 = not (isRUN2)
 
-    if ConfigFlags.Detector.SimulatePixel:
+    if ConfigFlags.Detector.EnablePixel:
         if isRUN1 or isRUN2:
-            if ConfigFlags.Detector.SimulateBCM:
+            if ConfigFlags.Detector.EnableBCM:
                 accBCM, toolBCM = BCMSensorSDCfg(ConfigFlags)
                 SensitiveDetectorList += [ toolBCM ]
                 result.merge(accBCM)
@@ -139,11 +139,11 @@ def generateInDetSensitiveDetectorList(ConfigFlags):
         accPixel, toolPixel = PixelSensorSDCfg(ConfigFlags)
         SensitiveDetectorList += [ toolPixel ]
         result.merge(accPixel)
-    if ConfigFlags.Detector.SimulateSCT:
+    if ConfigFlags.Detector.EnableSCT:
         accSCT,toolSCT = SctSensorSDCfg(ConfigFlags)
         SensitiveDetectorList += [ toolSCT ]
         result.merge(accSCT)
-    if ConfigFlags.Detector.SimulateTRT:
+    if ConfigFlags.Detector.EnableTRT:
         accTRT, toolTRT = TRTSensitiveDetectorCfg(ConfigFlags)
         SensitiveDetectorList += [ toolTRT ]
         result.merge(accTRT)
@@ -154,7 +154,7 @@ def generateCaloSensitiveDetectorList(ConfigFlags):
     result = ComponentAccumulator()
     SensitiveDetectorList=[]
 
-    if ConfigFlags.Detector.SimulateLAr:
+    if ConfigFlags.Detector.EnableLAr:
         accLArEMB = LArEMBSensitiveDetectorCfg(ConfigFlags)
         accLArEMEC = LArEMECSensitiveDetectorCfg(ConfigFlags)
         accLArFCAL = LArFCALSensitiveDetectorCfg(ConfigFlags)
@@ -169,7 +169,7 @@ def generateCaloSensitiveDetectorList(ConfigFlags):
                                    ]
         #todo migrate below>>>
         #if hasattr(DetFlags.simulate, 'HGTD_on') and DetFlags.simulate.HGTD_on():
-        #if ConfigFlags.Detector.SimulateHGTD:
+        #if ConfigFlags.Detector.EnableHGTD:
         if False:
             SensitiveDetectorList += [ 'HGTDSensorSD' ]
         else:
@@ -184,7 +184,7 @@ def generateCaloSensitiveDetectorList(ConfigFlags):
             accDeadSensitiveDetector = LArDeadSensitiveDetectorToolCfg(ConfigFlags)
             SensitiveDetectorList += [ result.popToolsAndMerge(accDeadSensitiveDetector) ]
 
-    if ConfigFlags.Detector.SimulateTile:
+    if ConfigFlags.Detector.EnableTile:
         if ConfigFlags.Sim.CalibrationRun in ['Tile', 'LAr+Tile']:
             accTile = TileGeoG4CalibSDCfg(ConfigFlags)
             SensitiveDetectorList += [ result.popToolsAndMerge(accTile) ] # mode 1 : With CaloCalibrationHits
@@ -202,40 +202,40 @@ def generateCaloSensitiveDetectorList(ConfigFlags):
 def generateMuonSensitiveDetectorList(ConfigFlags):
     result = ComponentAccumulator()
     SensitiveDetectorList=[]
-    
-    if ConfigFlags.Detector.SimulateMuon:
+
+    if ConfigFlags.Detector.EnableMuon:
         if ConfigFlags.Beam.Type == 'cosmics':
-            if ConfigFlags.Detector.SimulateMDT : 
+            if ConfigFlags.Detector.EnableMDT :
                 accMDT = MDTSensitiveDetectorCosmicsCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accMDT) ]
-            if ConfigFlags.Detector.SimulateRPC : 
+            if ConfigFlags.Detector.EnableRPC :
                 accRPC = RPCSensitiveDetectorCosmicsCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accRPC) ]
-            if ConfigFlags.Detector.SimulateTGC : 
+            if ConfigFlags.Detector.EnableTGC :
                 accTGC = TGCSensitiveDetectorCosmicsCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accTGC) ]
         else:
-            if ConfigFlags.Detector.SimulateMDT :
+            if ConfigFlags.Detector.EnableMDT :
                 accMDT =  MDTSensitiveDetectorCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accMDT) ]
-            if ConfigFlags.Detector.SimulateRPC : 
-                accRPC = RPCSensitiveDetectorCfg(ConfigFlags) 
+            if ConfigFlags.Detector.EnableRPC :
+                accRPC = RPCSensitiveDetectorCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accRPC) ]
-            if ConfigFlags.Detector.SimulateTGC :
+            if ConfigFlags.Detector.EnableTGC :
                 accTGC = TGCSensitiveDetectorCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accTGC) ]
-        
+
 
         #if ( hasattr(simFlags, 'SimulateNewSmallWheel') and simFlags.SimulateNewSmallWheel() ) or ConfigFlags.GeoModel.Run =="RUN3" :
         if False:
         #if ConfigFlags.SimulateNewSmallWheel or ConfigFlags.GeoModel.Run =="RUN3" :
-            if ConfigFlags.Detector.Simulate.sTGC :
+            if ConfigFlags.Detector.Enable.sTGC :
                 acc_sTGC = sTGCSensitiveDetectorCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(acc_sTGC) ]
-            if ConfigFlags.Detector.Simulate.Micromegas :
+            if ConfigFlags.Detector.Enable.Micromegas :
                 accMicromegas = MicromegasSensitiveDetectorCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge(accMicromegas) ]
-        elif ConfigFlags.Detector.SimulateCSC:
+        elif ConfigFlags.Detector.EnableCSC:
             # CSCs built instead of NSW
             if ConfigFlags.Beam.Type == 'cosmics':
                 accCSC = CSCSensitiveDetectorCosmicsCfg(ConfigFlags)
@@ -260,11 +260,11 @@ def generateSensitiveDetectorList(ConfigFlags):
     SensitiveDetectorList=[]
     SensitiveDetectorList += generateEnvelopeSensitiveDetectorList(ConfigFlags) # to update
 
-    if ConfigFlags.Detector.SimulateID:
+    if ConfigFlags.Detector.EnableID:
         acc_InDetSensitiveDetector, InDetSensitiveDetectorList = generateInDetSensitiveDetectorList(ConfigFlags)
         SensitiveDetectorList += InDetSensitiveDetectorList
 
-    if ConfigFlags.Detector.SimulateITk:
+    if ConfigFlags.Detector.EnableITk:
         acc_ITkSensitiveDetector, ITkSensitiveDetectorList = generateITkSensitiveDetectorList(ConfigFlags)
         SensitiveDetectorList += ITkSensitiveDetectorList
 
@@ -278,9 +278,9 @@ def generateSensitiveDetectorList(ConfigFlags):
     SensitiveDetectorList += generateTrackFastSimSensitiveDetectorList(ConfigFlags)
     SensitiveDetectorList += generateFwdSensitiveDetectorList(ConfigFlags)
 
-    if ConfigFlags.Detector.SimulateID:
+    if ConfigFlags.Detector.EnableID:
         result.merge(acc_InDetSensitiveDetector)
-    if ConfigFlags.Detector.SimulateITk:
+    if ConfigFlags.Detector.EnableITk:
         result.merge(acc_ITkSensitiveDetector)
 
     result.setPrivateTools(SensitiveDetectorList)
@@ -292,31 +292,31 @@ def generateTestBeamSensitiveDetectorList(ConfigFlags):
     SensitiveDetectorList=[]
 
     if "tb_Tile2000_2003" in ConfigFlags.GeoModel.AtlasVersion:
-        if ConfigFlags.Detector.SimulateTile:
+        if ConfigFlags.Detector.EnableTile:
             if ConfigFlags.Sim.CalibrationRun in ['Tile', 'LAr+Tile']:
                 accTileCTB = TileCTBGeoG4CalibSDCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge( accTileCTB) ] # mode 1 : With CaloCalibrationHits
             else:
                 accTileCTB =  TileCTBGeoG4SDCfg(ConfigFlags)
                 SensitiveDetectorList += [ result.popToolsAndMerge( accTileCTB ) ]      # mode 0 : No CaloCalibrationHits
-                if ConfigFlags.Detector.SimulateCalo:
+                if ConfigFlags.Detector.EnableCalo:
                     SensitiveDetectorList += [ 'MuonWallSD' ]
         return result, SensitiveDetectorList
 
-    if ConfigFlags.Detector.SimulatePixel:
+    if ConfigFlags.Detector.EnablePixel:
         toolPixel = PixelSensor_CTBCfg()
         SensitiveDetectorList += [ toolPixel ]
-    if ConfigFlags.Detector.SimulateSCT:
+    if ConfigFlags.Detector.EnableSCT:
         toolSCT = SctSensor_CTBCfg()
         SensitiveDetectorList += [ toolSCT ]
-    if ConfigFlags.Detector.SimulateTRT:
+    if ConfigFlags.Detector.EnableTRT:
         toolTRT = TRTSensitiveDetector_CTBCfg()
         SensitiveDetectorList += [ toolTRT ]
-    if ConfigFlags.Detector.SimulateLAr:
+    if ConfigFlags.Detector.EnableLAr:
         SensitiveDetectorList += [ 'LArEMBSensitiveDetector' ]
         if 'LAr' in ConfigFlags.Sim.CalibrationRun:
             SensitiveDetectorList += [ 'LArH8CalibSensitiveDetector' ] # mode 1 : With CaloCalibrationHits
-    if ConfigFlags.Detector.SimulateTile:
+    if ConfigFlags.Detector.EnableTile:
         if ConfigFlags.Sim.CalibrationRun in ['Tile', 'LAr+Tile']:
             accTileCTB = TileCTBGeoG4CalibSDCfg(ConfigFlags)
             SensitiveDetectorList += [ result.popToolsAndMerge( accTileCTB ) ] # mode 1 : With CaloCalibrationHits
@@ -325,7 +325,7 @@ def generateTestBeamSensitiveDetectorList(ConfigFlags):
             SensitiveDetectorList += [ result.popToolsAndMerge( accTileCTB ) ]      # mode 0 : No CaloCalibrationHits
             SensitiveDetectorList += [ 'MuonWallSD' ]
     #if ConfigFlags.Detector.geometry.Muon_on():
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.EnableMuon:
         SensitiveDetectorList += [ 'MuonEntryRecord' ]
     SensitiveDetectorList += generateMuonSensitiveDetectorList(ConfigFlags)
 
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
index 8dc6b69d143418e9d81019144dad06d99e9a06dc..78642375f05ae57b8b0c02d09be97c997b91ee30 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
@@ -289,7 +289,7 @@ def ForwardRegionEnvelopeCfg(ConfigFlags, name='ForwardRegion', **kwargs):
     kwargs.setdefault("DetectorName", "ForDetEnvelope")
     SubDetectorList=[]
 
-    if ConfigFlags.Detector.SimulateFwdRegion:
+    if ConfigFlags.Detector.GeometryFwdRegion: # I.e. fully simulate the FwdRegion rather than using BeamTransport to get to Forward Detectors
         toolFwdRegion = result.popToolsAndMerge(FwdRegionGeoDetectorToolCfg(ConfigFlags))
         SubDetectorList += [ toolFwdRegion ]
 
@@ -327,7 +327,7 @@ def MUONEnvelopeCfg(ConfigFlags, name="MUONQ02", **kwargs): #FIXME rename to MUO
     kwargs.setdefault("OuterRadii", [1500.,1500.,2750.,2750.,12650.,12650.,13400.,13400.,14200.,14200.,14200.,14200.,14200.,14200.,14200.,14200.,13000.,13000.,14200.,14200.,14200.,14200.,14200.,14200.,14200.,14200.,13400.,13400.,12650.,12650.,2750.,2750.,1500.,1500.]) #FIXME Units?
     kwargs.setdefault("ZSurfaces", [-26046.,-23001.,-23001.,-22030.,-22030.,-18650.,-18650.,-12900.,-12900.,-6783.,-6783.,-calolim,-calolim,-6550.,-6550.,-4000.,-4000.,4000.,4000.,6550.,6550.,calolim,calolim,6783.,6783.,12900.,12900.,18650.,18650.,22030.,22030.,23001.,23001.,26046.]) #FIXME Units?
     SubDetectorList=[]
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.GeometryMuon:
         toolMuon = result.popToolsAndMerge(MuonGeoDetectorToolCfg(ConfigFlags))
         SubDetectorList += [ toolMuon ]
 
@@ -355,28 +355,28 @@ def generateSubDetectorList(ConfigFlags):
         if ConfigFlags.Beam.Type == 'cosmics' and ConfigFlags.Sim.ReadTR:
             SubDetectorList += [ CosmicShortCutCfg(ConfigFlags) ]
 
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.GeometryMuon:
         accMuon = MUONEnvelopeCfg(ConfigFlags)
         toolMuon = accMuon.popPrivateTools()
         SubDetectorList += [ toolMuon ] #FIXME rename to MUON when safe
-    if ConfigFlags.Detector.SimulateID:
+    if ConfigFlags.Detector.GeometryID:
         toolIDET = result.popToolsAndMerge(IDETEnvelopeCfg(ConfigFlags))
         SubDetectorList += [ toolIDET ]
-    if ConfigFlags.Detector.SimulateITk:
+    if ConfigFlags.Detector.GeometryITk:
         toolITK = result.popToolsAndMerge(ITKEnvelopeCfg(ConfigFlags))
         SubDetectorList += [ toolITK ]
-    if ConfigFlags.Detector.SimulateCalo:
+    if ConfigFlags.Detector.GeometryCalo:
         toolCALO = result.popToolsAndMerge(CALOEnvelopeCfg(ConfigFlags))
         SubDetectorList += [ toolCALO ]
-    if ConfigFlags.Detector.SimulateMuon:
+    if ConfigFlags.Detector.GeometryMuon:
         result.merge(accMuon) #add the acc later to match the old style config
-    if ConfigFlags.Detector.SimulateBpipe:
+    if ConfigFlags.Detector.GeometryBpipe:
         toolBpipe = result.popToolsAndMerge(BeamPipeGeoDetectorToolCfg(ConfigFlags))
         SubDetectorList += [ toolBpipe ]
     if ConfigFlags.Detector.GeometryLucid:
         toolLucid = result.popToolsAndMerge(LucidGeoDetectorToolCfg(ConfigFlags))
         SubDetectorList += [ toolLucid ]
-    if ConfigFlags.Detector.SimulateForward:
+    if ConfigFlags.Detector.GeometryForward:
         toolForward = result.popToolsAndMerge(ForwardRegionEnvelopeCfg(ConfigFlags))
         SubDetectorList += [ toolForward ]
 
@@ -403,11 +403,11 @@ def ATLASEnvelopeCfg(ConfigFlags, name="Atlas", **kwargs):
     AtlasForwardOuterR = 2751.
     AtlasOuterR1 = 14201.
     AtlasOuterR2 = 14201.
-    if ConfigFlags.Beam.Type != 'cosmics' and not ConfigFlags.Detector.SimulateMuon and not \
+    if ConfigFlags.Beam.Type != 'cosmics' and not ConfigFlags.Detector.GeometryMuon and not \
        (ConfigFlags.Sim.CavernBG != 'Signal'):
         AtlasOuterR1 = 4251.
         AtlasOuterR2 = 4251.
-        if not ConfigFlags.Detector.SimulateCalo:
+        if not ConfigFlags.Detector.GeometryCalo:
             AtlasOuterR1 = 1150.
             AtlasOuterR2 = 1150.
 
@@ -434,7 +434,7 @@ def ATLASEnvelopeCfg(ConfigFlags, name="Atlas", **kwargs):
     ## ZSurfaces
     zSurfaces = [-26046., -23001., -23001., -22031., -22031., -12899., -12899., -6741., -6741.,  6741.,  6741.,  12899., 12899., 22031., 22031., 23001., 23001., 26046.] # FIXME units mm??
 
-    if ConfigFlags.Detector.SimulateForward:
+    if ConfigFlags.Detector.GeometryForward:
         zSurfaces[0]  = -400000.
         zSurfaces[17] =  400000.
 
diff --git a/Simulation/G4Sim/MCTruthBase/python/MCTruthBaseConfigNew.py b/Simulation/G4Sim/MCTruthBase/python/MCTruthBaseConfigNew.py
index ffccd207f10f0e201bf029837f99eda9df30c793..59d32a72dcbd2a8cfc4cf061bd794c66ead20622 100644
--- a/Simulation/G4Sim/MCTruthBase/python/MCTruthBaseConfigNew.py
+++ b/Simulation/G4Sim/MCTruthBase/python/MCTruthBaseConfigNew.py
@@ -38,9 +38,9 @@ def getEnvelopeMap(ConfigFlags):
                         elif simFlags.CosmicFilterVolumeName2 == "Pixel":
                             envelopeMap['Pixel::Pixel'] = 'PixelEntryLayer'"""
     if not ConfigFlags.Sim.ISFRun:
-        if ConfigFlags.Detector.SimulateID:
+        if ConfigFlags.Detector.GeometryID:
             envelopeMap['IDET::IDET'] = 'CaloEntryLayer'
-        if ConfigFlags.Detector.SimulateCalo:
+        if ConfigFlags.Detector.GeometryCalo:
             envelopeMap['CALO::CALO'] = 'MuonEntryLayer'
         if ConfigFlags.Detector.GeometryMuon: #was geometry in old style, should it be?
             envelopeMap['MUONQ02::MUONQ02'] = 'MuonExitLayer'
diff --git a/Simulation/ISF/ISF_Config/test/ISF_MainConfigNew_Test.py b/Simulation/ISF/ISF_Config/test/ISF_MainConfigNew_Test.py
index 0457b316beb54b022646a573b3885f5da015c17d..d8e0c7afe5def2ef2445b3c7e177aa592f6b55aa 100644
--- a/Simulation/ISF/ISF_Config/test/ISF_MainConfigNew_Test.py
+++ b/Simulation/ISF/ISF_Config/test/ISF_MainConfigNew_Test.py
@@ -79,74 +79,9 @@ if __name__ == '__main__':
     from ISF_Config.ISF_MainConfigNew import Kernel_FullG4MTCfg
     cfg.merge(Kernel_FullG4MTCfg(ConfigFlags))
 
-    from TileGeoG4SD.TileGeoG4SDToolConfig import TileGeoG4SDCalcCfg
-    cfg.merge(TileGeoG4SDCalcCfg(ConfigFlags))
-
-    
-
-    #Add to item list 
-    #TODO - make a separate function (combine with G4AtlasAlg one?)
-    ItemList = ["EventInfo#*",
-                "McEventCollection#TruthEvent",
-                "JetCollection#*"]
-
-    if ConfigFlags.Sim.IncludeParentsInG4Event:
-        ItemList += ["McEventCollection#GEN_EVENT"]
-
-    ItemList += ["xAOD::JetContainer#*",
-                 "xAOD::JetAuxContainer#*"]
-
-    if ConfigFlags.Detector.SimulateID:
-        ItemList += ["SiHitCollection#*",
-                     "TRTUncompressedHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateITk:
-        ItemList += ["SiHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateCalo:
-        ItemList += ["CaloCalibrationHitContainer#*",
-                     "LArHitContainer#*",
-                     "TileHitVector#*",
-                     "TrackRecordCollection#MuonEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateMuon:
-        ItemList += ["RPCSimHitCollection#*",
-                     "TGCSimHitCollection#*",
-                     "MDTSimHitCollection#*",
-                     "TrackRecordCollection#MuonExitLayer"]
-        if ConfigFlags.Detector.GeometryCSC:
-            ItemList += ["CSCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometrysTGC:
-            ItemList += ["sTGCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometryMM:
-            ItemList += ["MMSimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateLucid:
-        ItemList += ["LUCID_SimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateFwdRegion:
-        ItemList += ["SimulationHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateZDC:
-        ItemList += ["ZDC_SimPixelHit_Collection#*",
-                     "ZDC_SimStripHit_Collection#*"]
-
-    if ConfigFlags.Detector.SimulateALFA:
-        ItemList += ["ALFA_HitCollection#*",
-                     "ALFA_ODHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateAFP:
-        ItemList += ["AFP_TDSimHitCollection#*",
-                     "AFP_SIDSimHitCollection#*"]
-
-    # TimingAlg
-    ItemList += ["RecoTimingObj#EVNTtoHITS_timings"]
-
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=ItemList, disableEventTag=True) )
-
+    from SimuJobTransforms.SimOutputConfig import getStreamHITS_ItemList
+    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=getStreamHITS_ItemList(ConfigFlags), disableEventTag=True) )
 
     # FIXME hack to match to buggy behaviour in old style configuration
     OutputStreamHITS = cfg.getEventAlgo("OutputStreamHITS")
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
index 3e48c60a846b3cc96dd19279455d672bcc8bc798..658bed12130614a146386ee3fcd4c479ad3dfe08 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
+++ b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
@@ -39,11 +39,11 @@ def GenParticleFiltersToolCfg(ConfigFlags):
         if ConfigFlags.Beam.Type != "cosmics":
             acc = ParticlePositionFilterDynamicCfg(ConfigFlags)
             genParticleFilterList += [result.popToolsAndMerge(acc)]
-            if not (ConfigFlags.Detector.SimulateAFP or
-               ConfigFlags.Detector.SimulateALFA or
-               ConfigFlags.Detector.SimulateFwdRegion) and \
+            if not (ConfigFlags.Detector.GeometryAFP or
+               ConfigFlags.Detector.GeometryALFA or
+               ConfigFlags.Detector.GeometryFwdRegion) and \
                ((ConfigFlags.Sim.CavernBG in ("Off", "Signal")) and
-               (not ConfigFlags.Detector.SimulateCavern)):
+               (not ConfigFlags.Detector.GeometryCavern)):
                 acc = EtaPhiFilterCfg(ConfigFlags)
                 genParticleFilterList += [result.popToolsAndMerge(acc)]
     acc = GenParticleInteractingFilterCfg(ConfigFlags)
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/test/FastCaloSimServicesTest.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/test/FastCaloSimServicesTest.py
index a21c9c5ae891d8f549b820b3f14f8718fec8e57e..bd79d9936b172709fc3b1976d44d3bf885cb6462 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/test/FastCaloSimServicesTest.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/test/FastCaloSimServicesTest.py
@@ -39,67 +39,9 @@ def FastCaloSimServicesMainCfg(ConfigFlags):
     from ISF_Config.ISF_MainConfigNew import Kernel_G4FastCaloMT
     acc.merge(Kernel_G4FastCaloMT(ConfigFlags))
 
-    ItemList = ["EventInfo#*",
-                "McEventCollection#TruthEvent",
-                "JetCollection#*"]
-
-    if ConfigFlags.Sim.IncludeParentsInG4Event:
-        ItemList += ["McEventCollection#GEN_EVENT"]
-
-    ItemList += ["xAOD::JetContainer#*",
-                 "xAOD::JetAuxContainer#*"]
-
-    if ConfigFlags.Detector.SimulateID:
-        ItemList += ["SiHitCollection#*",
-                     "TRTUncompressedHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateITk:
-        ItemList += ["SiHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateCalo:
-        ItemList += ["CaloCalibrationHitContainer#*",
-                     "LArHitContainer#*",
-                     "TileHitVector#*",
-                     "TrackRecordCollection#MuonEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateMuon:
-        ItemList += ["RPCSimHitCollection#*",
-                     "TGCSimHitCollection#*",
-                     "MDTSimHitCollection#*",
-                     "TrackRecordCollection#MuonExitLayer"]
-        if ConfigFlags.Detector.GeometryCSC:
-            ItemList += ["CSCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometrysTGC:
-            ItemList += ["sTGCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometryMM:
-            ItemList += ["MMSimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateLucid:
-        ItemList += ["LUCID_SimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateFwdRegion:
-        ItemList += ["SimulationHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateZDC:
-        ItemList += ["ZDC_SimPixelHit_Collection#*",
-                     "ZDC_SimStripHit_Collection#*"]
-
-    if ConfigFlags.Detector.SimulateALFA:
-        ItemList += ["ALFA_HitCollection#*",
-                     "ALFA_ODHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateAFP:
-        ItemList += ["AFP_TDSimHitCollection#*",
-                     "AFP_SIDSimHitCollection#*"]
-
-    # TimingAlg
-    ItemList += ["RecoTimingObj#EVNTtoHITS_timings"]
-
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    acc.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=ItemList, disableEventTag=True) )
-
+    from SimuJobTransforms.SimOutputConfig import getStreamHITS_ItemList
+    acc.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=getStreamHITS_ItemList(ConfigFlags), disableEventTag=True) )
 
     # FIXME hack to match to buggy behaviour in old style configuration
     OutputStreamHITS = acc.getEventAlgo("OutputStreamHITS")
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
index 8cc9909d99c52d0b51a8c8e7add6f356f0890011..b4d4a9b24fa33225febf43bc28898ce579f84bb6 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
@@ -84,12 +84,12 @@ def ParticlePositionFilterWorldCfg(ConfigFlags, name="ISF_ParticlePositionFilter
 def ParticlePositionFilterDynamicCfg(ConfigFlags, name="ISF_ParticlePositionFilterDynamic", **kwargs):
     # automatically choose the best fitting filter region
 
-    #if ConfigFlags.Detector.SimulateMuon:
+    #if ConfigFlags.Detector.EnableMuon:
     if True:
       return ParticlePositionFilterWorldCfg(ConfigFlags, name, **kwargs)
-    elif ConfigFlags.Detector.SimulateCalo:
+    elif ConfigFlags.Detector.EnableCalo:
       return ParticlePositionFilterCaloCfg(ConfigFlags, name, **kwargs)
-    elif ConfigFlags.Detector.SimulateID:
+    elif ConfigFlags.Detector.EnableID:
       return ParticlePositionFilterIDCfg(ConfigFlags, name, **kwargs)
     else:
       return ParticlePositionFilterWorldCfg(ConfigFlags, name, **kwargs)
@@ -111,7 +111,7 @@ def GenParticleInteractingFilterCfg(ConfigFlags, name="ISF_GenParticleInteractin
 def EtaPhiFilterCfg(ConfigFlags, name="ISF_EtaPhiFilter", **kwargs):
     result = ComponentAccumulator()
     # EtaPhiFilter
-    EtaRange = 7.0 if ConfigFlags.Detector.SimulateLucid else 6.0
+    EtaRange = 7.0 if ConfigFlags.Detector.EnableLucid else 6.0
     kwargs.setdefault("MinEta" , -EtaRange)
     kwargs.setdefault("MaxEta" , EtaRange)
     kwargs.setdefault("MaxApplicableRadius", 30*mm)
diff --git a/Simulation/SimuJobTransforms/python/G4AtlasAlg_Skeleton.py b/Simulation/SimuJobTransforms/python/G4AtlasAlg_Skeleton.py
index 6b0b4766e0208fc798718eb079a52dcbcf8164bf..cb98efe38ec2ffa069d64489e71d717905b34c2b 100644
--- a/Simulation/SimuJobTransforms/python/G4AtlasAlg_Skeleton.py
+++ b/Simulation/SimuJobTransforms/python/G4AtlasAlg_Skeleton.py
@@ -120,78 +120,15 @@ def fromRunArgs(runArgs):
     from G4AtlasAlg.G4AtlasAlgConfigNew import G4AtlasAlgCfg
     cfg.merge(G4AtlasAlgCfg(ConfigFlags))
 
-    from TileGeoG4SD.TileGeoG4SDToolConfig import TileGeoG4SDCalcCfg
-    cfg.merge(TileGeoG4SDCalcCfg(ConfigFlags))
-
-    #Add to item list
-    #TODO - make a separate function (combine with G4AtlasAlg one?)
-    ItemList = ["EventInfo#*",
-                "McEventCollection#TruthEvent",
-                "JetCollection#*"]
-
-    if ConfigFlags.Sim.IncludeParentsInG4Event:
-        ItemList += ["McEventCollection#GEN_EVENT"]
-
-    ItemList += ["xAOD::JetContainer#*",
-                 "xAOD::JetAuxContainer#*"]
-
-    if ConfigFlags.Detector.SimulateID:
-        ItemList += ["SiHitCollection#*",
-                     "TRTUncompressedHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateITk:
-        ItemList += ["SiHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateCalo:
-        ItemList += ["CaloCalibrationHitContainer#*",
-                     "LArHitContainer#*",
-                     "TileHitVector#*",
-                     "TrackRecordCollection#MuonEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateMuon:
-        ItemList += ["RPCSimHitCollection#*",
-                     "TGCSimHitCollection#*",
-                     "MDTSimHitCollection#*",
-                     "TrackRecordCollection#MuonExitLayer"]
-        if ConfigFlags.Detector.GeometryCSC:
-            ItemList += ["CSCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometrysTGC:
-            ItemList += ["sTGCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometryMM:
-            ItemList += ["MMSimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateLucid:
-        ItemList += ["LUCID_SimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateFwdRegion:
-        ItemList += ["SimulationHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateZDC:
-        ItemList += ["ZDC_SimPixelHit_Collection#*",
-                     "ZDC_SimStripHit_Collection#*"]
-
-    if ConfigFlags.Detector.SimulateALFA:
-        ItemList += ["ALFA_HitCollection#*",
-                     "ALFA_ODHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateAFP:
-        ItemList += ["AFP_TDSimHitCollection#*",
-                     "AFP_SIDSimHitCollection#*"]
-
-    # TimingAlg
-    ItemList += ["RecoTimingObj#EVNTtoHITS_timings"]
-
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=ItemList, disableEventTag=True) )
+    from SimuJobTransforms.SimOutputConfig import getStreamHITS_ItemList
+    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=getStreamHITS_ItemList(ConfigFlags), disableEventTag=True) )
 
     # FIXME hack because deduplication is broken
     PoolAttributes = ["TREE_BRANCH_OFFSETTAB_LEN = '100'"]
     PoolAttributes += ["DatabaseName = '" + ConfigFlags.Output.HITSFileName + "'; ContainerName = 'TTree=CollectionTree'; TREE_AUTO_FLUSH = '1'"]
     cfg.getService("AthenaPoolCnvSvc").PoolAttributes += PoolAttributes
 
-
     # Post-include
     processPostInclude(runArgs, ConfigFlags, cfg)
 
diff --git a/Simulation/SimuJobTransforms/python/ISF_Skeleton.py b/Simulation/SimuJobTransforms/python/ISF_Skeleton.py
index 666c1f759a38dcd48660b46f90df8b3669707c52..0f8f4acfe3c768249e4f123faa8f6c6023f4c53a 100644
--- a/Simulation/SimuJobTransforms/python/ISF_Skeleton.py
+++ b/Simulation/SimuJobTransforms/python/ISF_Skeleton.py
@@ -121,78 +121,15 @@ def fromRunArgs(runArgs):
     from ISF_Config.ISF_MainConfigNew import Kernel_FullG4MTCfg
     cfg.merge(Kernel_FullG4MTCfg(ConfigFlags))
 
-    from TileGeoG4SD.TileGeoG4SDToolConfig import TileGeoG4SDCalcCfg
-    cfg.merge(TileGeoG4SDCalcCfg(ConfigFlags))
-
-    #Add to item list
-    #TODO - make a separate function (combine with G4AtlasAlg one?)
-    ItemList = ["EventInfo#*",
-                "McEventCollection#TruthEvent",
-                "JetCollection#*"]
-
-    if ConfigFlags.Sim.IncludeParentsInG4Event:
-        ItemList += ["McEventCollection#GEN_EVENT"]
-
-    ItemList += ["xAOD::JetContainer#*",
-                 "xAOD::JetAuxContainer#*"]
-
-    if ConfigFlags.Detector.SimulateID:
-        ItemList += ["SiHitCollection#*",
-                     "TRTUncompressedHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateITk:
-        ItemList += ["SiHitCollection#*",
-                     "TrackRecordCollection#CaloEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateCalo:
-        ItemList += ["CaloCalibrationHitContainer#*",
-                     "LArHitContainer#*",
-                     "TileHitVector#*",
-                     "TrackRecordCollection#MuonEntryLayer"]
-
-    if ConfigFlags.Detector.SimulateMuon:
-        ItemList += ["RPCSimHitCollection#*",
-                     "TGCSimHitCollection#*",
-                     "MDTSimHitCollection#*",
-                     "TrackRecordCollection#MuonExitLayer"]
-        if ConfigFlags.Detector.GeometryCSC:
-            ItemList += ["CSCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometrysTGC:
-            ItemList += ["sTGCSimHitCollection#*"]
-        if ConfigFlags.Detector.GeometryMM:
-            ItemList += ["MMSimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateLucid:
-        ItemList += ["LUCID_SimHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateFwdRegion:
-        ItemList += ["SimulationHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateZDC:
-        ItemList += ["ZDC_SimPixelHit_Collection#*",
-                     "ZDC_SimStripHit_Collection#*"]
-
-    if ConfigFlags.Detector.SimulateALFA:
-        ItemList += ["ALFA_HitCollection#*",
-                     "ALFA_ODHitCollection#*"]
-
-    if ConfigFlags.Detector.SimulateAFP:
-        ItemList += ["AFP_TDSimHitCollection#*",
-                     "AFP_SIDSimHitCollection#*"]
-
-    # TimingAlg
-    ItemList += ["RecoTimingObj#EVNTtoHITS_timings"]
-
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=ItemList, disableEventTag=True) )
+    from SimuJobTransforms.SimOutputConfig import getStreamHITS_ItemList
+    cfg.merge( OutputStreamCfg(ConfigFlags,"HITS", ItemList=getStreamHITS_ItemList(ConfigFlags), disableEventTag=True) )
 
     # FIXME hack because deduplication is broken
     PoolAttributes = ["TREE_BRANCH_OFFSETTAB_LEN = '100'"]
     PoolAttributes += ["DatabaseName = '" + ConfigFlags.Output.HITSFileName + "'; ContainerName = 'TTree=CollectionTree'; TREE_AUTO_FLUSH = '1'"]
     cfg.getService("AthenaPoolCnvSvc").PoolAttributes += PoolAttributes
 
-
     # Post-include
     processPostInclude(runArgs, ConfigFlags, cfg)
 
diff --git a/Simulation/SimuJobTransforms/python/SimOutputConfig.py b/Simulation/SimuJobTransforms/python/SimOutputConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..287100b3339ce6ba6b30d96464fa33ebffe2e351
--- /dev/null
+++ b/Simulation/SimuJobTransforms/python/SimOutputConfig.py
@@ -0,0 +1,78 @@
+# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+
+
+def getStreamHITS_ItemList(ConfigFlags):
+    #Add to item list
+    #TODO - make a separate function (combine with G4AtlasAlg one?)
+    ItemList = ["EventInfo#*",
+                "McEventCollection#TruthEvent",
+                "JetCollection#*"]
+
+    if ConfigFlags.Sim.IncludeParentsInG4Event:
+        ItemList += ["McEventCollection#GEN_EVENT"]
+
+    ItemList += ["xAOD::JetContainer#*",
+                 "xAOD::JetAuxContainer#*"]
+
+    if ConfigFlags.Detector.EnablePixel or  ConfigFlags.Detector.EnableSCT or \
+       ConfigFlags.Detector.EnableITkPixel or  ConfigFlags.Detector.EnableITkStrip:
+        ItemList += ["SiHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableTRT:
+        ItemList += ["TRTUncompressedHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableID or ConfigFlags.Detector.EnableITk:
+       ItemList += ["TrackRecordCollection#CaloEntryLayer"]
+
+    if ConfigFlags.Detector.EnableCalo:
+        ItemList += ["CaloCalibrationHitContainer#*",
+                     "TrackRecordCollection#MuonEntryLayer"]
+
+    if ConfigFlags.Detector.EnableLAr:
+        ItemList += ["LArHitContainer#*"]
+
+    if ConfigFlags.Detector.EnableTile:
+        ItemList += ["TileHitVector#*"]
+
+    if ConfigFlags.Detector.EnableRPC:
+        ItemList += ["RPCSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableTGC:
+        ItemList += ["TGCSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableMDT:
+        ItemList += ["MDTSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableCSC:
+        ItemList += ["CSCSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnablesTGC:
+        ItemList += ["sTGCSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableMM:
+        ItemList += ["MMSimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableMuon:
+        ItemList += ["TrackRecordCollection#MuonExitLayer"]
+
+    if ConfigFlags.Detector.EnableLucid:
+        ItemList += ["LUCID_SimHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableFwdRegion:
+        ItemList += ["SimulationHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableZDC:
+        ItemList += ["ZDC_SimPixelHit_Collection#*",
+                     "ZDC_SimStripHit_Collection#*"]
+
+    if ConfigFlags.Detector.EnableALFA:
+        ItemList += ["ALFA_HitCollection#*",
+                     "ALFA_ODHitCollection#*"]
+
+    if ConfigFlags.Detector.EnableAFP:
+        ItemList += ["AFP_TDSimHitCollection#*",
+                     "AFP_SIDSimHitCollection#*"]
+
+    # TimingAlg
+    ItemList += ["RecoTimingObj#EVNTtoHITS_timings"]
+    return ItemList