diff --git a/Calorimeter/CaloDetDescr/EcalGeoModel/test/EcalGMConfig_test.py b/Calorimeter/CaloDetDescr/EcalGeoModel/test/EcalGMConfig_test.py
index b4ab4ebaacf509882dd69e83ece2db43695db8a2..94a0ac337a6e3c5fea045076168e61b9dbecc63d 100644
--- a/Calorimeter/CaloDetDescr/EcalGeoModel/test/EcalGMConfig_test.py
+++ b/Calorimeter/CaloDetDescr/EcalGeoModel/test/EcalGMConfig_test.py
@@ -6,18 +6,19 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.Detector.EnableEcal = True
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.Detector.EnableEcal = True
+    #flags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from EcalGeoModel.EcalGeoModelConfig import EcalGeometryCfg
-    acc = EcalGeometryCfg(ConfigFlags)
+    acc = EcalGeometryCfg(configFlags)
     f=open('EcalGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Control/CalypsoConfiguration/python/AllConfigFlags.py b/Control/CalypsoConfiguration/python/AllConfigFlags.py
index 3fd0a09b8d1ceedfdde7c1e83e2c75815c25fbe3..20b6768f7712b5b91f3f97b625f63419cf06c0cb 100644
--- a/Control/CalypsoConfiguration/python/AllConfigFlags.py
+++ b/Control/CalypsoConfiguration/python/AllConfigFlags.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from AthenaConfiguration.AllConfigFlags import ConfigFlags as athenaConfigFlags
+from AthenaConfiguration.AllConfigFlags import initConfigFlags as athenaConfigFlags
 # from AthenaConfiguration.AllConfigFlags import GetFileMD
 # from AthenaConfiguration.AthConfigFlags import AthConfigFlags
 # from AthenaCommon.SystemOfUnits import TeV
@@ -30,7 +30,7 @@ def _addFlagsCategory (acf, name, generator, modName = None):
 def _createCfgFlags():
 
     # acf=AthConfigFlags()
-    fcf = athenaConfigFlags
+    fcf = athenaConfigFlags()
 
     fcf.Input.Files = ["_CALYPSO_GENERIC_INPUTFILE_NAME_",]  # former global.InputFiles
     # acf.addFlag('Input.SecondaryFiles', []) # secondary input files for DoubleEventSelector
@@ -197,19 +197,19 @@ def _createCfgFlags():
 
     return fcf
 
-
-ConfigFlags=_createCfgFlags()
-
-del _createCfgFlags
+def initConfigFlags():
+    fcf = _createCfgFlags()
+    return fcf
 
 if __name__=="__main__":
     import sys
+    flags = initConfigFlags()
     if len(sys.argv)>1:
-        ConfigFlags.Input.Files = sys.argv[1:]
+        flags.Input.Files = sys.argv[1:]
     else:
-        ConfigFlags.Input.Files = [ "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1",]
+        flags.Input.Files = [ "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1",]
     
-    ConfigFlags.loadAllDynamicFlags()
-    ConfigFlags.initAll()
-    ConfigFlags.dump()
+    flags.loadAllDynamicFlags()
+    flags.initAll()
+    flags.dump()
     
diff --git a/Control/CalypsoConfiguration/python/MainServicesConfig.py b/Control/CalypsoConfiguration/python/MainServicesConfig.py
index 1a4e4c1af078ba498e949e2ac082e3baf8a18bb6..75fe5b18155a78db86858df6f49374a0d46283ef 100644
--- a/Control/CalypsoConfiguration/python/MainServicesConfig.py
+++ b/Control/CalypsoConfiguration/python/MainServicesConfig.py
@@ -8,7 +8,7 @@ AthSequencer=CompFactory.AthSequencer
 
 def MainServicesMiniCfg(loopMgr='AthenaEventLoopMgr', masterSequence='AthAlgSeq'):
     #Mininmal basic config, just good enough for HelloWorld and alike
-    cfg=ComponentAccumulator(masterSequence)
+    cfg=ComponentAccumulator(CompFactory.AthSequencer(masterSequence,Sequential=True))
     cfg.setAsTopLevel()
     cfg.setAppProperty('TopAlg',['AthSequencer/'+masterSequence])
     cfg.setAppProperty('MessageSvcType', 'MessageSvc')
diff --git a/Control/CalypsoConfiguration/python/testDetectorFlags.py b/Control/CalypsoConfiguration/python/testDetectorFlags.py
index ab8c1e99cf6373e09dc02b94fd72d2560df187d2..00ced8138df8e00fbd85b5231215b4ea6b060e1d 100644
--- a/Control/CalypsoConfiguration/python/testDetectorFlags.py
+++ b/Control/CalypsoConfiguration/python/testDetectorFlags.py
@@ -1,18 +1,19 @@
 #!/usr/bin/env python 
 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList, enableDetectors, disableDetectors
 
-ConfigFlags._loadDynaFlags('GeoModel')
-ConfigFlags._loadDynaFlags('Detector')
+configFlags = initConfigFlags()
+configFlags._loadDynaFlags('GeoModel')
+configFlags._loadDynaFlags('Detector')
 
 test_tags = [
     'FASER-00',
     'FASER-01'   # example 
 ]
 
-flags_runs = {t: ConfigFlags.clone() for t in test_tags}
+flags_runs = {t: configFlags.clone() for t in test_tags}
 
 for tag in test_tags:
     flags = flags_runs[tag]
diff --git a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
index ba346d711904794546510d0135474d2ee2cefb0e..8fb575c0caa6afa0b6e9ee0e08b0d8a22b199f61 100755
--- a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
+++ b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
@@ -55,33 +55,34 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = True                    # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = True                    # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "mc20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Digitization.TruthOutput = True
+configFlags.Input.ProjectName = "mc20"
+#configFlags.GeoModel.Align.Dynamic    = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Digitization.TruthOutput = True
 
 # TI12 old geometry
 if runtype == "TI12OldMC":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+    configFlags.GeoModel.FaserVersion = "FASER-TB00" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12MC":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
     print("Invalid run type found:", runtype)
@@ -89,7 +90,7 @@ else:
     sys.exit(-1)
 
 # Must use original input string here, as pathlib mangles double // in path names
-ConfigFlags.Input.Files = [ args.file_path ]
+configFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
 # Remove any filetype modifier
@@ -103,12 +104,12 @@ if len(args.tag) > 0:
     else:
         filestem += f"-{args.tag}"
 
-ConfigFlags.Output.RDOFileName = f"{filestem}-RDO.root"
+configFlags.Output.RDOFileName = f"{filestem}-RDO.root"
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
@@ -116,33 +117,33 @@ from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Set up algorithms
 from FaserSCT_Digitization.FaserSCT_DigitizationConfigNew import FaserSCT_DigitizationCfg
-acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
+acc.merge(FaserSCT_DigitizationCfg(configFlags))
 
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
 if args.highCaloGain:
     calo_norm = 25.
 else:
     calo_norm =  5.
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, CB_norm=calo_norm))
+acc.merge(CaloWaveformDigitizationCfg(configFlags, CB_norm=calo_norm))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags))
+acc.merge(ScintWaveformDigitizationCfg(configFlags))
 
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 
 else:
     acc.foreach_component("*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
index 686ab1a8d6b3ce790c4ac5c902e847550779101f..b73fc7ee8c768973a9c33c714dce14884fb40bbd 100755
--- a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
+++ b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
@@ -128,33 +128,34 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = True                    # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = True                    # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "mc20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Digitization.TruthOutput = True
+configFlags.Input.ProjectName = "mc20"
+#configFlags.GeoModel.Align.Dynamic    = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Digitization.TruthOutput = True
 
 # TI12 old geometry
 if runtype == "TI12OldMC":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+    configFlags.GeoModel.FaserVersion = "FASER-TB00" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12MC":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
     print("Invalid run type found:", runtype)
@@ -163,14 +164,14 @@ else:
 
 
 # Try just passing the filelist
-ConfigFlags.Input.Files = [str(file) for file in filelist]
-ConfigFlags.Output.RDOFileName = outfile
+configFlags.Input.Files = [str(file) for file in filelist]
+configFlags.Output.RDOFileName = outfile
 
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
@@ -178,33 +179,33 @@ from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Set up algorithms
 from FaserSCT_Digitization.FaserSCT_DigitizationConfigNew import FaserSCT_DigitizationCfg
-acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
+acc.merge(FaserSCT_DigitizationCfg(configFlags))
 
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
 if args.highCaloGain:
     calo_norm = 25.
 else:
     calo_norm =  5.
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, CB_norm=calo_norm))
+acc.merge(CaloWaveformDigitizationCfg(configFlags, CB_norm=calo_norm))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags))
+acc.merge(ScintWaveformDigitizationCfg(configFlags))
 
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 
 else:
     acc.foreach_component("*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Digitization/scripts/faser_digi.py b/Control/CalypsoExample/Digitization/scripts/faser_digi.py
index 35f08be83f82ceba9ad9b7c441a3be9702400d58..cdd58d611d21159b5e8f378f58182855bb477194 100755
--- a/Control/CalypsoExample/Digitization/scripts/faser_digi.py
+++ b/Control/CalypsoExample/Digitization/scripts/faser_digi.py
@@ -58,37 +58,38 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = True                    # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = True                    # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "mc20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Digitization.TruthOutput = True
+configFlags.Input.ProjectName = "mc20"
+#configFlags.GeoModel.Align.Dynamic    = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Digitization.TruthOutput = True
 
 # TI12 old geometry
 if runtype == "TI12OldMC":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
+    configFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12MC" or runtype == "TI12MC04":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+    configFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
 
 elif runtype == "TI12MC03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
     print("Invalid geometry type found:", runtype)
@@ -96,7 +97,7 @@ else:
     sys.exit(-1)
 
 # Must use original input string here, as pathlib mangles double // in path names
-ConfigFlags.Input.Files = [ args.file_path ]
+configFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
 # Remove any filetype modifier
@@ -143,12 +144,12 @@ if len(args.tag) > 0:
     else:
         filestem += f"-{args.tag}"
 
-ConfigFlags.Output.RDOFileName = f"{filestem}-RDO.root"
+configFlags.Output.RDOFileName = f"{filestem}-RDO.root"
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
@@ -156,18 +157,18 @@ from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Set up algorithms
 from FaserSCT_Digitization.FaserSCT_DigitizationConfigNew import FaserSCT_DigitizationCfg
-acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
+acc.merge(FaserSCT_DigitizationCfg(configFlags))
 
 # Set the time offset for SCT RDOs
 pualg = acc.getEventAlgo("StandardPileUpToolsAlg")
@@ -175,15 +176,15 @@ pualg.PileUpTools['FaserSCT_DigitizationTool'].SurfaceChargesGenerator.SubtractT
 
 # Pass something to set folder tag
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
+acc.merge(CaloWaveformDigitizationCfg(configFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
+acc.merge(ScintWaveformDigitizationCfg(configFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 
 else:
     acc.foreach_component("*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py b/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
index 601e7e0e62826a16fe9b5bbee1dc9a6e066e7267..4a496b7d8cfe6847046c56b75f3c76aba6946e84 100755
--- a/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
+++ b/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
@@ -168,37 +168,38 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = True                    # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = True                    # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "mc20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Digitization.TruthOutput = True
+configFlags.Input.ProjectName = "mc20"
+#configFlags.GeoModel.Align.Dynamic    = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Digitization.TruthOutput = True
 
 # TI12 old geometry
 if runtype == "TI12OldMC":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
+    configFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12MC" or runtype == "TI12MC04":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+    configFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
 
 elif runtype == "TI12MC03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # Old geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" # New geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
     print("Invalid geometry type found:", runtype)
@@ -208,17 +209,17 @@ else:
 
 # Try just passing the filelist
 if args.dir_path[:22] == '/eos/experiment/faser/':
-    ConfigFlags.Input.Files = [f"root://eospublic.cern.ch/{str(file)}" for file in filelist]
+    configFlags.Input.Files = [f"root://eospublic.cern.ch/{str(file)}" for file in filelist]
 else:
-    ConfigFlags.Input.Files = [str(file) for file in filelist]
+    configFlags.Input.Files = [str(file) for file in filelist]
 
-ConfigFlags.Output.RDOFileName = outfile
+configFlags.Output.RDOFileName = outfile
 
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
@@ -226,18 +227,18 @@ from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Set up algorithms
 from FaserSCT_Digitization.FaserSCT_DigitizationConfigNew import FaserSCT_DigitizationCfg
-acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
+acc.merge(FaserSCT_DigitizationCfg(configFlags))
 
 # Set the time offset for SCT RDOs
 pualg = acc.getEventAlgo("StandardPileUpToolsAlg")
@@ -245,15 +246,15 @@ pualg.PileUpTools['FaserSCT_DigitizationTool'].SurfaceChargesGenerator.SubtractT
 
 # Pass something to set folder tag
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
+acc.merge(CaloWaveformDigitizationCfg(configFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
+acc.merge(ScintWaveformDigitizationCfg(configFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 
 else:
     acc.foreach_component("*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GenEventExample/python/GenEventReadExampleConfig.py b/Control/CalypsoExample/GenEventExample/python/GenEventReadExampleConfig.py
index 89b1bcdfa94f1209b9f36dea2d01432a3465e442..393b2bd2e4f77d6528598f0fb3367d49eebba393 100644
--- a/Control/CalypsoExample/GenEventExample/python/GenEventReadExampleConfig.py
+++ b/Control/CalypsoExample/GenEventExample/python/GenEventReadExampleConfig.py
@@ -20,29 +20,30 @@ def GenEventReadExampleCfg(flags, name="GenEventReadExampleAlg", **kwargs):
 
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-04"           # Default FASER geometry
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    ConfigFlags.Input.Files = ["my.cosmics.pool.root"]
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-04"           # Default FASER geometry
+    # configFlags.Detector.EnableFaserSCT = True
+    configFlags.Input.Files = ["my.cosmics.pool.root"]
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(GenEventReadExampleCfg(ConfigFlags))
+    acc.merge(GenEventReadExampleCfg(configFlags))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     # acc.foreach_component("*").OutputLevel = VERBOSE
     # acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Generation/scripts/faserMDC_foresee.py b/Control/CalypsoExample/Generation/scripts/faserMDC_foresee.py
index dc236537976aa594b047072fec7fce7035a144af..28f438cd56d18dc87834fb14aecf0fb72fa71e97 100755
--- a/Control/CalypsoExample/Generation/scripts/faserMDC_foresee.py
+++ b/Control/CalypsoExample/Generation/scripts/faserMDC_foresee.py
@@ -42,43 +42,45 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Exec.MaxEvents = nevents
-    ConfigFlags.Exec.SkipEvents = nskipped
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    
+    configFlags = initConfigFlags()
+    configFlags.Exec.MaxEvents = nevents
+    configFlags.Exec.SkipEvents = nskipped
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [args.run] #Isn't updating - todo: investigate
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [(args.segment+1)]
-    ConfigFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [args.run] #Isn't updating - todo: investigate
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [(args.segment+1)]
+    configFlags.Input.isMC = True
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = args.outfile
+    configFlags.Output.HITSFileName = args.outfile
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = "FTFP_BERT"
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
 
     # Property bag for particle gun keyword:argument pairs
     # Apply +12mm vertical shift (to get to FASER CL)
     # And 150 uRad crossing angle (Jamie claims this is half-angle)
-    ConfigFlags.addFlag("Sim.Gun",{"Generator" : "Foresee"})  
-    ConfigFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", -0.000150)    
-    ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", 12.) 
+    configFlags.addFlag("Sim.Gun",{"Generator" : "Foresee"})  
+    configFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", -0.000150)    
+    configFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", 12.) 
 
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"   # Geometry set-up
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"   # Conditions set-up
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)   # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"   # Geometry set-up
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"   # Conditions set-up
+    configFlags.addFlag("Input.InitialTimeStamp", 0)   # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 
 #
 # Preset particle gun parameters
@@ -97,7 +99,7 @@ if __name__ == '__main__':
 
     # Note the mother mass here is in GeV for some reason
     import ParticleGun as PG
-    ConfigFlags.Sim.Gun = {
+    configFlags.Sim.Gun = {
         "Generator" : "Foresee",
         "model_path" : args.model_path,
         "model_name" : args.model,
@@ -111,15 +113,15 @@ if __name__ == '__main__':
     # To get all the material currently defined in front, specify -5m.
     # Note zpos is in mm!
     #if args.zpos:
-    #    ConfigFlags.Sim.Gun["z"] = args.zpos
+    #    configFlags.Sim.Gun["z"] = args.zpos
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 
     if doShiftLOS:
-        pgConfig = ConfigFlags.Sim.Gun
+        pgConfig = configFlags.Sim.Gun
         pgConfig["McEventKey"] = "BeamTruthEvent_ATLASCoord"
-        ConfigFlags.Sim.Gun = pgConfig
+        configFlags.Sim.Gun = pgConfig
 
 #
 # MDC geometry configuration
@@ -129,16 +131,16 @@ if __name__ == '__main__':
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 #
 # Configure the particle gun as requested, or using defaults
 #
@@ -147,15 +149,15 @@ if __name__ == '__main__':
 # Particle gun generators - the generator, energy, angle, particle type, position, etc can be modified by passing keyword arguments
 #
     from FaserParticleGun.FaserParticleGunConfig import FaserParticleGunCfg
-    cfg.merge(FaserParticleGunCfg(ConfigFlags))
+    cfg.merge(FaserParticleGunCfg(configFlags))
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-    cfg.merge(McEventSelectorCfg(ConfigFlags))
+    cfg.merge(McEventSelectorCfg(configFlags))
 
 #
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -165,18 +167,18 @@ if __name__ == '__main__':
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
 
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, 
-                              ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift,
-                              yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, 
+                              ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift,
+                              yshift = configFlags.Sim.Beam.yshift))
 
     
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+    cfg.merge(G4FaserAlgCfg(configFlags))
 #
 # Dump config
 #
@@ -186,7 +188,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     #f = open("test.pkl","wb")
     #cfg.store(f)
     #f.close()
diff --git a/Control/CalypsoExample/Generation/scripts/faserMDC_particlegun.py b/Control/CalypsoExample/Generation/scripts/faserMDC_particlegun.py
index beda1d6eb8cc53845a28b0d3223402df6c1ff4b7..1f0c9c37f9360304cb3f6d9cdaef2866cf6b8058 100755
--- a/Control/CalypsoExample/Generation/scripts/faserMDC_particlegun.py
+++ b/Control/CalypsoExample/Generation/scripts/faserMDC_particlegun.py
@@ -42,39 +42,41 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Exec.MaxEvents = nevents
-    ConfigFlags.Exec.SkipEvents = nskipped
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+
+    configFlags = initConfigFlags()
+    configFlags.Exec.MaxEvents = nevents
+    configFlags.Exec.SkipEvents = nskipped
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [args.run] 
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [(args.segment+1)]
-    ConfigFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [args.run] 
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [(args.segment+1)]
+    configFlags.Input.isMC = True
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = args.outfile
+    configFlags.Output.HITSFileName = args.outfile
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
-    ConfigFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
-    ConfigFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", 0)    
-    ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", 0)        
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = "FTFP_BERT"
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
+    configFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", 0)    
+    configFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", 0)        
 
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"   # Geometry set-up
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"   # Conditions set-up
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)   # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"   # Geometry set-up
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"   # Conditions set-up
+    configFlags.addFlag("Input.InitialTimeStamp", 0)   # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 
 #
 # Preset particle gun parameters
@@ -121,16 +123,16 @@ if __name__ == '__main__':
         print(f"Sampler {args.sampler} not known!")
         sys.exit(1)
 
-    # Pass this in one go to ConfigFlags
-    ConfigFlags.Sim.Gun = sg_dict
+    # Pass this in one go to configFlags
+    configFlags.Sim.Gun = sg_dict
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 
     if doShiftLOS:
-        pgConfig = ConfigFlags.Sim.Gun
+        pgConfig = configFlags.Sim.Gun
         pgConfig["McEventKey"] = "BeamTruthEvent_ATLASCoord"
-        ConfigFlags.Sim.Gun = pgConfig
+        configFlags.Sim.Gun = pgConfig
 
 #
 # MDC geometry configuration
@@ -140,16 +142,16 @@ if __name__ == '__main__':
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 #
 # Configure the particle gun as requested, or using defaults
 #
@@ -158,15 +160,15 @@ if __name__ == '__main__':
 # Particle gun generators - the generator, energy, angle, particle type, position, etc can be modified by passing keyword arguments
 #
     from FaserParticleGun.FaserParticleGunConfig import FaserParticleGunCfg
-    cfg.merge(FaserParticleGunCfg(ConfigFlags))
+    cfg.merge(FaserParticleGunCfg(configFlags))
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-    cfg.merge(McEventSelectorCfg(ConfigFlags))
+    cfg.merge(McEventSelectorCfg(configFlags))
 
 #
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -176,18 +178,18 @@ if __name__ == '__main__':
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
 
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, 
-                              ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift,
-                              yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, 
+                              ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift,
+                              yshift = configFlags.Sim.Beam.yshift))
 
     
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+    cfg.merge(G4FaserAlgCfg(configFlags))
 #
 # Dump config
 #
@@ -197,7 +199,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     #f = open("test.pkl","wb")
     #cfg.store(f)
     #f.close()
diff --git a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
index 11a3141ad788db6b32c3c484c3dcfaead46bd42e..0125cde62a5f8ca3e96106639bcf52c43334fb02 100755
--- a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
+++ b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
@@ -44,56 +44,58 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Exec.MaxEvents = nevents
-    ConfigFlags.Exec.SkipEvents = nskipped
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    
+    configFlags = initConfigFlags()
+    configFlags.Exec.MaxEvents = nevents
+    configFlags.Exec.SkipEvents = nskipped
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [args.run] 
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [(args.segment+1)]
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions
+    configFlags.Input.RunNumber = [args.run] 
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [(args.segment+1)]
+    configFlags.Input.isMC = True
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = args.outfile
+    configFlags.Output.HITSFileName = args.outfile
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
-    ConfigFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
-    ConfigFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", 0)    
-    ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", 0)        
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = "FTFP_BERT"
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
+    configFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", 0)    
+    configFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", 0)        
 
     if args.geom == "TI12MC" or args.geom == "TI12MC04":
         # New TI12 geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
         # TI12 detectors
         detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 'Trigger', 
                      'Dipole', 'Emulsion', 'Trench']
 
     elif args.geom == "TI12MC03":
         # 2022 TI12 geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
         # TI12 detectors
         detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 'Trigger', 
                      'Dipole', 'Emulsion', 'Trench']
 
     elif args.geom == "TestBeamMC":
         # Define 2021 test beam geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"   # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"   # Conditions set-up
         # Testbeam detectors (trigger layers are actually veto counters)
         detectors = ['Veto', 'Preshower', 'FaserSCT', 'Ecal']
 
@@ -101,8 +103,8 @@ if __name__ == '__main__':
         print(f"Unknown geometry {args.geom}!")
         sys.exit(1)
 
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0) # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.addFlag("Input.InitialTimeStamp", 0) # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 #
 # Preset particle gun parameters
 #
@@ -201,32 +203,32 @@ if __name__ == '__main__':
         print(f"Sampler {args.sampler} not known!")
         sys.exit(1)
 
-    # Pass this in one go to ConfigFlags
-    ConfigFlags.Sim.Gun = sg_dict
+    # Pass this in one go to configFlags
+    configFlags.Sim.Gun = sg_dict
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 
     if doShiftLOS:
-        pgConfig = ConfigFlags.Sim.Gun
+        pgConfig = configFlags.Sim.Gun
         pgConfig["McEventKey"] = "BeamTruthEvent_ATLASCoord"
-        ConfigFlags.Sim.Gun = pgConfig
+        configFlags.Sim.Gun = pgConfig
 #
 # By being a little clever, we can steer the geometry setup from the command line using GeoModel.FaserVersion
 #
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 #
 # Configure the particle gun as requested, or using defaults
 #
@@ -235,15 +237,15 @@ if __name__ == '__main__':
 # Particle gun generators - the generator, energy, angle, particle type, position, etc can be modified by passing keyword arguments
 #
     from FaserParticleGun.FaserParticleGunConfig import FaserParticleGunCfg
-    cfg.merge(FaserParticleGunCfg(ConfigFlags))
+    cfg.merge(FaserParticleGunCfg(configFlags))
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-    cfg.merge(McEventSelectorCfg(ConfigFlags))
+    cfg.merge(McEventSelectorCfg(configFlags))
 
 #
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -253,19 +255,18 @@ if __name__ == '__main__':
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
 
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, 
-                              ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift,
-                              yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, 
+                              ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift,
+                              yshift = configFlags.Sim.Beam.yshift))
 
     
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
-
+    cfg.merge(G4FaserAlgCfg(configFlags))
 
 #Event Filtering?
     if args.filter == 'muon_conversion':
@@ -284,7 +285,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     #f = open("test.pkl","wb")
     #cfg.store(f)
     #f.close()
diff --git a/Control/CalypsoExample/GeoModelTest/python/Faser01TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/Faser01TestConfig.py
index e85fd9e4b3f2529de19b5d4d6e323275dbc5b5e6..e14d1a2dfd6f0aa5e53925f1aa078fcdd31038c9 100644
--- a/Control/CalypsoExample/GeoModelTest/python/Faser01TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/Faser01TestConfig.py
@@ -27,36 +27,37 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    # ConfigFlags.GeoModel.GeoExportFile    = "faserGeo01.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    # configFlags.GeoModel.GeoExportFile    = "faserGeo01.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GeoModelTest/python/Faser02TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/Faser02TestConfig.py
index ba3f91b75be389c3c4053b6f694ee1bdbde0fa99..39461b36c4d1520630037c336bd609e2910f9e2b 100644
--- a/Control/CalypsoExample/GeoModelTest/python/Faser02TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/Faser02TestConfig.py
@@ -28,36 +28,37 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-02"         # Default FASER geometry
-    ConfigFlags.GeoModel.GeoExportFile    = "FaserNu02.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-02"         # Default FASER geometry
+    configFlags.GeoModel.GeoExportFile    = "FaserNu02.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GeoModelTest/python/Faser03TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/Faser03TestConfig.py
index bf562e1b7aba756ebdab8e65568a180321c5de12..23540a82d4506172174dbe8afa20d8353e83e499 100644
--- a/Control/CalypsoExample/GeoModelTest/python/Faser03TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/Faser03TestConfig.py
@@ -27,38 +27,39 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
-    ConfigFlags.GeoModel.GeoExportFile    = "FaserNu03.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    ConfigFlags.Detector.GeometryEmulsion = True
-    ConfigFlags.Detector.GeometryTrench   = True
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
+    configFlags.GeoModel.GeoExportFile    = "FaserNu03.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    configFlags.Detector.GeometryEmulsion = True
+    configFlags.Detector.GeometryTrench   = True
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py
index 9e1f5ee9bb11189a46c8f022d626f24c53416a88..afc970b0e9eeb7d38541a8055f9fa180ad382879 100644
--- a/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py
@@ -4,7 +4,7 @@
 import sys
 from AthenaCommon.Constants import VERBOSE, INFO
 from Campaigns.Utils import Campaign
-from AthenaConfiguration.ComponentFactory import CompFactory
+from AthenaConfiguration.ComponentFactory import CompFactory, isComponentAccumulatorCfg
 
 def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 
@@ -28,39 +28,45 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
-    Configurable.configurableRun3Behavior = True
+    # Configurable.configurableRun3Behavior = True
     
+    print("CACfg = ", isComponentAccumulatorCfg())
+
+    print("AthenaCommon.Include", "AthenaCommon.Include" in sys.modules)
+    print("Configurable._useGlobalInstances", Configurable._useGlobalInstances)
+
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.Input.MCCampaign = Campaign.Unknown
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-04"           # Default FASER geometry
-    ConfigFlags.GeoModel.GeoExportFile    = "FaserNu04.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    ConfigFlags.Detector.GeometryEmulsion = True
-    ConfigFlags.Detector.GeometryTrench   = True
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.Input.MCCampaign = Campaign.Unknown
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-04"           # Default FASER geometry
+    configFlags.GeoModel.GeoExportFile    = "FaserNu04.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    configFlags.Detector.GeometryEmulsion = True
+    configFlags.Detector.GeometryTrench   = True
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py
index 5dd299336c754e97a9de0fe8ec7b798c79a30f75..406df28772926c7fa04dc5f21dbdbc332aec8a68 100644
--- a/Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py
@@ -35,36 +35,37 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"           # Default FASER geometry
-    # ConfigFlags.GeoModel.GeoExportFile    = "faserTestBeamGeo.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-TB00"           # Default FASER geometry
+    # configFlags.GeoModel.GeoExportFile    = "faserTestBeamGeo.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py
index e68644c58f240db05bfde68b3eef482ffb4982ae..1a23da76f06aa33852e1388df874d0e0ac094274 100644
--- a/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py
+++ b/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py
@@ -35,36 +35,37 @@ def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB01"           # Default FASER geometry
-    # ConfigFlags.GeoModel.GeoExportFile    = "faserTestBeamGeo.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
-    # ConfigFlags.Detector.EnableVeto     = True
-    # ConfigFlags.Detector.EnableTrigger  = True
-    # ConfigFlags.Detector.EnablePreshower= True
-    # ConfigFlags.Detector.EnableFaserSCT = True
-    # ConfigFlags.Detector.EnableUpstreamDipole = True
-    # ConfigFlags.Detector.EnableCentralDipole = True
-    # ConfigFlags.Detector.EnableDownstreamDipole = True
-    # ConfigFlags.Detector.EnableEcal = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-TB01"           # Default FASER geometry
+    # configFlags.GeoModel.GeoExportFile    = "faserTestBeamGeo.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    # configFlags.Detector.EnableVeto     = True
+    # configFlags.Detector.EnableTrigger  = True
+    # configFlags.Detector.EnablePreshower= True
+    # configFlags.Detector.EnableFaserSCT = True
+    # configFlags.Detector.EnableUpstreamDipole = True
+    # configFlags.Detector.EnableCentralDipole = True
+    # configFlags.Detector.EnableDownstreamDipole = True
+    # configFlags.Detector.EnableEcal = True
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set up algorithm
-    acc.merge(GeoModelTestCfg(ConfigFlags))
+    acc.merge(GeoModelTestCfg(configFlags))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/NeutrinoHits/scripts/faser_dumpnu.py b/Control/CalypsoExample/NeutrinoHits/scripts/faser_dumpnu.py
index 85ce93f8dcc5cc4c691d8c6a3bd5053d0200ed9c..37b04ea5ad7fdab6194445b05de1d51662d64a7b 100755
--- a/Control/CalypsoExample/NeutrinoHits/scripts/faser_dumpnu.py
+++ b/Control/CalypsoExample/NeutrinoHits/scripts/faser_dumpnu.py
@@ -51,36 +51,37 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = True                    # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = True                    # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "mc20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags.Input.ProjectName = "mc20"
+#configFlags.GeoModel.Align.Dynamic    = False
+configFlags.Beam.NumberOfCollisions = 0.
 
 if runtype == "TI12MC03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 elif runtype == "TI12MC04":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+    configFlags.GeoModel.FaserVersion = "FASERNU-04" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
 
 else:
     print("Invalid run type found:", runtype)
     print("Specify correct type or update list!")
     sys.exit(1)
     
-ConfigFlags.Detector.GeometryEmulsion = True
-ConfigFlags.Detector.GeometryTrench   = True
+configFlags.Detector.GeometryEmulsion = True
+configFlags.Detector.GeometryTrench   = True
 
 # Must use original input string here, as pathlib mangles double // in path names
-ConfigFlags.Input.Files = [ args.file_path ]
+configFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
 # Remove any filetype modifier
@@ -97,24 +98,24 @@ if len(args.tag) > 0:
 outfile = f"{filestem}-NTUP.root"
 print(f'Writing output file {outfile}')
 
-ConfigFlags.lock()
+configFlags.lock()
 
 #
 # Configure components
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
 
 # Algorithm
 from NeutrinoRecAlgs.NeutrinoRecAlgsConfig import NeutrinoRecAlgsCfg 
-acc.merge(NeutrinoRecAlgsCfg(ConfigFlags, McEventCollection = "TruthEvent", OutputFile=outfile))
+acc.merge(NeutrinoRecAlgsCfg(configFlags, McEventCollection = "TruthEvent", OutputFile=outfile))
 
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 
 else:
     acc.foreach_component("*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/RDOReadExample/python/RDOReadExampleConfig.py b/Control/CalypsoExample/RDOReadExample/python/RDOReadExampleConfig.py
index 7bffba5eef6cab66207ea2a28df9c2ab4512edd0..8157114a91d5579849fdef04fd52daacac4e916e 100644
--- a/Control/CalypsoExample/RDOReadExample/python/RDOReadExampleConfig.py
+++ b/Control/CalypsoExample/RDOReadExample/python/RDOReadExampleConfig.py
@@ -20,29 +20,30 @@ def RDOReadExampleCfg(flags, name="RDOReadExampleAlg", **kwargs):
 
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Detector.GeometryFaserSCT = True
-    ConfigFlags.Input.Files = ["my.RDO.pool.root"]
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Detector.GeometryFaserSCT = True
+    configFlags.Input.Files = ["my.RDO.pool.root"]
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(RDOReadExampleCfg(ConfigFlags))
+    acc.merge(RDOReadExampleCfg(configFlags))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     # acc.foreach_component("*").OutputLevel = VERBOSE
     # acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py b/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
index d131ba110724e218010a9feed9b2cb5695c7664d..b5bd3bb9d07d8890736c7a500eb50695dea6b027 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
+++ b/Control/CalypsoExample/Reconstruction/scripts/faserMDC_reco.py
@@ -61,39 +61,40 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = args.isMC               # Needed to bypass autoconfig
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
+configFlags = initConfigFlags()
+configFlags.Input.isMC = args.isMC               # Needed to bypass autoconfig
+configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions for now
 
-ConfigFlags.Input.ProjectName = "data20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
+configFlags.Input.ProjectName = "data20"
+#configFlags.GeoModel.Align.Dynamic    = False
 
 # For tracking
-ConfigFlags.TrackingGeometry.MaterialSource = "/cvmfs/faser.cern.ch/repo/sw/database/DBRelease/current/acts/material-maps.json"
+configFlags.TrackingGeometry.MaterialSource = "/cvmfs/faser.cern.ch/repo/sw/database/DBRelease/current/acts/material-maps.json"
 
 # TI12 Cosmics geometry
 if runtype == "TI12Data":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype == "TestBeamData" or runtype == "TestBeam2021":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+    configFlags.GeoModel.FaserVersion = "FASER-TB00" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12Data02":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-02" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASER-02" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 # Final 2022 TI12 geometry
 elif runtype == "TI12Data03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
     print("Invalid run type found:", runtype)
@@ -102,7 +103,7 @@ else:
 
 
 # Must use original input string here, as pathlib mangles double // in path names
-ConfigFlags.Input.Files = [ args.file_path ]
+configFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
 # Remove any filetype modifier
@@ -112,75 +113,75 @@ if filestem[-4:] == "-RDO":
 if len(args.reco) > 0:
     filestem += f"-{args.reco}"
 
-ConfigFlags.addFlag("Output.xAODFileName", f"{filestem}-xAOD.root")
-ConfigFlags.Output.ESDFileName = f"{filestem}-ESD.root"
-ConfigFlags.Output.doWriteESD = False
+configFlags.addFlag("Output.xAODFileName", f"{filestem}-xAOD.root")
+configFlags.Output.ESDFileName = f"{filestem}-ESD.root"
+configFlags.Output.doWriteESD = False
 
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Set up RAW data access
 
 if args.isMC:
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
 else:    
     from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-    acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
+    acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Set up algorithms
 from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg    
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
 
 # Not ready for primetime
 #from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionCfg
-#acc.merge(CalorimeterReconstructionCfg(ConfigFlags))
+#acc.merge(CalorimeterReconstructionCfg(configFlags))
 
 # Tracker clusters
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_RDOs"))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_RDOs"))
 
 #
 # SpacePoints
 from TrackerSpacePointFormation.TrackerSpacePointFormationConfig import TrackerSpacePointFinderCfg
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 
 # Try Dave's new fitter
 print("Configuring TrackerSegmentFit (new)")
 from TrackerSegmentFit.TrackerSegmentFitConfig import SegmentFitAlgCfg
-acc.merge(SegmentFitAlgCfg(ConfigFlags,
+acc.merge(SegmentFitAlgCfg(configFlags,
                            SharedHitFraction=0.61, 
                            MinClustersPerFit=5, 
                            TanThetaXZCut=0.083))
 # 
 # Ghost removal
 from FaserActsKalmanFilter.GhostBustersConfig import GhostBustersCfg
-acc.merge(GhostBustersCfg(ConfigFlags))
+acc.merge(GhostBustersCfg(configFlags))
 
 #
 # Kalman Filter for tracking
 from FaserActsKalmanFilter.CKF2Config import CKF2Cfg
-acc.merge(CKF2Cfg(ConfigFlags, noDiagnostics=True))
+acc.merge(CKF2Cfg(configFlags, noDiagnostics=True))
 
 # Add tracking collection with no IFT 
-acc.merge(CKF2Cfg(ConfigFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT", 
+acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT", 
                   OutputCollection="CKFTrackCollectionWithoutIFT", noDiagnostics=True))
 
 #
@@ -202,20 +203,20 @@ itemList = [ "xAOD::EventInfo#*"
 if args.isMC:
     # Make xAOD versions of truth
     from Reconstruction.xAODTruthCnvAlgConfig import xAODTruthCnvAlgCfg
-    acc.merge(xAODTruthCnvAlgCfg(ConfigFlags))
+    acc.merge(xAODTruthCnvAlgCfg(configFlags))
 
     # Add MC information here
     itemList.extend( ["McEventCollection#*", "TrackerSimDataCollection#*"] )
 
-acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList))
 
 # Waveform reconstruction output
 from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionOutputCfg    
-acc.merge(WaveformReconstructionOutputCfg(ConfigFlags))
+acc.merge(WaveformReconstructionOutputCfg(configFlags))
 
 # Calorimeter reconstruction output
 # from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionOutputCfg
-# acc.merge(CalorimeterReconstructionOutputCfg(ConfigFlags))
+# acc.merge(CalorimeterReconstructionOutputCfg(configFlags))
 
 # Check what we have
 print( "Writing out xAOD objects:" )
@@ -232,7 +233,7 @@ if not args.isMC:
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
 else:
     acc.foreach_component("*").OutputLevel = INFO
 
diff --git a/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py b/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
index 7770a49282122c8ae1e39ce82748166c093c3421..4945daafcb11fa251c30a45a8f9082736f8f2031 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
+++ b/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
@@ -98,21 +98,22 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE, INFO
 
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-ConfigFlags.Input.isMC = args.isMC               # Needed to bypass autoconfig
+configFlags = initConfigFlags()
+configFlags.Input.isMC = args.isMC               # Needed to bypass autoconfig
 if args.isMC:
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"   # Use MC conditions
 else:
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3" # Use data conditions
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3" # Use data conditions
 
-ConfigFlags.Input.ProjectName = "data20"
-#ConfigFlags.GeoModel.Align.Dynamic    = False
+configFlags.Input.ProjectName = "data20"
+#configFlags.GeoModel.Align.Dynamic    = False
 
-ConfigFlags.Exec.SkipEvents = args.skip
+configFlags.Exec.SkipEvents = args.skip
 
 # Flags for later
 useCKF = True
@@ -120,36 +121,36 @@ useCal = False
 useLHC = False
 
 # Enable ACTS material corrections, this crashes testbeam geometries
-ConfigFlags.TrackingGeometry.MaterialSource = "/cvmfs/faser.cern.ch/repo/sw/database/DBRelease/current/acts/material-maps.json"
+configFlags.TrackingGeometry.MaterialSource = "/cvmfs/faser.cern.ch/repo/sw/database/DBRelease/current/acts/material-maps.json"
 
 # TI12 Cosmics geometry
 if runtype == "TI12Data":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+    configFlags.GeoModel.FaserVersion = "FASER-01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
 elif runtype in ["TestBeamData", "TestBeamMC"]:
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
+    configFlags.GeoModel.FaserVersion = "FASER-TB01" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
     print("Set global tag to OFLCOND-FASER-TB01")
     useCKF = False
     useCal = True
 
 # New TI12 geometry (ugh)
 elif runtype == "TI12Data02":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-02" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASER-02" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 # Final 2022 TI12 geometry
 elif runtype in ["TI12Data03", "TI12MC03"]:
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"
     # Ugh, this is a horrible hack
     # and I am not sure it is even needed as there may not be a difference
     # in reco between the MC global tags...
     if args.isMC:
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03" # Consistent with sim/digi
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03" # Consistent with sim/digi
     else:
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Updated 2023 alignment
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Updated 2023 alignment
         
     useCal = True
     if not args.isMC:
@@ -157,8 +158,8 @@ elif runtype in ["TI12Data03", "TI12MC03"]:
 
 # Updated 2023 TI12 geometry
 elif runtype in ["TI12Data04", "TI12MC04"]:
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+    configFlags.GeoModel.FaserVersion = "FASERNU-04" 
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
     useCal = True
     if not args.isMC:
         useLHC = True
@@ -170,11 +171,11 @@ else:
 
 # Check if we want to override global conditions tag
 if len(args.cond):
-    ConfigFlags.IOVDb.GlobalTag = args.cond
-    print(f"Override global tag ConfigFlags.IOVDb.GlobalTag = {args.config}") 
+    configFlags.IOVDb.GlobalTag = args.cond
+    print(f"Override global tag configFlags.IOVDb.GlobalTag = {args.config}") 
 
 # Must use original input string here, as pathlib mangles double // in path names
-ConfigFlags.Input.Files = [ args.file_path ]
+configFlags.Input.Files = [ args.file_path ]
 
 filestem = filepath.stem
 # Remove any filetype modifier
@@ -184,67 +185,67 @@ if filestem[-4:] == "-RDO":
 if len(args.reco) > 0:
     filestem += f"-{args.reco}"
 
-ConfigFlags.addFlag("Output.xAODFileName", f"{filestem}-xAOD.root")
-ConfigFlags.Output.ESDFileName = f"{filestem}-ESD.root"
-ConfigFlags.Output.doWriteESD = False
+configFlags.addFlag("Output.xAODFileName", f"{filestem}-xAOD.root")
+configFlags.Output.ESDFileName = f"{filestem}-ESD.root"
+configFlags.Output.doWriteESD = False
 
 #
 # Play around with this?
-# ConfigFlags.Concurrency.NumThreads = 2
-# ConfigFlags.Concurrency.NumConcurrentEvents = 2
-ConfigFlags.lock()
+# configFlags.Concurrency.NumThreads = 2
+# configFlags.Concurrency.NumConcurrentEvents = 2
+configFlags.lock()
 
 #
 # Configure components
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
 
 #
 # Set up RAW data access
 
 if args.isMC or args.isOverlay:
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
 else:    
     from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-    acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
+    acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
 
 #
 # Needed, or move to MainServicesCfg?
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 if useLHC and not args.isOverlay:
     from LHCDataAlgs.LHCDataAlgConfig import LHCDataAlgCfg
-    acc.merge(LHCDataAlgCfg(ConfigFlags))
+    acc.merge(LHCDataAlgCfg(configFlags))
 
 # Set up algorithms
 if not args.isOverlay:
     from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg    
-    acc.merge(WaveformReconstructionCfg(ConfigFlags))
+    acc.merge(WaveformReconstructionCfg(configFlags))
 
     # Calorimeter Energy reconstruction
     if useCal:
         from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionCfg
-        acc.merge(CalorimeterReconstructionCfg(ConfigFlags, MC_calibTag=args.MC_calibTag))
+        acc.merge(CalorimeterReconstructionCfg(configFlags, MC_calibTag=args.MC_calibTag))
 
 # Tracker clusters
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
-# acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="Pos_SCT_RDOs"))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_RDOs", checkBadChannels=True))
+# acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="Pos_SCT_RDOs"))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_RDOs", checkBadChannels=True))
 
 #
 # SpacePoints
 from TrackerSpacePointFormation.TrackerSpacePointFormationConfig import TrackerSpacePointFinderCfg
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 
 # Try Dave's new fitter
 # Loosen ReducedChi2Cut until alignment improves
 from TrackerSegmentFit.TrackerSegmentFitConfig import SegmentFitAlgCfg
-acc.merge(SegmentFitAlgCfg(ConfigFlags,
+acc.merge(SegmentFitAlgCfg(configFlags,
                            ReducedChi2Cut=25.,  
                            SharedHitFraction=0.61, 
                            MinClustersPerFit=5, 
@@ -255,7 +256,7 @@ if useCKF:
     # 
     # Ghost removal
     from FaserActsKalmanFilter.GhostBustersConfig import GhostBustersCfg
-    acc.merge(GhostBustersCfg(ConfigFlags))
+    acc.merge(GhostBustersCfg(configFlags))
 
     #
     # Kalman Filter for tracking
@@ -264,17 +265,17 @@ if useCKF:
     from FaserActsKalmanFilter.CKF2Config import CKF2Cfg
     if not args.isOverlay:
         # 4-station tracks
-        acc.merge(CKF2Cfg(ConfigFlags, noDiagnostics=True))
+        acc.merge(CKF2Cfg(configFlags, noDiagnostics=True))
 
     # Add tracking collection with no IFT 
-    acc.merge(CKF2Cfg(ConfigFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT", 
+    acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT", 
                       OutputCollection="CKFTrackCollectionWithoutIFT", 
                       BackwardPropagation=False,
                       noDiagnostics=True))
 
 
     # Backward tracking with no IFT
-    acc.merge(CKF2Cfg(ConfigFlags, maskedLayers=[0, 1, 2], name="CKF_Back_woIFT", 
+    acc.merge(CKF2Cfg(configFlags, maskedLayers=[0, 1, 2], name="CKF_Back_woIFT", 
                       OutputCollection="CKFTrackCollectionBackwardWithoutIFT", 
                       BackwardPropagation=True,
                       noDiagnostics=True))
@@ -299,13 +300,13 @@ if useLHC and not args.isOverlay:
 if args.isMC and not args.isOverlay:
     # Make xAOD versions of truth
     from Reconstruction.xAODTruthCnvAlgConfig import xAODTruthCnvAlgCfg
-    acc.merge(xAODTruthCnvAlgCfg(ConfigFlags))
+    acc.merge(xAODTruthCnvAlgCfg(configFlags))
 
     # Add MC information here
     itemList.extend( ["McEventCollection#*", "TrackerSimDataCollection#*"] )
 
 # Output stream 
-acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList, disableEventTag=True))
+acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList, disableEventTag=True))
 
 # Try to turn off annoying INFO message, as we don't use this
 # disableEventTag=True doesn't seem to work...
@@ -316,11 +317,11 @@ acc.addEventAlgo(tagBuilder)
 if not args.isOverlay:
     # Waveform reconstruction output
     from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionOutputCfg    
-    acc.merge(WaveformReconstructionOutputCfg(ConfigFlags))
+    acc.merge(WaveformReconstructionOutputCfg(configFlags))
 
     # Calorimeter reconstruction output
     from CaloRecAlgs.CaloRecAlgsConfig import CalorimeterReconstructionOutputCfg
-    acc.merge(CalorimeterReconstructionOutputCfg(ConfigFlags))
+    acc.merge(CalorimeterReconstructionOutputCfg(configFlags))
 
 # Check what we have
 print( "Writing out xAOD objects:" )
@@ -337,7 +338,7 @@ if not args.isMC:
 # Configure verbosity    
 if args.verbose:
     acc.foreach_component("*").OutputLevel = VERBOSE
-    ConfigFlags.dump()
+    configFlags.dump()
     # Print out POOL conditions
     import os
     print(f"ATLAS_POOLCOND_PATH: {os.environ['ATLAS_POOLCOND_PATH']}")
diff --git a/Control/CalypsoExample/SimHitExample/python/SimHitExampleConfig.py b/Control/CalypsoExample/SimHitExample/python/SimHitExampleConfig.py
index aec94afcf8e3007eb454fe0c28f9a2c42ee7ed28..91743ea319c4c870ef21249d4c59c4d7d1c59b40 100644
--- a/Control/CalypsoExample/SimHitExample/python/SimHitExampleConfig.py
+++ b/Control/CalypsoExample/SimHitExample/python/SimHitExampleConfig.py
@@ -25,30 +25,31 @@ def SimHitAlgCfg(flags, name="SimHitAlg", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.Files = ["my.HITS.pool.root"]              # input file(s)
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
-    ConfigFlags.Detector.GeometryEmulsion = True
-    ConfigFlags.Detector.GeometryTrench   = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = ["my.HITS.pool.root"]              # input file(s)
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
+    configFlags.Detector.GeometryEmulsion = True
+    configFlags.Detector.GeometryTrench   = True
+    configFlags.lock()
 
 # Configure components
 # Core framework
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Data input
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
 
 # Algorithm
-    acc.merge(SimHitAlgCfg(ConfigFlags, McEventCollection = "TruthEvent",
+    acc.merge(SimHitAlgCfg(configFlags, McEventCollection = "TruthEvent",
                                         PrintNeutrinoHits = False,
                                         PrintTrackerHits = False,
                                         PrintScintillatorHits = False,
@@ -57,7 +58,7 @@ if __name__ == "__main__":
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     #acc.foreach_component("*").OutputLevel = VERBOSE
     #acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/Simulation/scripts/faserMDC_simulate.py b/Control/CalypsoExample/Simulation/scripts/faserMDC_simulate.py
index 6a432013c45495a689feb8be234fca383e7bdd70..21ec781d19b8436e38e7529f97aa653c8a667d98 100755
--- a/Control/CalypsoExample/Simulation/scripts/faserMDC_simulate.py
+++ b/Control/CalypsoExample/Simulation/scripts/faserMDC_simulate.py
@@ -108,54 +108,55 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags = initConfigFlags()
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [ runnum ] 
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [ (segnum+1) ]
-    ConfigFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [ runnum ] 
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [ (segnum+1) ]
+    configFlags.Input.isMC = True
 #
 # Input file name
 # 
     # Path mangles // in url, so use direct file_path here
-    ConfigFlags.Input.Files = [ args.file_path ]
+    configFlags.Input.Files = [ args.file_path ]
 #
 # Skip events
 #
-    ConfigFlags.Exec.SkipEvents = args.skip
-    ConfigFlags.Exec.MaxEvents = args.nevents
+    configFlags.Exec.SkipEvents = args.skip
+    configFlags.Exec.MaxEvents = args.nevents
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = outfile
+    configFlags.Output.HITSFileName = outfile
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = "FTFP_BERT"
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
 
     # Units are radians and mm
-    ConfigFlags.addFlag("Sim.Beam.xangle", args.xangle)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", args.yangle)    
-    ConfigFlags.addFlag("Sim.Beam.xshift", args.xshift)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", args.yshift)    
+    configFlags.addFlag("Sim.Beam.xangle", args.xangle)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", args.yangle)    
+    configFlags.addFlag("Sim.Beam.xshift", args.xshift)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", args.yshift)    
 
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"     # Geometry set-up
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"     # Conditions set-up
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)     # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"     # Geometry set-up
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"     # Conditions set-up
+    configFlags.addFlag("Input.InitialTimeStamp", 0)     # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 
     # import sys
-    # ConfigFlags.fillFromArgs(sys.argv[1:])
+    # configFlags.fillFromArgs(sys.argv[1:])
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 
 #
 # MDC geometry configuration
@@ -165,37 +166,37 @@ if __name__ == '__main__':
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 
 #
 # Check whether a known input file was specified
 #
-    if ConfigFlags.Input.Files[0].endswith(".events") or ConfigFlags.Input.Files[0].endswith(".hepmc"):
+    if configFlags.Input.Files[0].endswith(".events") or configFlags.Input.Files[0].endswith(".hepmc"):
 
         from HEPMCReader.HepMCReaderConfig import HepMCReaderCfg
 
         if doShiftLOS:
-            cfg.merge(HepMCReaderCfg(ConfigFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
+            cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
         else:
-            cfg.merge(HepMCReaderCfg(ConfigFlags))
+            cfg.merge(HepMCReaderCfg(configFlags))
 
         from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-        cfg.merge(McEventSelectorCfg(ConfigFlags))
+        cfg.merge(McEventSelectorCfg(configFlags))
 #
 # Else, set up to read it as a pool.root file
 #
     else:
         from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-        cfg.merge(PoolReadCfg(ConfigFlags))
+        cfg.merge(PoolReadCfg(configFlags))
 
         if doShiftLOS:
             from SGComps.AddressRemappingConfig import InputOverwriteCfg
@@ -206,7 +207,7 @@ if __name__ == '__main__':
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -215,18 +216,18 @@ if __name__ == '__main__':
 
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, 
-                              ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift,
-                              yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, 
+                              ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift,
+                              yshift = configFlags.Sim.Beam.yshift))
 
 
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+    cfg.merge(G4FaserAlgCfg(configFlags))
 #
 # Dump config
 #
@@ -236,7 +237,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     #f = open("test.pkl","wb")
     #cfg.store(f)
     #f.close()
diff --git a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
index ebb850c03a26af29a48180094b06eefbbd5591ab..4247e9beeb43d6a6512531ce008b32df680695bd 100755
--- a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
+++ b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
@@ -116,38 +116,38 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags = initConfigFlags()
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [ runnum ] 
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [ (segnum+1) ]
-    ConfigFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [ runnum ] 
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [ (segnum+1) ]
+    configFlags.Input.isMC = True
 #
 # Input file name
 # 
     # Path mangles // in url, so use direct file_path here
-    ConfigFlags.Input.Files = [ args.file_path ]
+    configFlags.Input.Files = [ args.file_path ]
 #
 # Skip events
 #
-    ConfigFlags.Exec.SkipEvents = args.skip
-    ConfigFlags.Exec.MaxEvents = args.nevents
+    configFlags.Exec.SkipEvents = args.skip
+    configFlags.Exec.MaxEvents = args.nevents
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = outfile
+    configFlags.Output.HITSFileName = outfile
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    #ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.PhysicsList = args.G4_phys
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = args.G4_phys
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
 
     # Change G4NEUTRONHPDATA?
     if len(args.G4_neut):
@@ -160,24 +160,25 @@ if __name__ == '__main__':
 #
     if args.geom == "TI12MC" or args.geom == "TI12MC04":
         # New TI12 geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
         # TI12 detectors
         detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 
                      'Trigger', 'Dipole', 'Emulsion', 'Trench']
 
     elif args.geom == "TI12MC03":
         # 2022 TI12 geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
+
         # TI12 detectors
         detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 
                      'Trigger', 'Dipole', 'Emulsion', 'Trench']
 
     elif args.geom == "TestBeamMC":
         # Define 2021 test beam geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01" # Conditions set-up
+        configFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
+        configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01" # Conditions set-up
         # Testbeam detectors (trigger layers are actually veto counters)
         detectors = ['Veto', 'Preshower', 'FaserSCT', 'Ecal']
 
@@ -189,53 +190,53 @@ if __name__ == '__main__':
     #
     # Units are radians and mm
     # Probably should only be allowed in TI12, but leave it here for now
-    ConfigFlags.addFlag("Sim.Beam.xangle", args.xangle)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", args.yangle)    
-    ConfigFlags.addFlag("Sim.Beam.xshift", args.xshift)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", args.yshift)    
+    configFlags.addFlag("Sim.Beam.xangle", args.xangle)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", args.yangle)    
+    configFlags.addFlag("Sim.Beam.xshift", args.xshift)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", args.yshift)    
 
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)     # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.addFlag("Input.InitialTimeStamp", 0)     # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 
     # import sys
-    # ConfigFlags.fillFromArgs(sys.argv[1:])
+    # configFlags.fillFromArgs(sys.argv[1:])
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 #
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 #
 # Check whether a known input file was specified
 #
-    if ConfigFlags.Input.Files[0].endswith(".events") or ConfigFlags.Input.Files[0].endswith(".hepmc"):
+    if configFlags.Input.Files[0].endswith(".events") or configFlags.Input.Files[0].endswith(".hepmc"):
 
         from HEPMCReader.HepMCReaderConfig import HepMCReaderCfg
 
         if doShiftLOS:
-            cfg.merge(HepMCReaderCfg(ConfigFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
+            cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
         else:
-            cfg.merge(HepMCReaderCfg(ConfigFlags))
+            cfg.merge(HepMCReaderCfg(configFlags))
 
         from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-        cfg.merge(McEventSelectorCfg(ConfigFlags))
+        cfg.merge(McEventSelectorCfg(configFlags))
 #
 # Else, set up to read it as a pool.root file
 #
     else:
         from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-        cfg.merge(PoolReadCfg(ConfigFlags))
+        cfg.merge(PoolReadCfg(configFlags))
 
         if doShiftLOS:
             from SGComps.AddressRemappingConfig import InputOverwriteCfg
@@ -246,7 +247,7 @@ if __name__ == '__main__':
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -255,18 +256,18 @@ if __name__ == '__main__':
 
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, 
-                              ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift,
-                              yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, 
+                              ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift,
+                              yshift = configFlags.Sim.Beam.yshift))
 
 
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+    cfg.merge(G4FaserAlgCfg(configFlags))
 #
 # Dump config
 #
@@ -276,7 +277,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     #f = open("test.pkl","wb")
     #cfg.store(f)
     #f.close()
diff --git a/Control/CalypsoExample/TrackerDataAccessExample/python/TrackerDataAccessExampleConfig.py b/Control/CalypsoExample/TrackerDataAccessExample/python/TrackerDataAccessExampleConfig.py
index a6d11ed7c9eb260ffc86cf6637e30bb032e12187..77f28abde96ff89b8726c439b39942f556a02a16 100755
--- a/Control/CalypsoExample/TrackerDataAccessExample/python/TrackerDataAccessExampleConfig.py
+++ b/Control/CalypsoExample/TrackerDataAccessExample/python/TrackerDataAccessExampleConfig.py
@@ -29,28 +29,29 @@ def TrackerDataAccessExampleCfg(flags, name="TrackerDataAccessExampleAlg", **kwa
 
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaCommon.Logging import logging
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use MC conditions for now
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER geometry
-    ConfigFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
-    # ConfigFlags.Output.RDOFileName = "my.RDO.pool.root"
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use MC conditions for now
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER geometry
+    configFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
+    # configFlags.Output.RDOFileName = "my.RDO.pool.root"
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     # from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-    acc = MainServicesCfg(ConfigFlags)
-    # acc.merge(PoolWriteCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    # acc.merge(PoolWriteCfg(configFlags))
 
 # Configure output
     # from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -58,11 +59,11 @@ if __name__ == "__main__":
     #              "xAOD::EventAuxInfo#*",
     #              "FaserSCT_RDO_Container#*"
     #            ]
-    # acc.merge(OutputStreamCfg(ConfigFlags, "RDO", itemList))
+    # acc.merge(OutputStreamCfg(configFlags, "RDO", itemList))
     # ostream = acc.getEventAlgo("OutputStreamRDO")
 
 # Set up algorithm
-    acc.merge(TrackerDataAccessExampleCfg(ConfigFlags))
+    acc.merge(TrackerDataAccessExampleCfg(configFlags))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
     replicaSvc = acc.getService("DBReplicaSvc")
@@ -72,7 +73,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     logging.getLogger('forcomps').setLevel(WARNING)
     acc.foreach_component("*").OutputLevel = INFO
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/TriggerDataAccessExample/python/TriggerDataAccessExampleConfig.py b/Control/CalypsoExample/TriggerDataAccessExample/python/TriggerDataAccessExampleConfig.py
index 991d2937b38b503655e8d379399acfc363b2ce03..a4c2d3fad3b787adc96ca884a5b4495963c91aaa 100755
--- a/Control/CalypsoExample/TriggerDataAccessExample/python/TriggerDataAccessExampleConfig.py
+++ b/Control/CalypsoExample/TriggerDataAccessExample/python/TriggerDataAccessExampleConfig.py
@@ -29,27 +29,28 @@ def TriggerDataAccessExampleCfg(flags, name="TriggerDataAccessExampleAlg", **kwa
 
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Input.ProjectName = "data20"
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
-    ConfigFlags.Output.RDOFileName = "trigger.RDO.pool.root"
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Input.ProjectName = "data20"
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
+    configFlags.Output.RDOFileName = "trigger.RDO.pool.root"
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolWriteCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolWriteCfg(configFlags))
 
 # Configure output
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -57,11 +58,11 @@ if __name__ == "__main__":
                  "xAOD::EventAuxInfo#*",
                  "xAOD::FaserTriggerData#*",
                  "xAOD::FaserTriggerDataAux#*" ]
-    acc.merge(OutputStreamCfg(ConfigFlags, "RDO", itemList))
+    acc.merge(OutputStreamCfg(configFlags, "RDO", itemList))
     ostream = acc.getEventAlgo("OutputStreamRDO")
 
 # Set up algorithm
-    acc.merge(TriggerDataAccessExampleCfg(ConfigFlags))
+    acc.merge(TriggerDataAccessExampleCfg(configFlags))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
     replicaSvc = acc.getService("DBReplicaSvc")
@@ -71,7 +72,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py b/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
index 2c0e8128ff1ba4fc3f45ebfb70de4cdc8c575cc1..cdabb3d753f0ef266448db441a99f29dc0a55062 100755
--- a/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
+++ b/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
@@ -30,28 +30,29 @@ def WaveformDataAccessExampleCfg(flags, name="WaveformDataAccessExampleAlg", **k
 
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    # ConfigFlags.Input.Format = Format.BS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use MC conditions for now
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Input.ProjectName = "data20"
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
-    ConfigFlags.Output.RDOFileName = "waveform.RDO.pool.root"
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    # configFlags.Input.Format = Format.BS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use MC conditions for now
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Input.ProjectName = "data20"
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.Input.Files = [f"{Cmake_working_dir}/../rawdata/Faser-Physics-001920-filtered.raw"] #path is set to test data for ctest
+    configFlags.Output.RDOFileName = "waveform.RDO.pool.root"
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolWriteCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolWriteCfg(configFlags))
 
 # Configure output
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -59,11 +60,11 @@ if __name__ == "__main__":
                  "xAOD::EventAuxInfo#*",
                  "RawWaveformContainer#*"
                ]
-    acc.merge(OutputStreamCfg(ConfigFlags, "RDO", itemList))
+    acc.merge(OutputStreamCfg(configFlags, "RDO", itemList))
     # ostream = acc.getEventAlgo("OutputStreamRDO")
 
 # Set up algorithm
-    acc.merge(WaveformDataAccessExampleCfg(ConfigFlags))
+    acc.merge(WaveformDataAccessExampleCfg(configFlags))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
     replicaSvc = acc.getService("DBReplicaSvc")
@@ -73,7 +74,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser01.py b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser01.py
index 00f4b9c37cce80a4ca7cb4c669f48d102a199fd4..44d09da4fc0ee2d0ebe9d2e7f91544aa5aef5dfd 100644
--- a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser01.py
+++ b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser01.py
@@ -47,32 +47,33 @@ if __name__ == "__main__":
     # from AthenaCommon.Logging import log, logging
     from AthenaCommon.Configurable import Configurable
     # from AthenaConfiguration.ComponentFactory import CompFactory
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.IOVDb.GlobalTag           = "OFLCOND-"+ ConfigFlags.GeoModel.FaserVersion  # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DBConnection        = "sqlite://;schema=" + ConfigFlags.GeoModel.FaserVersion + "_ALLP200.db;dbname=OFLP200"
-    ConfigFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
-    ConfigFlags.addFlag("WriteAlignment.PoolFileName", ConfigFlags.GeoModel.FaserVersion + "_Align.pool.root") 
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.IOVDb.GlobalTag           = "OFLCOND-"+ configFlags.GeoModel.FaserVersion  # Always needed; must match FaserVersion
+    configFlags.IOVDb.DBConnection        = "sqlite://;schema=" + configFlags.GeoModel.FaserVersion + "_ALLP200.db;dbname=OFLP200"
+    configFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
+    configFlags.addFlag("WriteAlignment.PoolFileName", configFlags.GeoModel.FaserVersion + "_Align.pool.root") 
 
 # Parse flags from command line and lock
-    ConfigFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
-    ConfigFlags.fillFromArgs(sys.argv[1:])
-    ConfigFlags.lock()
+    configFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
+    configFlags.fillFromArgs(sys.argv[1:])
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(WriteAlignmentCfg(ConfigFlags, alignmentConstants=ConfigFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=ConfigFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
+    acc.merge(WriteAlignmentCfg(configFlags, alignmentConstants=configFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=configFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser02.py b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser02.py
index 56b856fa824564a1368675eb45bb1d6166a7949d..f104b07bc051513035308e68d1170ff2c7837825 100644
--- a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser02.py
+++ b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser02.py
@@ -47,32 +47,33 @@ if __name__ == "__main__":
     # from AthenaCommon.Logging import log, logging
     from AthenaCommon.Configurable import Configurable
     # from AthenaConfiguration.ComponentFactory import CompFactory
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
-    ConfigFlags.IOVDb.GlobalTag           = "OFLCOND-FASER-02"   # Old field map 
-    ConfigFlags.IOVDb.DBConnection        = "sqlite://;schema=FASER-02_ALLP200.db;dbname=OFLP200"
-    ConfigFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
-    ConfigFlags.addFlag("WriteAlignment.PoolFileName", "FASER-02_Align.pool.root") 
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
+    configFlags.IOVDb.GlobalTag           = "OFLCOND-FASER-02"   # Old field map 
+    configFlags.IOVDb.DBConnection        = "sqlite://;schema=FASER-02_ALLP200.db;dbname=OFLP200"
+    configFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
+    configFlags.addFlag("WriteAlignment.PoolFileName", "FASER-02_Align.pool.root") 
 
 # Parse flags from command line and lock
-    ConfigFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
-    ConfigFlags.fillFromArgs(sys.argv[1:])
-    ConfigFlags.lock()
+    configFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
+    configFlags.fillFromArgs(sys.argv[1:])
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(WriteAlignmentCfg(ConfigFlags, alignmentConstants=ConfigFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=ConfigFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
+    acc.merge(WriteAlignmentCfg(configFlags, alignmentConstants=configFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=configFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser03.py b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser03.py
index 2bbddc7cde737cfd5506c0c4bc6610ca820fb55b..40fdd7cab12c150f60629acc0c2c689f84d6fd7e 100755
--- a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser03.py
+++ b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_Faser03.py
@@ -47,32 +47,33 @@ if __name__ == "__main__":
     # from AthenaCommon.Logging import log, logging
     from AthenaCommon.Configurable import Configurable
     # from AthenaConfiguration.ComponentFactory import CompFactory
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
-    ConfigFlags.IOVDb.GlobalTag           = "OFLCOND-FASER-03"
-    ConfigFlags.IOVDb.DBConnection        = "sqlite://;schema=FASER-03_ALLP200.db;dbname=OFLP200"
-    ConfigFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
-    ConfigFlags.addFlag("WriteAlignment.PoolFileName", "FASER-03_Align.pool.root") 
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
+    configFlags.IOVDb.GlobalTag           = "OFLCOND-FASER-03"
+    configFlags.IOVDb.DBConnection        = "sqlite://;schema=FASER-03_ALLP200.db;dbname=OFLP200"
+    configFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
+    configFlags.addFlag("WriteAlignment.PoolFileName", "FASER-03_Align.pool.root") 
 
 # Parse flags from command line and lock
-    ConfigFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
-    ConfigFlags.fillFromArgs(sys.argv[1:])
-    ConfigFlags.lock()
+    configFlags.addFlag("AlignDbTool.AlignmentConstants", {}) 
+    configFlags.fillFromArgs(sys.argv[1:])
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(WriteAlignmentCfg(ConfigFlags, alignmentConstants=ConfigFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=ConfigFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
+    acc.merge(WriteAlignmentCfg(configFlags, alignmentConstants=configFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=configFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_FaserTB00.py b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_FaserTB00.py
index 84fb1b02e855907c7c525c64498b7d4d8b015f18..c1db23c115d8898babd06eb9899a8023370bbdc1 100644
--- a/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_FaserTB00.py
+++ b/Control/CalypsoExample/WriteAlignment/python/WriteAlignmentConfig_FaserTB00.py
@@ -47,32 +47,33 @@ if __name__ == "__main__":
     # from AthenaCommon.Logging import log, logging
     from AthenaCommon.Configurable import Configurable
     # from AthenaConfiguration.ComponentFactory import CompFactory
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"           # Default FASER geometry
-    ConfigFlags.IOVDb.GlobalTag           = "OFLCOND-"+ ConfigFlags.GeoModel.FaserVersion  # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DBConnection        = "sqlite://;schema=" + ConfigFlags.GeoModel.FaserVersion + "_ALLP200.db;dbname=OFLP200"
-    ConfigFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
-    ConfigFlags.addFlag("WriteAlignment.PoolFileName", ConfigFlags.GeoModel.FaserVersion + "_Align.pool.root") 
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASER-TB00"           # Default FASER geometry
+    configFlags.IOVDb.GlobalTag           = "OFLCOND-"+ configFlags.GeoModel.FaserVersion  # Always needed; must match FaserVersion
+    configFlags.IOVDb.DBConnection        = "sqlite://;schema=" + configFlags.GeoModel.FaserVersion + "_ALLP200.db;dbname=OFLP200"
+    configFlags.GeoModel.Align.Disable = True          # Hack to avoid loading alignment when we want to create it from scratch
+    configFlags.addFlag("WriteAlignment.PoolFileName", configFlags.GeoModel.FaserVersion + "_Align.pool.root") 
 
 # Parse flags from command line and lock
-    ConfigFlags.addFlag("AlignDbTool.AlignmentConstants", {})
-    ConfigFlags.fillFromArgs(sys.argv[1:])
-    ConfigFlags.lock()
+    configFlags.addFlag("AlignDbTool.AlignmentConstants", {})
+    configFlags.fillFromArgs(sys.argv[1:])
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Set things up to create a conditions DB with neutral Tracker alignment transforms
-    acc.merge(WriteAlignmentCfg(ConfigFlags, alignmentConstants=ConfigFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=ConfigFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
+    acc.merge(WriteAlignmentCfg(configFlags, alignmentConstants=configFlags.AlignDbTool.AlignmentConstants, ValidRunStart=1, ValidEvtStart=0, ValidRunEnd=9999999, ValidEvtEnd=9999999, CondTag=configFlags.GeoModel.FaserVersion.replace("FASER", "TRACKER-ALIGN"), ))
 
 # Configure verbosity    
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Control/CalypsoExample/xAODTruthConversion/scripts/runTruthCnv.py b/Control/CalypsoExample/xAODTruthConversion/scripts/runTruthCnv.py
index 5e63eccee4f4887ff0a986dfe7cdd02e90f59942..98790ac7bbb3c03bda9b94247eb63ad649b0f662 100644
--- a/Control/CalypsoExample/xAODTruthConversion/scripts/runTruthCnv.py
+++ b/Control/CalypsoExample/xAODTruthConversion/scripts/runTruthCnv.py
@@ -46,39 +46,40 @@ def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
-    ConfigFlags.Input.Files = ['my.HITS.pool.root']
-    ConfigFlags.Output.doWriteAOD = True
-    ConfigFlags.Output.doWriteESD = False
-    ConfigFlags.Output.AODFileName = "my.AOD.pool.root"
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # Default FASER geometry
+    configFlags.Input.Files = ['my.HITS.pool.root']
+    configFlags.Output.doWriteAOD = True
+    configFlags.Output.doWriteESD = False
+    configFlags.Output.AODFileName = "my.AOD.pool.root"
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
 # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
 
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    acc.merge(PoolWriteCfg(ConfigFlags))
+    acc.merge(PoolWriteCfg(configFlags))
 
 # Set up algorithms
 
-    acc.merge(GEN_AOD2xAODCfg(ConfigFlags))
+    acc.merge(GEN_AOD2xAODCfg(configFlags))
 
     from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
-    acc.merge(EventInfoCnvAlgCfg(ConfigFlags, disableBeamSpot=True))
+    acc.merge(EventInfoCnvAlgCfg(configFlags, disableBeamSpot=True))
 
-    if ConfigFlags.Output.doWriteAOD:
+    if configFlags.Output.doWriteAOD:
         ostream = acc.getEventAlgo("OutputStreamAOD")
     else:
         ostream = acc.getEventAlgo("OutputStreamESD")
@@ -91,7 +92,7 @@ if __name__ == "__main__":
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     acc.foreach_component("*").OutputLevel = VERBOSE
     acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Derivation/DerivationAlgs/share/runDerive.py b/Derivation/DerivationAlgs/share/runDerive.py
index 4ea98c82ef9264a3485958f955062b058c4b8fa1..b09e92e94fba1bc208045e323a0acaa53aa60cfe 100644
--- a/Derivation/DerivationAlgs/share/runDerive.py
+++ b/Derivation/DerivationAlgs/share/runDerive.py
@@ -33,7 +33,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -43,38 +43,39 @@ if __name__ == "__main__":
     log.setLevel(DEBUG)
     Configurable.configurableRun3Behavior = True
 
-    ConfigFlags.Input.Files = [
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [
         "/eos/experiment/faser/rec/2022/p0008/007984/Faser-Physics-007984-00000-p0008-xAOD.root"
         #"/bundle/data/FASER/Ti12data/filter/r0008/007983/Faser-Physics-007983-TrigMask08-r0008-xAOD.root"
         ]
 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"         # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"         # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.addFlag("Output.AODSTREAM1FileName", "my.STREAM1.xAOD.root")
-    ConfigFlags.addFlag("Output.AODSTREAM2FileName", "my.STREAM2.xAOD.root")
-    ConfigFlags.addFlag("Output.AODSTREAM3FileName", "my.STREAM3.xAOD.root")        
-    #ConfigFlags.Output.STREAM1FileName = fileName
+    configFlags.addFlag("Output.AODSTREAM1FileName", "my.STREAM1.xAOD.root")
+    configFlags.addFlag("Output.AODSTREAM2FileName", "my.STREAM2.xAOD.root")
+    configFlags.addFlag("Output.AODSTREAM3FileName", "my.STREAM3.xAOD.root")        
+    #configFlags.Output.STREAM1FileName = fileName
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    cfg = MainServicesCfg(ConfigFlags)
-    cfg.merge(PoolReadCfg(ConfigFlags))
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg = MainServicesCfg(configFlags)
+    cfg.merge(PoolReadCfg(configFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
     # Derivation alg
-    cfg.merge(DerivationAlgCfg(ConfigFlags, "DerivationAlg1", 10))
-    cfg.merge(DerivationAlgCfg(ConfigFlags, "DerivationAlg2", 90))
-    cfg.merge(DerivationAlgCfg2(ConfigFlags, "DerivationAlg3"))        
+    cfg.merge(DerivationAlgCfg(configFlags, "DerivationAlg1", 10))
+    cfg.merge(DerivationAlgCfg(configFlags, "DerivationAlg2", 90))
+    cfg.merge(DerivationAlgCfg2(configFlags, "DerivationAlg3"))        
 
     # Writing
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -94,7 +95,7 @@ if __name__ == "__main__":
 #              , "TrackCollection#*"
                   ]
     
-    cfg.merge(OutputStreamCfg(ConfigFlags, streamName1, itemList1)) #, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, streamName1, itemList1)) #, disableEventTag = True))
     cfg.getEventAlgo("OutputStreamAODSTREAM1").AcceptAlgs = ["DerivationAlg1"]
     #cfg.getEventAlgo("OutputStreamAODSTREAM1").TakeItemsFromInput = True
 
@@ -107,7 +108,7 @@ if __name__ == "__main__":
              , "xAOD::FaserTriggerData#*"
              , "xAOD::FaserTriggerDataAux#*"
                   ]
-    cfg.merge(OutputStreamCfg(ConfigFlags, streamName2, itemList2)) #, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, streamName2, itemList2)) #, disableEventTag = True))
     cfg.getEventAlgo("OutputStreamAODSTREAM2").AcceptAlgs = ["DerivationAlg2"]
 
     # Writing
@@ -118,7 +119,7 @@ if __name__ == "__main__":
              , "xAOD::FaserTriggerData#*"
              , "xAOD::FaserTriggerDataAux#*"
                   ]
-    cfg.merge(OutputStreamCfg(ConfigFlags, streamName3, itemList3)) #, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, streamName3, itemList3)) #, disableEventTag = True))
     cfg.getEventAlgo("OutputStreamAODSTREAM3").AcceptAlgs = ["DerivationAlg3"]
 
 
diff --git a/Derivation/DerivationAlgs/share/run_streaming.py b/Derivation/DerivationAlgs/share/run_streaming.py
index 09c702589b0ca2bcb79415891146abcf2bb7fa45..2719dc3485115a5ba11b7a21e28dc50fcfb47775 100644
--- a/Derivation/DerivationAlgs/share/run_streaming.py
+++ b/Derivation/DerivationAlgs/share/run_streaming.py
@@ -8,7 +8,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -19,31 +19,32 @@ if __name__ == "__main__":
     log.setLevel(DEBUG)
     Configurable.configurableRun3Behavior = True
 
-    ConfigFlags.Input.Files = [
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [
         "/eos/experiment/faser/rec/2022/p0008/007984/Faser-Physics-007984-00000-p0008-xAOD.root"
         ]
 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"         # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"         # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
     for stream in ["STREAM1", "STREAM2", "STREAM3"]:
-        ConfigFlags.addFlag(f"Output.AOD{stream}FileName", f"my.{stream}.xAOD.root")
+        configFlags.addFlag(f"Output.AOD{stream}FileName", f"my.{stream}.xAOD.root")
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    cfg = MainServicesCfg(ConfigFlags)
-    cfg.merge(PoolReadCfg(ConfigFlags))
-    cfg.merge(PoolWriteCfg(ConfigFlags))
-    cfg.merge(FaserGeometryCfg(ConfigFlags))
+    cfg = MainServicesCfg(configFlags)
+    cfg.merge(PoolReadCfg(configFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
+    cfg.merge(FaserGeometryCfg(configFlags))
 
     # Derivations
 
@@ -52,12 +53,12 @@ if __name__ == "__main__":
     name = "STREAM1"
 
     
-    cfg.merge(FullyConfiguredStream(ConfigFlags, stream = name,
+    cfg.merge(FullyConfiguredStream(configFlags, stream = name,
                                     tools = [CompFactory.ExampleDerivationTool(name + "_TestTool", SaveFraction = 10.)])
               )
 
     name = "STREAM2"
-    cfg.merge(FullyConfiguredStream(ConfigFlags, stream = name,
+    cfg.merge(FullyConfiguredStream(configFlags, stream = name,
                                     tools = [ CompFactory.ExampleDerivationTool(name + "_TestTool", SaveFraction = 90.)],
                                     items = [ "xAOD::EventInfo#*"
                                               , "xAOD::EventAuxInfo#*"
@@ -67,7 +68,7 @@ if __name__ == "__main__":
               )
 
     name = "STREAM3"
-    cfg.merge(FullyConfiguredStream(ConfigFlags, stream = name,
+    cfg.merge(FullyConfiguredStream(configFlags, stream = name,
                                     tools = [CompFactory.TriggerStreamTool(name + "_TriggerTool")], 
                                     items = [ "xAOD::EventInfo#*"
                                               , "xAOD::EventAuxInfo#*"
diff --git a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelConfig.py b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelConfig.py
index cbe155ea9a72c5b6a41f4da1c9f0b009ccb302cb..4066807b4e7fa7e06acd6e79092371acfc4f43e4 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelConfig.py
+++ b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelConfig.py
@@ -44,13 +44,14 @@ def GeoModelCfg(configFlags):
 
 
 if __name__ == "__main__":
-    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    from AthenaConfiguration.AllConfigFlags import initConfigFlags
     # from AthenaConfiguration.TestDefaults import defaultTestFiles
-    # ConfigFlags.Input.Files = defaultTestFiles.RAW
+    configFlags = initConfigFlags()
+    # configFlags.Input.Files = defaultTestFiles.RAW
     Configurable.configurableRun3Behavior=1
-    ConfigFlags.GeoModel.FaserVersion = "Faser-01"
-    ConfigFlags.lock()
+    configFlags.GeoModel.FaserVersion = "Faser-01"
+    configFlags.lock()
 
-    acc = GeoModelCfg( ConfigFlags )
+    acc = GeoModelCfg( configFlags )
     acc.store( open("test.pkl", "wb") )
     print("All OK")
diff --git a/DetectorDescription/GeoModel/FaserGeoModel/python/ScintGMConfig.py b/DetectorDescription/GeoModel/FaserGeoModel/python/ScintGMConfig.py
index c2a25a9535cd4ec4ec25d1afbdae2b61583c2dc7..45a8f7011d12cb2cebfaeb04eb374a0032704acc 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/python/ScintGMConfig.py
+++ b/DetectorDescription/GeoModel/FaserGeoModel/python/ScintGMConfig.py
@@ -28,36 +28,38 @@ if __name__ == "__main__":
   from AthenaCommon.Logging import log
   from AthenaCommon.Constants import DEBUG
   from AthenaCommon.Configurable import Configurable
-  from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+  from CalypsoConfiguration.AllConfigFlags import initConfigFlags
   from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
   from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
   # Set up logging and new style config
   log.setLevel(DEBUG)
   Configurable.configurableRun3Behavior = True
-  ConfigFlags.GeoModel.FaserVersion = "Faser-01"
+
+  configFlags = initConfigFlags()
+  configFlags.GeoModel.FaserVersion = "Faser-01"
 
   # from AthenaConfiguration.TestDefaults import defaultTestFiles
   # Provide MC input
-  # ConfigFlags.Input.Files = defaultTestFiles.HITS
-  ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-  ConfigFlags.Detector.GeometryVeto   = True
-  ConfigFlags.Detector.GeometryTrigger= True
-  ConfigFlags.Detector.GeometryPreshower= True
-  #ConfigFlags.GeoModel.Align.Dynamic    = False
+  # configFlags.Input.Files = defaultTestFiles.HITS
+  configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+  configFlags.Detector.GeometryVeto   = True
+  configFlags.Detector.GeometryTrigger= True
+  configFlags.Detector.GeometryPreshower= True
+  #configFlags.GeoModel.Align.Dynamic    = False
   # Provide data input
   ##from AthenaConfiguration.TestDefaults import defaultTestFiles
   #
-  ConfigFlags.lock()
+  configFlags.lock()
   # Construct ComponentAccumulator
-  acc = MainServicesCfg(ConfigFlags)
-  acc.merge(PoolReadCfg(ConfigFlags))
-  acc.merge(ScintGeometryCfg(ConfigFlags)) # FIXME This sets up the whole Scint geometry would be nicer just to set up min required
+  acc = MainServicesCfg(configFlags)
+  acc.merge(PoolReadCfg(configFlags))
+  acc.merge(ScintGeometryCfg(configFlags)) # FIXME This sets up the whole Scint geometry would be nicer just to set up min required
   #acc.getService("StoreGateSvc").Dump=True
   acc.getService("ConditionStore").Dump=True
   acc.printConfig(withDetails=True)
   f=open('ScintGMCfg2.pkl','wb')
   acc.store(f)
   f.close()
-  ConfigFlags.dump()
+  configFlags.dump()
   # Execute and finish
   acc.run(maxEvents=3)
diff --git a/DetectorDescription/GeoModel/FaserGeoModel/test/FaserGeometryConfig_EVNT_test.py b/DetectorDescription/GeoModel/FaserGeoModel/test/FaserGeometryConfig_EVNT_test.py
index f8840a8c81c91babe614dc57bf4179f0ea550b5b..9da38d9078a9b80604fdf9cfa5130f611ac5b48f 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/test/FaserGeometryConfig_EVNT_test.py
+++ b/DetectorDescription/GeoModel/FaserGeoModel/test/FaserGeometryConfig_EVNT_test.py
@@ -9,7 +9,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log
     from AthenaCommon.Constants import VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.Enums import ProductionStep
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -20,17 +20,18 @@ if __name__ == "__main__":
 
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     # Provide MC input
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
-    ConfigFlags.Input.Files = defaultTestFiles.EVNT
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Input.Files = defaultTestFiles.EVNT
+    configFlags.GeoModel.FaserVersion = "FASER-01"
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     # Construct ComponentAccumulator
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
-    acc.merge(FaserGeometryCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
+    acc.merge(FaserGeometryCfg(configFlags))
     # acc.getService("StoreGateSvc").Dump=True
     # acc.getService("ConditionStore").Dump=True
 
@@ -48,6 +49,6 @@ if __name__ == "__main__":
     f=open('FaserGeoModelCfg_EVNT.pkl','wb')
     acc.store(f)
     f.close()
-    ConfigFlags.dump()
+    configFlags.dump()
     # Execute and finish
     sys.exit(int(acc.run(maxEvents=3).isFailure()))
diff --git a/Generators/FlukaReader/python/FlukaReaderAlg.py b/Generators/FlukaReader/python/FlukaReaderAlg.py
index 5349e2226d636020eebfba846477f33af774eae6..90085b2ad54e03c5f081650a761bca67f0abfec9 100644
--- a/Generators/FlukaReader/python/FlukaReaderAlg.py
+++ b/Generators/FlukaReader/python/FlukaReaderAlg.py
@@ -429,16 +429,17 @@ if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior = 1
 
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Detector.EnableFaserSCT = True
-    ConfigFlags.Output.EVNTFileName = args.output    
-    ConfigFlags.lock()
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Detector.EnableFaserSCT = True
+    configFlags.Output.EVNTFileName = args.output    
+    configFlags.lock()
 
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
     
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from AthenaConfiguration.ComponentFactory import CompFactory
@@ -451,7 +452,7 @@ if __name__ == "__main__":
 
     itemList = [ "EventInfo#McEventInfo", "McEventCollection#*" ]
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge(OutputStreamCfg(ConfigFlags, "EVNT", itemList, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, "EVNT", itemList, disableEventTag = True))
     cfg.getEventAlgo("OutputStreamEVNT").AcceptAlgs = ["FlukaReader"]
     sc = cfg.run(maxEvents = getNEvents(args.file, args.nevents) * args.nsamples)
     sys.exit(not sc.isSuccess())    
diff --git a/Generators/ForeseeGenerator/python/Validate.py b/Generators/ForeseeGenerator/python/Validate.py
index b0bd5c2629d107ddd280f1ab36d206f524388a98..d20a62da5119c8a39085d78512060bf0aa74f15f 100644
--- a/Generators/ForeseeGenerator/python/Validate.py
+++ b/Generators/ForeseeGenerator/python/Validate.py
@@ -230,19 +230,20 @@ if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior = 1
 
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Detector.EnableFaserSCT = True
-    ConfigFlags.Input.Files = args.file
-    ConfigFlags.lock()
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Detector.EnableFaserSCT = True
+    configFlags.Input.Files = args.file
+    configFlags.lock()
 
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
     
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    cfg.merge(PoolReadCfg(ConfigFlags))
+    cfg.merge(PoolReadCfg(configFlags))
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from AthenaConfiguration.ComponentFactory import CompFactory
diff --git a/Generators/ForeseeGenerator/share/convert_hepmc_to_evnt.py b/Generators/ForeseeGenerator/share/convert_hepmc_to_evnt.py
index e361240eb07afde038cfbbda09bf3888521997c4..2c6af9baf11cc005b1716ec3a53ace12ed397882 100644
--- a/Generators/ForeseeGenerator/share/convert_hepmc_to_evnt.py
+++ b/Generators/ForeseeGenerator/share/convert_hepmc_to_evnt.py
@@ -25,53 +25,54 @@ if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior = 1
 
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Input.RunNumber = [12345]
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [1]
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    configFlags = initConfigFlags()
+    configFlags.Input.RunNumber = [12345]
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [1]
 
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Detector.EnableFaserSCT = True
+    configFlags.Input.isMC = True
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Detector.EnableFaserSCT = True
 
-    ConfigFlags.Output.EVNTFileName = "myEVNT.pool.root"
+    configFlags.Output.EVNTFileName = "myEVNT.pool.root"
 
-    ConfigFlags.Exec.MaxEvents= -1
+    configFlags.Exec.MaxEvents= -1
 
     import sys
-    ConfigFlags.fillFromArgs(sys.argv[1:])
+    configFlags.fillFromArgs(sys.argv[1:])
 
 
-    ConfigFlags.Exec.MaxEvents = getNEvents(ConfigFlags.Input.Files[0], ConfigFlags.Exec.MaxEvents)    
+    configFlags.Exec.MaxEvents = getNEvents(configFlags.Input.Files[0], configFlags.Exec.MaxEvents)    
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 
     from HEPMCReader.HepMCReaderConfig import HepMCReaderCfg
 
     if doShiftLOS:
-        cfg.merge(HepMCReaderCfg(ConfigFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
+        cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
     else:
-        cfg.merge(HepMCReaderCfg(ConfigFlags))
+        cfg.merge(HepMCReaderCfg(configFlags))
 
     if doShiftLOS:
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
+        cfg.merge(ShiftLOSCfg(configFlags, 
                               xcross = 0, 
                               ycross = -150e-6,
                               xshift = 0,
                               yshift = 12))
 
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-    cfg.merge(McEventSelectorCfg(ConfigFlags))    
+    cfg.merge(McEventSelectorCfg(configFlags))    
 
     itemList = [ "EventInfo#McEventInfo", "McEventCollection#*" ]
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge(OutputStreamCfg(ConfigFlags, "EVNT", itemList, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, "EVNT", itemList, disableEventTag = True))
 
     sc = cfg.run()
     sys.exit(not sc.isSuccess())
diff --git a/Generators/GeneratorUtils/python/ShiftLOS.py b/Generators/GeneratorUtils/python/ShiftLOS.py
index 44a94c7a2572bdef501c4f8954a79c3fa8e2a544..8a2ff2a7b828567d2d04dff9d0204406000ffb04 100644
--- a/Generators/GeneratorUtils/python/ShiftLOS.py
+++ b/Generators/GeneratorUtils/python/ShiftLOS.py
@@ -137,24 +137,25 @@ if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior = 1
 
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
-    ConfigFlags.Detector.EnableFaserSCT = True
-    ConfigFlags.Input.Files = [ args.infile ]    
-    ConfigFlags.Output.EVNTFileName = args.outfile
-    ConfigFlags.lock()
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = True
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASER-01"           # Default FASER geometry
+    configFlags.Detector.EnableFaserSCT = True
+    configFlags.Input.Files = [ args.infile ]    
+    configFlags.Output.EVNTFileName = args.outfile
+    configFlags.lock()
 
     # Configure components
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
     
-    cfg = MainServicesCfg(ConfigFlags)
-    cfg.merge(PoolReadCfg(ConfigFlags))
+    cfg = MainServicesCfg(configFlags)
+    cfg.merge(PoolReadCfg(configFlags))
 
     import McParticleEvent.Pythonizations
     
@@ -170,7 +171,7 @@ if __name__ == "__main__":
 
     itemList = [ "EventInfo#McEventInfo", "McEventCollection#*" ]
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-    cfg.merge(OutputStreamCfg(ConfigFlags, "EVNT", itemList, disableEventTag = True))
+    cfg.merge(OutputStreamCfg(configFlags, "EVNT", itemList, disableEventTag = True))
 
     sc = cfg.run(maxEvents = args.nevents)
     sys.exit(not sc.isSuccess())
diff --git a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
index 37c0b39c894bba00af13416b4ac11072d41db1fb..f079b5a72b8fcf4edd768d21fccfa59edf2fd65b 100644
--- a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
+++ b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
@@ -103,18 +103,19 @@ if __name__=="__main__":
 
     from AthenaCommon.Logging import log
     from AthenaCommon.Constants import VERBOSE
-    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    from AthenaConfiguration.AllConfigFlags import initConfigFlags
 
     log.setLevel(VERBOSE)
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.RAW
-    ConfigFlags.Input.isMC = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.RAW
+    configFlags.Input.isMC = False
+    configFlags.lock()
 
     cfg=ComponentAccumulator()
 
-    acc  = MagneticFieldSvcCfg(ConfigFlags)
+    acc  = MagneticFieldSvcCfg(configFlags)
     log.verbose(acc.getPrimary())    
     cfg.merge(acc)
 
diff --git a/Neutrino/NeutrinoDetDescr/EmulsionGeoModel/test/EmulsionGMConfig_test.py b/Neutrino/NeutrinoDetDescr/EmulsionGeoModel/test/EmulsionGMConfig_test.py
index a3e5e27f231334bfc2fcfb10cd32f19af8247bcb..a9573925c8191748ae6f7ca960ff16f6223a17bb 100644
--- a/Neutrino/NeutrinoDetDescr/EmulsionGeoModel/test/EmulsionGMConfig_test.py
+++ b/Neutrino/NeutrinoDetDescr/EmulsionGeoModel/test/EmulsionGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from EmulsionGeoModel.EmulsionGeoModelConfig import EmulsionGeometryCfg
-    acc = EmulsionGeometryCfg(ConfigFlags)
+    acc = EmulsionGeometryCfg(configFlags)
     f=open('EmulsionGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Neutrino/NeutrinoRecAlgs/python/NeutrinoRecAlgsConfig.py b/Neutrino/NeutrinoRecAlgs/python/NeutrinoRecAlgsConfig.py
index de1dcdf9a5e8a92f7e68778ba4a5e23761096fee..e822049f278b83d3789cf38edcd524e1823fc453 100644
--- a/Neutrino/NeutrinoRecAlgs/python/NeutrinoRecAlgsConfig.py
+++ b/Neutrino/NeutrinoRecAlgs/python/NeutrinoRecAlgsConfig.py
@@ -28,35 +28,36 @@ def NeutrinoRecAlgsCfg(flags, name="NeutrinoRecAlgs", **kwargs):
 if __name__ == "__main__":
     from AthenaCommon.Logging import log#, logging
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
     Configurable.configurableRun3Behavior = True
     
 # Flags for this job
-    ConfigFlags.Input.Files = ["my.HITS.pool.root"]              # input file(s)
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
-    ConfigFlags.Detector.GeometryEmulsion = True
-    ConfigFlags.Detector.GeometryTrench   = True
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = ["my.HITS.pool.root"]              # input file(s)
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"         # Default FASER geometry
+    configFlags.Detector.GeometryEmulsion = True
+    configFlags.Detector.GeometryTrench   = True
+    configFlags.lock()
 
 # Configure components
 # Core framework
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
 # Data input
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
 
 # Algorithm
-    acc.merge(NeutrinoRecAlgsCfg(ConfigFlags, McEventCollection = "TruthEvent"))
+    acc.merge(NeutrinoRecAlgsCfg(configFlags, McEventCollection = "TruthEvent"))
 
 # Configure verbosity    
     msgSvc = acc.getService("MessageSvc")
     msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
-    # ConfigFlags.dump()
+    # configFlags.dump()
     # logging.getLogger('forcomps').setLevel(VERBOSE)
     #acc.foreach_component("*").OutputLevel = VERBOSE
     #acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/PhysicsAnalysis/NeutrinoSearch/python/FilterSearchConfig.py b/PhysicsAnalysis/NeutrinoSearch/python/FilterSearchConfig.py
index 7661f6df3dd5277298d2e4ec3ed206c26557ff8d..8115f324f22b328b3bdae054ca85702d4850a7d7 100644
--- a/PhysicsAnalysis/NeutrinoSearch/python/FilterSearchConfig.py
+++ b/PhysicsAnalysis/NeutrinoSearch/python/FilterSearchConfig.py
@@ -35,7 +35,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -46,7 +46,8 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Input.Files = [
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [
           '/run/media/dcasper/Data/faser/data/Faser-Physics-007613-TrigMask08-r0008-xAOD.root',
           '/run/media/dcasper/Data/faser/data/Faser-Physics-007705-TrigMask08-r0008-xAOD.root',
           '/run/media/dcasper/Data/faser/data/Faser-Physics-007720-TrigMask08-r0008-xAOD.root',
@@ -482,25 +483,25 @@ if __name__ == "__main__":
 
 
     ]
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(NeutrinoSearchAlgCfg(ConfigFlags, UseFlukaWeights=True))
+    acc.merge(NeutrinoSearchAlgCfg(configFlags, UseFlukaWeights=True))
 
     # # Hack to avoid problem with our use of MC databases when isMC = False
     replicaSvc = acc.getService("DBReplicaSvc")
@@ -510,7 +511,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -521,7 +522,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/PhysicsAnalysis/NeutrinoSearch/python/FlukaSearchConfig.py b/PhysicsAnalysis/NeutrinoSearch/python/FlukaSearchConfig.py
index 6e06eb9edf1ebbcbb30e1e3e1c208bb679801dd9..9c36f692e32d4d2e83b1e1772906019bc80fa5c5 100644
--- a/PhysicsAnalysis/NeutrinoSearch/python/FlukaSearchConfig.py
+++ b/PhysicsAnalysis/NeutrinoSearch/python/FlukaSearchConfig.py
@@ -35,7 +35,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -46,7 +46,8 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Input.Files = [
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [
         '/run/media/dcasper/Data/faser/fluka/210002/rec/r0009/./FaserMC-MDC_Fluka_unit30_Pm_71m_m3750_v3-210002-00011-s0007-r0009-xAOD.root',
         '/run/media/dcasper/Data/faser/fluka/210002/rec/r0009/./FaserMC-MDC_Fluka_unit30_Pm_71m_m3750_v3-210002-00003-s0007-r0009-xAOD.root',
         '/run/media/dcasper/Data/faser/fluka/210002/rec/r0009/./FaserMC-MDC_Fluka_unit30_Pm_71m_m3750_v3-210002-00001-s0007-r0009-xAOD.root',
@@ -93,25 +94,25 @@ if __name__ == "__main__":
         '/run/media/dcasper/Data/faser/fluka/210001/rec/r0009/./FaserMC-MDC_Fluka_unit30_Nm_71m_m3750_v3-210001-00002-s0007-r0009-xAOD.root'
     ]
     # Update this for samples with new field map
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(NeutrinoSearchAlgCfg(ConfigFlags, UseFlukaWeights=True))
+    acc.merge(NeutrinoSearchAlgCfg(configFlags, UseFlukaWeights=True))
 
     # # Hack to avoid problem with our use of MC databases when isMC = False
     # replicaSvc = acc.getService("DBReplicaSvc")
@@ -121,7 +122,7 @@ if __name__ == "__main__":
     # replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -132,7 +133,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/PhysicsAnalysis/NeutrinoSearch/python/GenieSearchConfig.py b/PhysicsAnalysis/NeutrinoSearch/python/GenieSearchConfig.py
index 34a805e7229e2e073cf3c60b68d1180ed426c69c..072ac03ee89f2d9537fc6d13394fa68139131ab3 100644
--- a/PhysicsAnalysis/NeutrinoSearch/python/GenieSearchConfig.py
+++ b/PhysicsAnalysis/NeutrinoSearch/python/GenieSearchConfig.py
@@ -35,7 +35,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -46,7 +46,8 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Input.Files = [
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [
         '/run/media/dcasper/Data/faser/genie/r0009/rec/./FaserMC-MDC_Genie_all_600fbInv_v1-200003-00040-00047-s0007-r0009-xAOD.root',
         '/run/media/dcasper/Data/faser/genie/r0009/rec/./FaserMC-MDC_Genie_all_600fbInv_v1-200003-00056-00063-s0007-r0009-xAOD.root',
         '/run/media/dcasper/Data/faser/genie/r0009/rec/./FaserMC-MDC_Genie_all_600fbInv_v1-200003-00120-00127-s0007-r0009-xAOD.root',
@@ -69,25 +70,25 @@ if __name__ == "__main__":
         '/run/media/dcasper/Data/faser/genie/r0009/rec/./FaserMC-MDC_Genie_all_600fbInv_v1-200003-00016-00023-s0007-r0009-xAOD.root',
         '/run/media/dcasper/Data/faser/genie/r0009/rec/./FaserMC-MDC_Genie_all_600fbInv_v1-200003-00168-00175-s0007-r0009-xAOD.root'
     ]
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(NeutrinoSearchAlgCfg(ConfigFlags, UseGenieWeights=True))
+    acc.merge(NeutrinoSearchAlgCfg(configFlags, UseGenieWeights=True))
 
     # # Hack to avoid problem with our use of MC databases when isMC = False
     # replicaSvc = acc.getService("DBReplicaSvc")
@@ -97,7 +98,7 @@ if __name__ == "__main__":
     # replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -108,7 +109,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/PhysicsAnalysis/NtupleDumper/scripts/analyzeRun.py b/PhysicsAnalysis/NtupleDumper/scripts/analyzeRun.py
index 4dc042f789723983c91fe0b803dd64054f1365b2..c8ec3766d4907d5c9fddc614e15e1544badc9e7d 100755
--- a/PhysicsAnalysis/NtupleDumper/scripts/analyzeRun.py
+++ b/PhysicsAnalysis/NtupleDumper/scripts/analyzeRun.py
@@ -24,7 +24,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -63,26 +63,27 @@ if __name__ == "__main__":
         outName=f"Faser-Physics-{runno:06d}-{start:05d}-{(end-1):05d}-{ptag}-PHYS.root"
 
     # Configure
-    ConfigFlags.Input.Files = fileList
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion   = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = fileList
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion   = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(NtupleDumperAlgCfg(ConfigFlags, outName))
+    acc.merge(NtupleDumperAlgCfg(configFlags, outName))
 
     AthenaEventLoopMgr = CompFactory.AthenaEventLoopMgr()
     AthenaEventLoopMgr.EventPrintoutInterval=1000
@@ -96,7 +97,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     if False:
@@ -108,7 +109,7 @@ if __name__ == "__main__":
         acc.getService("StoreGateSvc").Dump = True
         acc.getService("ConditionStore").Dump = True
         acc.printConfig(withDetails=True)
-        ConfigFlags.dump()
+        configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/PhysicsAnalysis/NtupleDumper/scripts/analyzeRunMC.py b/PhysicsAnalysis/NtupleDumper/scripts/analyzeRunMC.py
index 3ab805a116ee169d1a632d0252ca86ea1b36bd3f..bfadba95907dc8307e99418dd8dea4f0e2098a82 100644
--- a/PhysicsAnalysis/NtupleDumper/scripts/analyzeRunMC.py
+++ b/PhysicsAnalysis/NtupleDumper/scripts/analyzeRunMC.py
@@ -47,7 +47,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -76,26 +76,27 @@ if __name__ == "__main__":
     outName=f"MC-tuple-{runno:06d}-{num:05d}-{filesPerJob}.root"
 
     # Configure
-    ConfigFlags.Input.Files = fileList
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = fileList
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(NtupleDumperAlgCfg(ConfigFlags, outName, UseFlukaWeights=True, CaloConfig=run_config))
+    acc.merge(NtupleDumperAlgCfg(configFlags, outName, UseFlukaWeights=True, CaloConfig=run_config))
 
     AthenaEventLoopMgr = CompFactory.AthenaEventLoopMgr()
     AthenaEventLoopMgr.EventPrintoutInterval=1000
@@ -109,7 +110,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -120,7 +121,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py b/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
index 28c5a43d17c966ca40b8e3433147910d56e07c19..382c5972e744bca0d0bef80b7d97f4572fdb14d5 100755
--- a/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
+++ b/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
@@ -241,7 +241,7 @@ print(f"Random Only Filter = {args.randomOnlyTrigFilt}")
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -249,7 +249,9 @@ from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = filelist
+###
+configFlags = initConfigFlags()
+configFlags.Input.Files = filelist
 
 if len(args.geom) > 0:
     runtype = args.geom
@@ -260,16 +262,16 @@ else:
         runtype = "TI12Data04"
 
 if runtype in ["TI12Data04", "TI12MC04"]:
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # FASER geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"   
+    configFlags.GeoModel.FaserVersion = "FASERNU-04" # FASER geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"   
 
 elif runtype == "TI12Data03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Pick up new alignment   
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Pick up new alignment   
 
 elif runtype == "TI12MC03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
     
 else:
     print(f"Unknown: --geom {runtype}!")
@@ -281,23 +283,24 @@ if len(args.cond):
     print(f"Setting ConfigFlags.IOVDb.GlobalTag = {args.cond}")
     ConfigFlags.IOVDb.GlobalTag = args.cond
 
-ConfigFlags.Input.isMC = args.isMC
+configFlags.Input.isMC = args.isMC
 if args.isMC:
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"           # Use MC conditions 
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"           # Use MC conditions 
 else:
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"           # Use data conditions
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"           # Use data conditions
 
-ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
 
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags.GeoModel.FaserVersion   = "FASERNU-03"           # FASER geometry
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
 
 # Create kwargs for NtupleDumper
 grl_kwargs = {}
@@ -322,10 +325,10 @@ if args.backward:
 # algorithm
 from NtupleDumper.NtupleDumperConfig import NtupleDumperAlgCfg
 if args.isMC:
-    acc.merge(NtupleDumperAlgCfg(ConfigFlags, outfile, **mc_kwargs))
+    acc.merge(NtupleDumperAlgCfg(configFlags, outfile, **mc_kwargs))
 
 else:
-    acc.merge(NtupleDumperAlgCfg(ConfigFlags, outfile, DoBlinding=(not args.unblind), OnlyBlinded=args.onlyblind, DoScintFilter = args.scintFilt, DoTrackFilter = (not args.NoTrackFilt), DoTrigFilter = args.trigFilt, StableOnly = (not args.no_stable),DoRandomFilter = args.randomTrigFilt, DoRandomOnlyFilter=args.randomOnlyTrigFilt ,**grl_kwargs))
+    acc.merge(NtupleDumperAlgCfg(configFlags, outfile, DoBlinding=(not args.unblind), OnlyBlinded=args.onlyblind, DoScintFilter = args.scintFilt, DoTrackFilter = (not args.NoTrackFilt), DoTrigFilter = args.trigFilt, StableOnly = (not args.no_stable), DoRandomFilter = args.randomTrigFilt, DoRandomOnlyFilter=args.randomOnlyTrigFilt ,**grl_kwargs))
 
 if not args.verbose:
     from AthenaConfiguration.ComponentFactory import CompFactory
@@ -348,7 +351,7 @@ if not args.isMC:
 if args.verbose:
     log.setLevel(VERBOSE)
     acc.printConfig(withDetails=True)
-    ConfigFlags.dump()
+    configFlags.dump()
 else:
     log.setLevel(INFO)
 
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/test/PreshowerGMConfig_test.py b/Scintillator/ScintDetDescr/PreshowerGeoModel/test/PreshowerGMConfig_test.py
index 9b534a912aa7f51e3a6aca07f42fd91a808b5549..3727679b62ba323f0c59009eb211c1741f12c13c 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/test/PreshowerGMConfig_test.py
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/test/PreshowerGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from PreshowerGeoModel.PreshowerGeoModelConfig import PreshowerGeometryCfg
-    acc = PreshowerGeometryCfg(ConfigFlags)
+    acc = PreshowerGeometryCfg(configFlags)
     f=open('PreshowerGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/test/TriggerGMConfig_test.py b/Scintillator/ScintDetDescr/TriggerGeoModel/test/TriggerGMConfig_test.py
index 5d4c54c1d716ecebb940c477a9242cd1f324f002..46633f98fe63af28ad88a923015a534390484ca3 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/test/TriggerGMConfig_test.py
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/test/TriggerGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from TriggerGeoModel.TriggerGeoModelConfig import TriggerGeometryCfg
-    acc = TriggerGeometryCfg(ConfigFlags)
+    acc = TriggerGeometryCfg(configFlags)
     f=open('TriggerGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/test/VetoGMConfig_test.py b/Scintillator/ScintDetDescr/VetoGeoModel/test/VetoGMConfig_test.py
index c35b1c2bc1f655efc5bf57d69fa28b6a5596fe20..a1f7a79e117412b71e073556c7f93a7c7cdec2d4 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/test/VetoGMConfig_test.py
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/test/VetoGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from VetoGeoModel.VetoGeoModelConfig import VetoGeometryCfg
-    acc = VetoGeometryCfg(ConfigFlags)
+    acc = VetoGeometryCfg(configFlags)
     f=open('VetoGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Scintillator/ScintDetDescr/VetoNuGeoModel/test/VetoNuGMConfig_test.py b/Scintillator/ScintDetDescr/VetoNuGeoModel/test/VetoNuGMConfig_test.py
index f6be42c3f82fc07b2def087365dd203852cc2817..99d97bb1c649fbf46882d5a265cb2c05aa53315d 100644
--- a/Scintillator/ScintDetDescr/VetoNuGeoModel/test/VetoNuGMConfig_test.py
+++ b/Scintillator/ScintDetDescr/VetoNuGeoModel/test/VetoNuGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic    = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic    = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from VetoNuGeoModel.VetoNuGeoModelConfig import VetoNuGeometryCfg
-    acc = VetoNuGeometryCfg(ConfigFlags)
+    acc = VetoNuGeometryCfg(configFlags)
     f=open('VetoNuGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
index 5ea5e177495b959212ca2ea96abd65f0b37cb08c..4f81e04ee41b14abdd9a057ceb59ff2917cfb6aa 100755
--- a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
+++ b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
@@ -19,59 +19,60 @@ if __name__ == '__main__':
 #
 # Import and set config flags
 #
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
-    ConfigFlags.Exec.MaxEvents = 4  # can be overridden from command line with --evtMax=<number>
-    ConfigFlags.Exec.SkipEvents = 0 # can be overridden from command line with --skipEvents=<number>
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
+    configFlags = initConfigFlags()
+    configFlags.Exec.MaxEvents = 4  # can be overridden from command line with --evtMax=<number>
+    configFlags.Exec.SkipEvents = 0 # can be overridden from command line with --skipEvents=<number>
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
 #
 # All these must be specified to avoid auto-configuration
 #
-    ConfigFlags.Input.RunNumber = [12345] #Isn't updating - todo: investigate
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [1]
-    ConfigFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [12345] #Isn't updating - todo: investigate
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [1]
+    configFlags.Input.isMC = True
 #
 # Output file name
 # 
-    ConfigFlags.Output.HITSFileName = "my.HITS.pool.root" # can be overridden from command line with Output.HITSFileName=<name>
+    configFlags.Output.HITSFileName = "my.HITS.pool.root" # can be overridden from command line with Output.HITSFileName=<name>
 #
-# Sim ConfigFlags
+# Sim configFlags
 #
-    ConfigFlags.Sim.Layout = "FASER"
-    ConfigFlags.Sim.PhysicsList = "FTFP_BERT"
-    ConfigFlags.Sim.ReleaseGeoModel = False
-    ConfigFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
-    ConfigFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
-    ConfigFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
-    ConfigFlags.addFlag("Sim.Beam.yangle", 0)
-    ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
-    ConfigFlags.addFlag("Sim.Beam.yshift", 0)        
+    configFlags.Sim.Layout = "FASER"
+    configFlags.Sim.PhysicsList = "FTFP_BERT"
+    configFlags.Sim.ReleaseGeoModel = False
+    configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
+    configFlags.addFlag("Sim.Gun",{"Generator" : "SingleParticle"})  # Property bag for particle gun keyword:argument pairs
+    configFlags.addFlag("Sim.Beam.xangle", 0)  # Potential beam crossing angles
+    configFlags.addFlag("Sim.Beam.yangle", 0)
+    configFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
+    configFlags.addFlag("Sim.Beam.yshift", 0)        
 
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"             # Geometry set-up
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Conditions set-up
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)             # To avoid autoconfig 
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags.GeoModel.FaserVersion = "FASERNU-04"             # Geometry set-up
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Conditions set-up
+    configFlags.addFlag("Input.InitialTimeStamp", 0)             # To avoid autoconfig 
+    #configFlags.GeoModel.Align.Dynamic = False
 #
 # Override flags above from command line
 #
     import sys
-    ConfigFlags.fillFromArgs(sys.argv[1:])
+    configFlags.fillFromArgs(sys.argv[1:])
 
-    doShiftLOS = (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
-                  ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift)
+    doShiftLOS = (configFlags.Sim.Beam.xangle or configFlags.Sim.Beam.yangle or
+                  configFlags.Sim.Beam.xshift or configFlags.Sim.Beam.yshift)
 
 #     from math import atan
 #     from AthenaCommon.SystemOfUnits import GeV, TeV, cm, m
 #     from AthenaCommon.PhysicalConstants import pi
 #     import ParticleGun as PG
-#     ConfigFlags.Sim.Gun = {"Generator" : "SingleParticle", "pid" : 11, "energy" : PG.LogSampler(10*GeV, 1*TeV), "theta" :
+#     configFlags.Sim.Gun = {"Generator" : "SingleParticle", "pid" : 11, "energy" : PG.LogSampler(10*GeV, 1*TeV), "theta" :
 #                            PG.GaussianSampler(0, atan((10*cm)/(7*m)), oneside = True), "phi" : [0, 2*pi], "mass" : 0.511, "radius" : -10*cm, "randomSeed" : 12345}
 
     if doShiftLOS:
-        pgConfig = ConfigFlags.Sim.Gun
+        pgConfig = configFlags.Sim.Gun
         pgConfig["McEventKey"] = "BeamTruthEvent_ATLASCoord"
-        ConfigFlags.Sim.Gun = pgConfig
+        configFlags.Sim.Gun = pgConfig
 
 
 #
@@ -80,53 +81,53 @@ if __name__ == '__main__':
 # Start with minimal configuration for Testbeam
 #
     detectors = ['Veto', 'Preshower', 'FaserSCT', 'Ecal']
-    if ConfigFlags.GeoModel.FaserVersion.count("TB") == 0 :
+    if configFlags.GeoModel.FaserVersion.count("TB") == 0 :
         detectors += ['Trigger', 'Dipole']
-    if ConfigFlags.GeoModel.FaserVersion.count("FASERNU") > 0 :
+    if configFlags.GeoModel.FaserVersion.count("FASERNU") > 0 :
         detectors += ['Emulsion']
-    if ConfigFlags.GeoModel.FaserVersion.count("FASERNU-03") > 0 or ConfigFlags.GeoModel.FaserVersion.count("FASERNU-04") > 0:
+    if configFlags.GeoModel.FaserVersion.count("FASERNU-03") > 0 or configFlags.GeoModel.FaserVersion.count("FASERNU-04") > 0:
         detectors += ['VetoNu', 'Trench']
 #
 # Setup detector flags
 #
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # Finalize flags
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Initialize a new component accumulator
 #
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    cfg = MainServicesCfg(ConfigFlags)
+    cfg = MainServicesCfg(configFlags)
 #
 # Check whether a real input file was specified
 #
-    if ConfigFlags.Input.Files and ConfigFlags.Input.Files != ["_CALYPSO_GENERIC_INPUTFILE_NAME_"] :
-        print("Input.Files = ",ConfigFlags.Input.Files)
+    if configFlags.Input.Files and configFlags.Input.Files != ["_CALYPSO_GENERIC_INPUTFILE_NAME_"] :
+        print("Input.Files = ",configFlags.Input.Files)
 
 #
 # If so, and only one file that ends in .events or .hepmc read as HepMC
 #
-        if len(ConfigFlags.Input.Files) == 1 and (ConfigFlags.Input.Files[0].endswith(".events") or ConfigFlags.Input.Files[0].endswith(".hepmc")):
+        if len(configFlags.Input.Files) == 1 and (configFlags.Input.Files[0].endswith(".events") or configFlags.Input.Files[0].endswith(".hepmc")):
 
             from HEPMCReader.HepMCReaderConfig import HepMCReaderCfg
 
             if doShiftLOS:
-                cfg.merge(HepMCReaderCfg(ConfigFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
+                cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord"))
             else:
-                cfg.merge(HepMCReaderCfg(ConfigFlags))
+                cfg.merge(HepMCReaderCfg(configFlags))
 
             from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-            cfg.merge(McEventSelectorCfg(ConfigFlags))
+            cfg.merge(McEventSelectorCfg(configFlags))
 
 #
 # Else, set up to read it as a pool.root file
 #
         else:
             from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-            cfg.merge(PoolReadCfg(ConfigFlags))
+            cfg.merge(PoolReadCfg(configFlags))
 
             if doShiftLOS:
                 from SGComps.AddressRemappingConfig import InputOverwriteCfg
@@ -141,16 +142,16 @@ if __name__ == '__main__':
 # Particle gun generators - the generator, energy, angle, particle type, position, etc can be modified by passing keyword arguments
 #
         from FaserParticleGun.FaserParticleGunConfig import FaserParticleGunCfg
-        cfg.merge(FaserParticleGunCfg(ConfigFlags))
+        cfg.merge(FaserParticleGunCfg(configFlags))
         
         from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
-        cfg.merge(McEventSelectorCfg(ConfigFlags))
+        cfg.merge(McEventSelectorCfg(configFlags))
 
 #
 # Output file
 #
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
-    cfg.merge(PoolWriteCfg(ConfigFlags))
+    cfg.merge(PoolWriteCfg(configFlags))
 
 #
 # Shift LOS
@@ -160,22 +161,22 @@ if __name__ == '__main__':
 
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
-        cfg.merge(ShiftLOSCfg(ConfigFlags, 
-                              xcross = ConfigFlags.Sim.Beam.xangle, ycross = ConfigFlags.Sim.Beam.yangle,
-                              xshift = ConfigFlags.Sim.Beam.xshift, yshift = ConfigFlags.Sim.Beam.yshift))
+        cfg.merge(ShiftLOSCfg(configFlags, 
+                              xcross = configFlags.Sim.Beam.xangle, ycross = configFlags.Sim.Beam.yangle,
+                              xshift = configFlags.Sim.Beam.xshift, yshift = configFlags.Sim.Beam.yshift))
     
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+    cfg.merge(G4FaserAlgCfg(configFlags))
 
     #cfg.getEventAlgo("OutputStreamHITS").ItemList += ["McEventCollection#BeamTruthEvent_ATLASCoord"]    
 #
 # Uncomment to check volumes for overlap - will cause CTest to fail due to overwriting file
 #
 #    from G4DebuggingTools.G4DebuggingToolsConfigNew import VolumeDebugger
-#    cfg.merge(VolumeDebugger(ConfigFlags, name="G4UA::UserActionSvc", TargetVolume="", Verbose=True))
+#    cfg.merge(VolumeDebugger(configFlags, name="G4UA::UserActionSvc", TargetVolume="", Verbose=True))
 #
 # Dump config
 #
@@ -185,7 +186,7 @@ if __name__ == '__main__':
     cfg.getService("ConditionStore").Dump = True
     cfg.printConfig(withDetails=True, summariseProps = False)  # gags on ParticleGun if summariseProps = True?
 
-    ConfigFlags.dump()
+    configFlags.dump()
     f = open("test.pkl","wb")
     cfg.store(f)
     f.close()
diff --git a/Simulation/G4Faser/G4FaserAlg/test/runGeantinoScan.py b/Simulation/G4Faser/G4FaserAlg/test/runGeantinoScan.py
index adbaa245f210e1b5be02228738d6399e9faa2d5a..262cadc9dac13b3bbb244ffb2ff2e106ee5018f4 100644
--- a/Simulation/G4Faser/G4FaserAlg/test/runGeantinoScan.py
+++ b/Simulation/G4Faser/G4FaserAlg/test/runGeantinoScan.py
@@ -12,7 +12,7 @@ if __name__ == "__main__":
     from AthenaCommon.PhysicalConstants import pi
     from AthenaCommon.Constants import VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
@@ -27,41 +27,42 @@ if __name__ == "__main__":
     log.setLevel(VERBOSE)
     Configurable.configurableRun3Behavior = True
     from AthenaConfiguration.Enums import ProductionStep
-    ConfigFlags.Common.ProductionStep = ProductionStep.Simulation
-    ConfigFlags.Sim.ReleaseGeoModel     = False
-    ConfigFlags.Input.Files = [""]
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.Input.RunNumber = [12345]
-    ConfigFlags.Input.OverrideRunNumber = True
-    ConfigFlags.Input.LumiBlockNumber = [1]
+    configFlags = initConfigFlags()
+    configFlags.Common.ProductionStep = ProductionStep.Simulation
+    configFlags.Sim.ReleaseGeoModel     = False
+    configFlags.Input.Files = [""]
+    configFlags.Input.isMC = True
+    configFlags.Input.RunNumber = [12345]
+    configFlags.Input.OverrideRunNumber = True
+    configFlags.Input.LumiBlockNumber = [1]
     Configurable.configurableRun3Behavior = 1
-    ConfigFlags.Common.isOnline = False
-    ConfigFlags.Beam.Type = "collisions"
-    ConfigFlags.Beam.Energy = 7*TeV                              # Informational, does not affect simulation
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)
+    configFlags.Common.isOnline = False
+    configFlags.Beam.Type = "collisions"
+    configFlags.Beam.Energy = 7*TeV                              # Informational, does not affect simulation
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersion
+    configFlags.addFlag("Input.InitialTimeStamp", 0)
 #
 # Output settings
 #
-    ConfigFlags.Output.HITSFileName = "MaterialStepCollection.root"
-    ConfigFlags.GeoModel.GeoExportFile = "faserGeo.db" # Optional dump of geometry for browsing in vp1light
-    #ConfigFlags.GeoModel.Align.Dynamic  = False
+    configFlags.Output.HITSFileName = "MaterialStepCollection.root"
+    configFlags.GeoModel.GeoExportFile = "faserGeo.db" # Optional dump of geometry for browsing in vp1light
+    #configFlags.GeoModel.Align.Dynamic  = False
 #
 # Geometry-related settings
 # Do not change!
 #
     detectors = ['Veto', 'Trigger', 'Preshower', 'FaserSCT', 'Dipole', 'Ecal']
     from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
+    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
 #
 # All flags should be set before calling lock
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Construct ComponentAccumulator
 #
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 #
 # Particle Gun generator (comment out to read generator file)
 # Raw energies (without units given) are interpreted as MeV
@@ -78,12 +79,12 @@ if __name__ == "__main__":
 # (MCEventSelectorCfg for generating events with no input file,
 #  PoolReadCfg when reading generator data from an input file)
 #    
-    acc.merge(McEventSelectorCfg(ConfigFlags))
-    # acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(McEventSelectorCfg(configFlags))
+    # acc.merge(PoolReadCfg(configFlags))
 #
 #  Output stream configuration
 #
-    acc.merge(OutputStreamCfg(ConfigFlags, 
+    acc.merge(OutputStreamCfg(configFlags, 
                               "HITS", 
                              ["EventInfo#*",
                               "McEventCollection#TruthEvent",
@@ -97,14 +98,14 @@ if __name__ == "__main__":
 #
 #  Here is the configuration of the Geant4 pieces
 #    
-    acc.merge(FaserGeometryCfg(ConfigFlags))
-    acc.merge(UserActionMaterialStepRecorderSvcCfg(ConfigFlags))
-    acc.merge(G4FaserAlgCfg(ConfigFlags))
-    acc.addService(G4GeometryNotifierSvcCfg(ConfigFlags, ActivateLVNotifier=True))
+    acc.merge(FaserGeometryCfg(configFlags))
+    acc.merge(UserActionMaterialStepRecorderSvcCfg(configFlags))
+    acc.merge(G4FaserAlgCfg(configFlags))
+    acc.addService(G4GeometryNotifierSvcCfg(configFlags, ActivateLVNotifier=True))
 #
 # Verbosity
 #
-#    ConfigFlags.dump()
+#    configFlags.dump()
 #    logging.getLogger('forcomps').setLevel(VERBOSE)
 #    acc.foreach_component("*").OutputLevel = VERBOSE
 #    acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Simulation/G4Faser/G4FaserAlg/test/runGen.py b/Simulation/G4Faser/G4FaserAlg/test/runGen.py
index c223467afbf6e22627cef986c0298858fd124f4a..685e64d5c73f2e625a7c607ef46a7c72a0fd42e6 100755
--- a/Simulation/G4Faser/G4FaserAlg/test/runGen.py
+++ b/Simulation/G4Faser/G4FaserAlg/test/runGen.py
@@ -12,7 +12,7 @@ if __name__ == "__main__":
     from AthenaCommon.PhysicalConstants import pi
     from AthenaCommon.Constants import VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
@@ -28,48 +28,49 @@ if __name__ == "__main__":
 #
 # Input settings (Generator file)
 #
+    configFlags = initConfigFlags()
 #   from AthenaConfiguration.TestDefaults import defaultTestFiles
-#   ConfigFlags.Input.Files = defaultTestFiles.EVNT
+#   configFlags.Input.Files = defaultTestFiles.EVNT
 #
 # Alternatively, these must ALL be explicitly set to run without an input file
 # (if missing, it will try to read metadata from a non-existent file and crash)
 #
-    ConfigFlags.Input.Files = [""]
-    ConfigFlags.Input.isMC = True
-    ConfigFlags.Input.RunNumber = 12345
-    ConfigFlags.Input.Collections = [""]
-    ConfigFlags.Input.ProjectName = "mc19"
-    ConfigFlags.Common.isOnline = False
-    ConfigFlags.Beam.Type = "collisions"
-    ConfigFlags.Beam.Energy = 7*TeV                              # Informational, does not affect simulation
-    ConfigFlags.GeoModel.FaserVersion = "FASER-01"               # Always needed
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    configFlags.Input.Files = [""]
+    configFlags.Input.isMC = True
+    configFlags.Input.RunNumber = 12345
+    configFlags.Input.Collections = [""]
+    configFlags.Input.ProjectName = "mc19"
+    configFlags.Common.isOnline = False
+    configFlags.Beam.Type = "collisions"
+    configFlags.Beam.Energy = 7*TeV                              # Informational, does not affect simulation
+    configFlags.GeoModel.FaserVersion = "FASER-01"               # Always needed
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
 # Workaround for bug/missing flag; unimportant otherwise 
-    ConfigFlags.addFlag("Input.InitialTimeStamp", 0)
+    configFlags.addFlag("Input.InitialTimeStamp", 0)
 # Workaround to avoid problematic ISF code
-    ConfigFlags.GeoModel.Layout = "Development"
+    configFlags.GeoModel.Layout = "Development"
 #
 # Output settings
 #
-    ConfigFlags.Output.HITSFileName = "my.EVT.pool.root"
-#    ConfigFlags.GeoModel.GeoExportFile = "faserGeo.db" # Optional dump of geometry for browsing in vp1light
+    configFlags.Output.HITSFileName = "my.EVT.pool.root"
+#    configFlags.GeoModel.GeoExportFile = "faserGeo.db" # Optional dump of geometry for browsing in vp1light
 #
 # Geometry-related settings
 # Do not change!
 #
 #    detectors = ['Veto', 'Trigger', 'Preshower', 'FaserSCT', 'Dipole', 'Ecal']
 #    from CalypsoConfiguration.DetectorConfigFlags import setupDetectorsFromList
-#    setupDetectorsFromList(ConfigFlags, detectors, toggle_geometry=True)
-    #ConfigFlags.GeoModel.Align.Dynamic  = False
-    ConfigFlags.Sim.ReleaseGeoModel     = False
+#    setupDetectorsFromList(configFlags, detectors, toggle_geometry=True)
+    #configFlags.GeoModel.Align.Dynamic  = False
+    configFlags.Sim.ReleaseGeoModel     = False
 #
 # All flags should be set before calling lock
 #
-    ConfigFlags.lock()
+    configFlags.lock()
 #
 # Construct ComponentAccumulator
 #
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 #
 # Particle Gun generator (comment out to read generator file)
 # Raw energies (without units given) are interpreted as MeV
@@ -86,12 +87,12 @@ if __name__ == "__main__":
 # (MCEventSelectorCfg for generating events with no input file,
 #  PoolReadCfg when reading generator data from an input file)
 #    
-    acc.merge(McEventSelectorCfg(ConfigFlags))
-    # acc.merge(PoolReadCfg(ConfigFlags))
+    acc.merge(McEventSelectorCfg(configFlags))
+    # acc.merge(PoolReadCfg(configFlags))
 #
 #  Output stream configuration
 #
-    acc.merge(OutputStreamCfg(ConfigFlags, 
+    acc.merge(OutputStreamCfg(configFlags, 
                               "HITS", 
                              ["EventInfo#*",
                               "McEventCollection#TruthEvent",
@@ -104,13 +105,13 @@ if __name__ == "__main__":
 #
 #  Here is the configuration of the Geant4 pieces
 #    
-#    acc.merge(FaserGeometryCfg(ConfigFlags))
-#    acc.merge(G4FaserAlgCfg(ConfigFlags))
-#    acc.addService(G4GeometryNotifierSvcCfg(ConfigFlags, ActivateLVNotifier=True))
+#    acc.merge(FaserGeometryCfg(configFlags))
+#    acc.merge(G4FaserAlgCfg(configFlags))
+#    acc.addService(G4GeometryNotifierSvcCfg(configFlags, ActivateLVNotifier=True))
 #
 # Verbosity
 #
-#    ConfigFlags.dump()
+#    configFlags.dump()
 #    logging.getLogger('forcomps').setLevel(VERBOSE)
 #    acc.foreach_component("*").OutputLevel = VERBOSE
 #    acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Simulation/ISF/ISF_Core/FaserISF_Services/test/FaserISF_ServicesConfigNew_test.py b/Simulation/ISF/ISF_Core/FaserISF_Services/test/FaserISF_ServicesConfigNew_test.py
index 88c14ccb7498a0f77190503815eb42129ab7a4a0..4864e71a929c64ae8d198df0914fe1e325e132d1 100644
--- a/Simulation/ISF/ISF_Core/FaserISF_Services/test/FaserISF_ServicesConfigNew_test.py
+++ b/Simulation/ISF/ISF_Core/FaserISF_Services/test/FaserISF_ServicesConfigNew_test.py
@@ -16,30 +16,31 @@ if __name__ == '__main__':
 
 
   #import config flags
-  from AthenaConfiguration.AllConfigFlags import ConfigFlags
-  
+  from AthenaConfiguration.AllConfigFlags import initConfigFlags
+  configFlags = initConfigFlags()
+
   from AthenaConfiguration.TestDefaults import defaultTestFiles
   inputDir = defaultTestFiles.d
-  ConfigFlags.Input.Files = defaultTestFiles.EVNT
+  configFlags.Input.Files = defaultTestFiles.EVNT
 
-  ConfigFlags.Sim.WorldRRange = 15000
-  ConfigFlags.Sim.WorldZRange = 27000 #change defaults?
+  configFlags.Sim.WorldRRange = 15000
+  configFlags.Sim.WorldZRange = 27000 #change defaults?
   # Finalize 
-  ConfigFlags.lock()
+  configFlags.lock()
 
   from FaserISF_Services.FaserISF_ServicesConfigNew import FaserTruthServiceCfg, FaserGeoIDSvcCfg
 
   ## Initialize a new component accumulator
-  cfg = MainServicesCfg(ConfigFlags)
+  cfg = MainServicesCfg(configFlags)
 
   #add the algorithm
-  cfg.merge(FaserTruthServiceCfg(ConfigFlags))
-  cfg.merge(InputConverterCfg(ConfigFlags))
-  cfg.merge(FaserGeoIDSvcCfg(ConfigFlags))
+  cfg.merge(FaserTruthServiceCfg(configFlags))
+  cfg.merge(InputConverterCfg(configFlags))
+  cfg.merge(FaserGeoIDSvcCfg(configFlags))
 
   # Dump config
   cfg.printConfig(withDetails=True, summariseProps = True)
-  ConfigFlags.dump()
+  configFlags.dump()
 
 
   f=open("test.pkl","wb")
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/test/DipoleGMConfig_test.py b/Tracker/TrackerDetDescr/DipoleGeoModel/test/DipoleGMConfig_test.py
index c3675ef16bd09fc6c5081518e97b634ae54e6083..7904b02d982960ac5ee77abea51ed4955d7080bf 100755
--- a/Tracker/TrackerDetDescr/DipoleGeoModel/test/DipoleGMConfig_test.py
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/test/DipoleGMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic  = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic  = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from DipoleGeoModel.DipoleGeoModelConfig import DipoleGeometryCfg
-    acc = DipoleGeometryCfg(ConfigFlags)
+    acc = DipoleGeometryCfg(configFlags)
     f=open('DipoleGeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/test/FaserSCT_GMConfig_test.py b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/test/FaserSCT_GMConfig_test.py
index 2edd5d985334e0eafc070cbf3b2cfd43e0dc5cd2..4657bf3b7a31d428dd89ff651a79e31e031a7606 100755
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/test/FaserSCT_GMConfig_test.py
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/test/FaserSCT_GMConfig_test.py
@@ -6,17 +6,18 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 if __name__ == "__main__":
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
 
-    ConfigFlags.Input.Files = defaultTestFiles.HITS
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-    #ConfigFlags.GeoModel.Align.Dynamic  = False
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = defaultTestFiles.HITS
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+    #configFlags.GeoModel.Align.Dynamic  = False
+    configFlags.lock()
 
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from FaserSCT_GeoModel.FaserSCT_GeoModelConfig import FaserSCT_GeometryCfg
-    acc = FaserSCT_GeometryCfg(ConfigFlags)
+    acc = FaserSCT_GeometryCfg(configFlags)
     f=open('FaserSCT_GeometryCfg.pkl','wb')
     acc.store(f)
     f.close()
diff --git a/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py b/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py
index 4bccda40c331d418a482c26b71f71ac000d384b4..400d5a249af3abd4eceeeaa1daa97c8751196531 100644
--- a/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py
+++ b/Tracker/TrackerDigitization/FaserSCT_Digitization/test/FaserSCT_DigitizationDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -22,29 +22,30 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.HITS.pool.root']
-ConfigFlags.Output.RDOFileName = "my.RDO.pool.root"
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.HITS.pool.root']
+configFlags.Output.RDOFileName = "my.RDO.pool.root"
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.Digitization.TruthOutput = True
+configFlags.Digitization.TruthOutput = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
+acc.merge(FaserSCT_DigitizationCfg(configFlags))
 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -55,7 +56,7 @@ acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 # Execute and finish
 sc = acc.run(maxEvents=-1)
 # Success should be 0
diff --git a/Tracker/TrackerRecAlgs/FaserSpacePoints/python/FaserSpacePointsCosmics.py b/Tracker/TrackerRecAlgs/FaserSpacePoints/python/FaserSpacePointsCosmics.py
index 75153dedd6b89dd66d0d8af251f812b7d3cafde0..924d1ce7235b9f50e4d25ec46faf357b2aaf70f2 100644
--- a/Tracker/TrackerRecAlgs/FaserSpacePoints/python/FaserSpacePointsCosmics.py
+++ b/Tracker/TrackerRecAlgs/FaserSpacePoints/python/FaserSpacePointsCosmics.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 # from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -47,32 +47,33 @@ if __name__ == "__main__":
   Configurable.configurableRun3Behavior = True
 
   # Configure
-  ConfigFlags.Input.Files = ['my.RDO.pool.root']
-  ConfigFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
-  ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-  ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-  ConfigFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
-  ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-  ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
-  ConfigFlags.Common.isOnline = False
-  #ConfigFlags.GeoModel.Align.Dynamic = False
-  ConfigFlags.Beam.NumberOfCollisions = 0.
-
-  ConfigFlags.lock()
+  configFlags = initConfigFlags()
+  configFlags.Input.Files = ['my.RDO.pool.root']
+  configFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
+  configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+  configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+  configFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
+  configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+  configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
+  configFlags.Common.isOnline = False
+  #configFlags.GeoModel.Align.Dynamic = False
+  configFlags.Beam.NumberOfCollisions = 0.
+
+  configFlags.lock()
 
   # Core components
-  acc = MainServicesCfg(ConfigFlags)
-  acc.merge(PoolReadCfg(ConfigFlags))
+  acc = MainServicesCfg(configFlags)
+  acc.merge(PoolReadCfg(configFlags))
 
-  #acc.merge(writeDigitizationMetadata(ConfigFlags))
+  #acc.merge(writeDigitizationMetadata(configFlags))
 
   # Inner Detector
-  acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-  acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-  acc.merge(FaserSpacePointsCfg(ConfigFlags))
+  acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+  acc.merge(TrackerSpacePointFinderCfg(configFlags))
+  acc.merge(FaserSpacePointsCfg(configFlags))
 
   # Timing
-  #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+  #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
   # Dump config
   logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -83,7 +84,7 @@ if __name__ == "__main__":
   acc.getService("StoreGateSvc").Dump = True
   acc.getService("ConditionStore").Dump = True
   acc.printConfig(withDetails=True)
-  ConfigFlags.dump()
+  configFlags.dump()
 
   # Execute and finish
   sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/FaserSpacePoints/test/FaserSpacePointsDbg.py b/Tracker/TrackerRecAlgs/FaserSpacePoints/test/FaserSpacePointsDbg.py
index 8538b211acacc65df1d4cfec2033c4ea325e6934..78f6a2fb759db6da5ffc94485f08353374cfad76 100644
--- a/Tracker/TrackerRecAlgs/FaserSpacePoints/test/FaserSpacePointsDbg.py
+++ b/Tracker/TrackerRecAlgs/FaserSpacePoints/test/FaserSpacePointsDbg.py
@@ -3,7 +3,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
@@ -13,19 +13,20 @@ from FaserSpacePoints.FaserSpacePointsConfig import FaserSpacePointsCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "spacePoints.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "spacePoints.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(FaserSpacePointsCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(FaserSpacePointsCfg(configFlags))
 acc.getEventAlgo("Tracker::FaserSpacePoints").OutputLevel = DEBUG
 
 sc = acc.run(maxEvents=1000)
diff --git a/Tracker/TrackerRecAlgs/MyClusters/test/MyClustersDbg.py b/Tracker/TrackerRecAlgs/MyClusters/test/MyClustersDbg.py
index 08d85e1be20c9d0adcaa41d3ebfa9389696e02b5..a715070105a84a855a852d52f299ed92870f707e 100644
--- a/Tracker/TrackerRecAlgs/MyClusters/test/MyClustersDbg.py
+++ b/Tracker/TrackerRecAlgs/MyClusters/test/MyClustersDbg.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
@@ -15,18 +15,19 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "MyClusters.ESD.root"
-ConfigFlags.Output.AODFileName = "MyClsuters.AOD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "MyClusters.ESD.root"
+configFlags.Output.AODFileName = "MyClsuters.AOD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(MyClustersCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(MyClustersCfg(configFlags))
 acc.getEventAlgo("MyClustersAlg").OutputLevel = DEBUG
 
 sc = acc.run(maxEvents=10)
diff --git a/Tracker/TrackerRecAlgs/NoisyStripFinder/share/NoisyStripFinderJob.py b/Tracker/TrackerRecAlgs/NoisyStripFinder/share/NoisyStripFinderJob.py
index 8b9e1502a1fc19a2094f730535d83a98c7ffb4f2..6235c83623c8be6434af009a71aff25b624f91c1 100755
--- a/Tracker/TrackerRecAlgs/NoisyStripFinder/share/NoisyStripFinderJob.py
+++ b/Tracker/TrackerRecAlgs/NoisyStripFinder/share/NoisyStripFinderJob.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
@@ -38,23 +38,24 @@ for filename in args.file:
     else:
         filelist.append(filename)
 
-ConfigFlags.Input.Files = args.file
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
-#ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"
-ConfigFlags.Input.ProjectName = "data22"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = args.file
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+#configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.IOVDb.DatabaseInstance = "CONDBR3"
+configFlags.Input.ProjectName = "data22"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASERNU-03"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags, OccupancyCut=-1))
-acc.merge(NoisyStripFinderCfg(ConfigFlags, OutputHistRootName=args.outfile))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags, OccupancyCut=-1))
+acc.merge(NoisyStripFinderCfg(configFlags, OutputHistRootName=args.outfile))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
 replicaSvc = acc.getService("DBReplicaSvc")
diff --git a/Tracker/TrackerRecAlgs/NoisyStripFinder/test/NoisyStripFinderDbg.py b/Tracker/TrackerRecAlgs/NoisyStripFinder/test/NoisyStripFinderDbg.py
index eb563a10ee6c4488b97b23ef859fb5c452701ae5..8579477f236895a8a72a46f3539e5d6ec6e2cd24 100755
--- a/Tracker/TrackerRecAlgs/NoisyStripFinder/test/NoisyStripFinderDbg.py
+++ b/Tracker/TrackerRecAlgs/NoisyStripFinder/test/NoisyStripFinderDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
@@ -23,26 +23,27 @@ args = parser.parse_args()
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = args.file
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = args.file
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASERNU-03"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags, OccupancyCut=-1))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags, OccupancyCut=-1))
 acc.merge(FaserSCT_ClusterizationCfg(
-    ConfigFlags,
+    configFlags,
     DataObjectName="SCT_RDOs",
     ClusterToolTimingPattern="XXX"))
-acc.merge(NoisyStripFinderCfg(ConfigFlags))
+acc.merge(NoisyStripFinderCfg(configFlags))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
 replicaSvc = acc.getService("DBReplicaSvc")
diff --git a/Tracker/TrackerRecAlgs/OverlayRDO/python/HistoRDOConfig.py b/Tracker/TrackerRecAlgs/OverlayRDO/python/HistoRDOConfig.py
index c240ca00b5f1cc70185998ed188868036bb058a6..3a3f26e81aba1c4efc8e3af4f9d105840bac6dd6 100644
--- a/Tracker/TrackerRecAlgs/OverlayRDO/python/HistoRDOConfig.py
+++ b/Tracker/TrackerRecAlgs/OverlayRDO/python/HistoRDOConfig.py
@@ -23,7 +23,7 @@ def HistoRDOAlgCfg(flags, **kwargs):
     # ItemList += ["FaserSCT_RDO_Container#SCT_EDGEMODE_RDOs"]
     # # ItemList += ["Tracker::FaserSCT_ClusterContainer#" + chargePrefix + "SCT_ClusterContainer"]
 
-    # acc.merge(OutputStreamCfg(ConfigFlags,"RDO", ItemList=ItemList, disableEventTag=True))
+    # acc.merge(OutputStreamCfg(flags,"RDO", ItemList=ItemList, disableEventTag=True))
 
     thistSvc = CompFactory.THistSvc()
     thistSvc.Output += ["HIST2 DATAFILE='RDOtree.root' OPT='RECREATE'"]
@@ -37,7 +37,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -49,7 +49,8 @@ if __name__ == "__main__":
 
     # Configure
     # ConfigFlags.Overlay.DataOverlay = False
-    ConfigFlags.Input.Files = [ 
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [ 
         '/home/dcasper/Work/faser/darkphoton/overlay/myPos_Bin0RDO.pool.root',
         '/home/dcasper/Work/faser/darkphoton/overlay/myPos_Bin1RDO.pool.root',
         '/home/dcasper/Work/faser/darkphoton/overlay/myPos_Bin2RDO.pool.root',
@@ -69,34 +70,34 @@ if __name__ == "__main__":
         '/home/dcasper/Work/faser/darkphoton/overlay/myNeg_Bin7RDO.pool.root',
         '/home/dcasper/Work/faser/darkphoton/overlay/myNeg_Bin8RDO.pool.root',
     ]
-    # ConfigFlags.Input.SecondaryFiles = [ 'Neg_RDO.pool.root' ]
-    # ConfigFlags.Input.Files = [ '/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root']
-    # ConfigFlags.Input.SecondaryFiles = [ '/eos/experiment/faser/rec/2022/r0013/009166/Faser-Physics-009166-00485-r0013-xAOD.root' ]
-    # ConfigFlags.Output.RDOFileName = "Overlay.RDO.pool.root"
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
-
-    ConfigFlags.Detector.GeometryFaserSCT = True
-
-    ConfigFlags.lock()
+    # configFlags.Input.SecondaryFiles = [ 'Neg_RDO.pool.root' ]
+    # configFlags.Input.Files = [ '/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root']
+    # configFlags.Input.SecondaryFiles = [ '/eos/experiment/faser/rec/2022/r0013/009166/Faser-Physics-009166-00485-r0013-xAOD.root' ]
+    # configFlags.Output.RDOFileName = "Overlay.RDO.pool.root"
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
+
+    configFlags.Detector.GeometryFaserSCT = True
+
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(HistoRDOAlgCfg(ConfigFlags))
+    acc.merge(HistoRDOAlgCfg(configFlags))
 
     # from SGComps.AddressRemappingConfig import AddressRemappingCfg
     # acc.merge(AddressRemappingCfg([
-    #     "xAOD::EventInfo#EventInfo->" + ConfigFlags.Overlay.SigPrefix + "EventInfo",
-    #     "xAOD::EventAuxInfo#EventInfoAux.->" + ConfigFlags.Overlay.SigPrefix + "EventInfoAux.",
+    #     "xAOD::EventInfo#EventInfo->" + configFlags.Overlay.SigPrefix + "EventInfo",
+    #     "xAOD::EventAuxInfo#EventInfoAux.->" + configFlags.Overlay.SigPrefix + "EventInfoAux.",
     # ]))
 
     # Hack to avoid problem with our use of MC databases when isMC = False
@@ -107,7 +108,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -118,7 +119,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/OverlayRDO/python/OverlayRDOConfig.py b/Tracker/TrackerRecAlgs/OverlayRDO/python/OverlayRDOConfig.py
index e7e7fc8aea41bf4cf23349006d322e57daf5082f..74f739c78fcafb684214d5ea54242e0f140002f6 100644
--- a/Tracker/TrackerRecAlgs/OverlayRDO/python/OverlayRDOConfig.py
+++ b/Tracker/TrackerRecAlgs/OverlayRDO/python/OverlayRDOConfig.py
@@ -23,7 +23,7 @@ def OverlayRDOAlgCfg(flags, **kwargs):
     ItemList += ["FaserSCT_RDO_Container#SCT_EDGEMODE_RDOs"]
     # ItemList += ["Tracker::FaserSCT_ClusterContainer#" + chargePrefix + "SCT_ClusterContainer"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,"RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,"RDO", ItemList=ItemList, disableEventTag=True))
 
 
 
@@ -35,7 +35,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -46,36 +46,37 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Overlay.DataOverlay = False
-    ConfigFlags.Input.Files = [ 'Pos_RDO.pool.root']
-    ConfigFlags.Input.SecondaryFiles = [ 'Neg_RDO.pool.root' ]
-    # ConfigFlags.Input.Files = [ '/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root']
-    # ConfigFlags.Input.SecondaryFiles = [ '/eos/experiment/faser/rec/2022/r0013/009166/Faser-Physics-009166-00485-r0013-xAOD.root' ]
-    ConfigFlags.Output.RDOFileName = "Overlay.RDO.pool.root"
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
-
-    ConfigFlags.Detector.GeometryFaserSCT = True
-
-    ConfigFlags.lock()
+    configFlags = initConfigFlags()
+    configFlags.Overlay.DataOverlay = False
+    configFlags.Input.Files = [ 'Pos_RDO.pool.root']
+    configFlags.Input.SecondaryFiles = [ 'Neg_RDO.pool.root' ]
+    # configFlags.Input.Files = [ '/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root']
+    # configFlags.Input.SecondaryFiles = [ '/eos/experiment/faser/rec/2022/r0013/009166/Faser-Physics-009166-00485-r0013-xAOD.root' ]
+    configFlags.Output.RDOFileName = "Overlay.RDO.pool.root"
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
+
+    configFlags.Detector.GeometryFaserSCT = True
+
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(OverlayRDOAlgCfg(ConfigFlags))
+    acc.merge(OverlayRDOAlgCfg(configFlags))
 
     # from SGComps.AddressRemappingConfig import AddressRemappingCfg
     # acc.merge(AddressRemappingCfg([
-    #     "xAOD::EventInfo#EventInfo->" + ConfigFlags.Overlay.SigPrefix + "EventInfo",
-    #     "xAOD::EventAuxInfo#EventInfoAux.->" + ConfigFlags.Overlay.SigPrefix + "EventInfoAux.",
+    #     "xAOD::EventInfo#EventInfo->" + configFlags.Overlay.SigPrefix + "EventInfo",
+    #     "xAOD::EventAuxInfo#EventInfoAux.->" + configFlags.Overlay.SigPrefix + "EventInfoAux.",
     # ]))
 
     # Hack to avoid problem with our use of MC databases when isMC = False
@@ -86,7 +87,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -97,7 +98,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/OverlayRDO/python/SelectRDOConfig.py b/Tracker/TrackerRecAlgs/OverlayRDO/python/SelectRDOConfig.py
index d0458fa656aae11cc82b37e16a2e540e7039801a..50c2a654b77db435fb1031dacca250cc836ee2cc 100644
--- a/Tracker/TrackerRecAlgs/OverlayRDO/python/SelectRDOConfig.py
+++ b/Tracker/TrackerRecAlgs/OverlayRDO/python/SelectRDOConfig.py
@@ -36,39 +36,39 @@ def SelectRDOAlgCfg(flags, **kwargs):
     ItemList += ["FaserSCT_RDO_Container#" + chargePrefix + "SCT_EDGEMODE_RDOs"]
     # ItemList += ["Tracker::FaserSCT_ClusterContainer#" + chargePrefix + "SCT_ClusterContainer"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin0RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin0RDO", ItemList=ItemList, disableEventTag=True))
     osrdo0 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin0RDO")
     osrdo0.RequireAlgs += ["SelectRDOAlg","Bin0RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin1RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin1RDO", ItemList=ItemList, disableEventTag=True))
     osrdo1 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin1RDO")
     osrdo1.RequireAlgs += ["SelectRDOAlg","Bin1RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin2RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin2RDO", ItemList=ItemList, disableEventTag=True))
     osrdo2 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin2RDO")
     osrdo2.RequireAlgs += ["SelectRDOAlg","Bin2RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin3RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin3RDO", ItemList=ItemList, disableEventTag=True))
     osrdo3 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin3RDO")
     osrdo3.RequireAlgs += ["SelectRDOAlg","Bin3RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin4RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin4RDO", ItemList=ItemList, disableEventTag=True))
     osrdo4 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin4RDO")
     osrdo4.RequireAlgs += ["SelectRDOAlg","Bin4RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin5RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin5RDO", ItemList=ItemList, disableEventTag=True))
     osrdo5 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin5RDO")
     osrdo5.RequireAlgs += ["SelectRDOAlg","Bin5RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin6RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin6RDO", ItemList=ItemList, disableEventTag=True))
     osrdo6 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin6RDO")
     osrdo6.RequireAlgs += ["SelectRDOAlg","Bin6RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin7RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin7RDO", ItemList=ItemList, disableEventTag=True))
     osrdo7 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin7RDO")
     osrdo7.RequireAlgs += ["SelectRDOAlg","Bin7RDO"]
 
-    acc.merge(OutputStreamCfg(ConfigFlags,chargePrefix+"Bin8RDO", ItemList=ItemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(flags,chargePrefix+"Bin8RDO", ItemList=ItemList, disableEventTag=True))
     osrdo8 = acc.getEventAlgo("OutputStream" + chargePrefix + "Bin8RDO")
     osrdo8.RequireAlgs += ["SelectRDOAlg","Bin8RDO"]
 
@@ -82,7 +82,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -92,31 +92,32 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Input.Files = [ #'/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root' 
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = [ #'/eos/experiment/faser/rec/2022/r0013/009171/Faser-Physics-009171-00006-r0013-xAOD.root' 
                                 '/eos/experiment/faser/rec/2022/r0013/009166/Faser-Physics-009166-00485-r0013-xAOD.root'
                               ]
-    # ConfigFlags.Input.Files = [ 'Faser-Physics-009171-00006-r0013-xAOD.root', 
+    # configFlags.Input.Files = [ 'Faser-Physics-009171-00006-r0013-xAOD.root', 
     #                             'Faser-Physics-009166-00485-r0013-xAOD.root']
-    # ConfigFlags.Output.RDOFileName = chargePrefix + "RDO.pool.root"
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = False                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    # configFlags.Output.RDOFileName = chargePrefix + "RDO.pool.root"
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"               # Use data conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = False                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(SelectRDOAlgCfg(ConfigFlags, TrackCollection = "CKFTrackCollectionWithoutIFT", OutputTrackCollection = chargePrefix + "CKFTrackCollectionWithoutIFT"))
+    acc.merge(SelectRDOAlgCfg(configFlags, TrackCollection = "CKFTrackCollectionWithoutIFT", OutputTrackCollection = chargePrefix + "CKFTrackCollectionWithoutIFT"))
 
     from SGComps.AddressRemappingConfig import AddressRemappingCfg
     acc.merge(AddressRemappingCfg([
@@ -136,7 +137,7 @@ if __name__ == "__main__":
     replicaSvc.UseGeomSQLite = True
 
     # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+    #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
     # Dump config
     # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -147,7 +148,7 @@ if __name__ == "__main__":
     # acc.getService("StoreGateSvc").Dump = True
     # acc.getService("ConditionStore").Dump = True
     # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
+    # configFlags.dump()
 
     # Execute and finish
     sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py b/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
index 26387070de831937076235a9770c764d66a2170f..8ae4f309a1283d50a6ad3a889bcb15213d1f7902 100644
--- a/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
+++ b/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
@@ -47,7 +47,7 @@ if __name__ == "__main__":
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaConfiguration.TestDefaults import defaultTestFiles
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -58,26 +58,27 @@ if __name__ == "__main__":
     Configurable.configurableRun3Behavior = True
 
     # Configure
-    ConfigFlags.Input.Files = files # [ui.inputfile]
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = inputIsMC                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.Beam.NumberOfCollisions = 0.
+    configFlags = initConfigFlags()
+    configFlags.Input.Files = files # [ui.inputfile]
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-02"             # Always needed; must match FaserVersionS
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+    configFlags.Input.isMC = inputIsMC                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.Beam.NumberOfCollisions = 0.
 
-    ConfigFlags.Detector.GeometryFaserSCT = True
+    configFlags.Detector.GeometryFaserSCT = True
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     # Core components
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(PoolReadCfg(ConfigFlags))
+    acc = MainServicesCfg(configFlags)
+    acc.merge(PoolReadCfg(configFlags))
 
     # algorithm
-    acc.merge(PairVertexAlgCfg(ConfigFlags))
+    acc.merge(PairVertexAlgCfg(configFlags))
 
     # Hack to avoid problem with our use of MC databases when isMC = False
     if not inputIsMC:
diff --git a/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py b/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
index 154b9be85b7f6ad5aba088e7ef771bf5bcdb5ff2..a3214b1e7ecfc16ed657a48b97d5bad4aecb4cb3 100644
--- a/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
@@ -8,7 +8,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
@@ -20,32 +20,33 @@ from TrackCounts.TrackCountsConfig import TrackCountsAlgCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = [
+configFlags = initConfigFlags()
+configFlags.Input.Files = [
     '/eos/project/f/faser-commissioning/TI12Data/Run-001805/Faser-Physics-001805-00000.raw',
 ]
 
-ConfigFlags.Output.ESDFileName = "run001805_00.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = False
-ConfigFlags.Common.isOnline = False
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags.Output.ESDFileName = "run001805_00.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = False
+configFlags.Common.isOnline = False
+configFlags.GeoModel.FaserVersion = "FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.Detector.GeometryFaserSCT = True
+configFlags.Detector.GeometryFaserSCT = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
 
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-acc.merge(ClusterFitAlgCfg(ConfigFlags))
-acc.merge(TrackCountsAlgCfg(ConfigFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+acc.merge(ClusterFitAlgCfg(configFlags))
+acc.merge(TrackCountsAlgCfg(configFlags))
 
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 itemList = [ "xAOD::EventInfo#*",
@@ -60,7 +61,7 @@ itemList = [ "xAOD::EventInfo#*",
              "xAOD::WaveformClock#*",
              "xAOD::WaveformClockAuxInfo#*",
              ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"]
 
 # Dump config
@@ -72,7 +73,7 @@ acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"]
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackSeedPerformanceWriter/test/TrackSeedPerformanceWriterDbg.py b/Tracker/TrackerRecAlgs/TrackSeedPerformanceWriter/test/TrackSeedPerformanceWriterDbg.py
index 13b1df821bb32df540894ce34e3b944643715bfc..dbff23478901c971a968af29debedb87a68cd8bf 100644
--- a/Tracker/TrackerRecAlgs/TrackSeedPerformanceWriter/test/TrackSeedPerformanceWriterDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackSeedPerformanceWriter/test/TrackSeedPerformanceWriterDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -19,24 +19,25 @@ from TrackSeedPerformanceWriter.TrackSeedPerformanceWriterConfig import TrackSee
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "seeds.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = True
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "seeds.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = True
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, MaxClusters=20, TanThetaCut=0.1))
-acc.merge(TrackSeedPerformanceWriterCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, MaxClusters=20, TanThetaCut=0.1))
+acc.merge(TrackSeedPerformanceWriterCfg(configFlags))
 #acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = DEBUG
 acc.getEventAlgo("Tracker::TrackSeedPerformanceWriter").OutputLevel = DEBUG
 
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
index 00f31c86a7202eb7f90b5015bcbfe462d43c37f0..9a5d5d0e8884b4ab9a006d2be82a91cd2593ee80 100755
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -25,7 +25,8 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = [
+configFlags = initConfigFlags()
+configFlags.Input.Files = [
     'tb.raw',
     #'/eos/project-f/faser-commissioning/TI12Data/Run-001332/Faser-Physics-001332-00000.raw',
     #'/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00000.raw',
@@ -92,35 +93,35 @@ ConfigFlags.Input.Files = [
     # '/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00061.raw',
     # '/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00062.raw'
 ]
-#ConfigFlags.Output.ESDFileName = "run608.ESD.pool.root"
-#ConfigFlags.Output.ESDFileName = "run001332.ESD.pool.root"
-ConfigFlags.Output.ESDFileName = "tb.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+#configFlags.Output.ESDFileName = "run608.ESD.pool.root"
+#configFlags.Output.ESDFileName = "run001332.ESD.pool.root"
+configFlags.Output.ESDFileName = "tb.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.Detector.GeometryFaserSCT = True
+configFlags.Detector.GeometryFaserSCT = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-#acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+#acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-acc.merge(ClusterFitAlgCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+acc.merge(ClusterFitAlgCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 #acc.getEventAlgo("Tracker::ClusterFitAlg").OutputLevel = DEBUG
 
 from AthenaConfiguration.ComponentFactory import CompFactory
@@ -145,10 +146,10 @@ itemList = [ "xAOD::EventInfo#*",
              "xAOD::WaveformClock#*",
              "xAOD::WaveformClockAuxInfo#*",
            ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"] 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -159,7 +160,7 @@ acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"]
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=1000)
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
index cb09039496df5501c12d41db8804243a796128a3..7be169f1c3fd740442da062bbfdb7c1734c55678 100644
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -25,7 +25,8 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = [
+configFlags = initConfigFlags()
+configFlags.Input.Files = [
     '/eos/project-f/faser-commissioning/TI12Data/Run-001332/Faser-Physics-001332-00000.raw',
     #'/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00000.raw',
     # '/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00001.raw',
@@ -91,34 +92,34 @@ ConfigFlags.Input.Files = [
     # '/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00061.raw',
     # '/eos/project-f/faser-commissioning/winter2020CosmicsStand/Run-000608/Faser-Physics-000608-00062.raw'
 ]
-#ConfigFlags.Output.ESDFileName = "run608.ESD.pool.root"
-ConfigFlags.Output.ESDFileName = "run001332.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER geometry
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+#configFlags.Output.ESDFileName = "run608.ESD.pool.root"
+configFlags.Output.ESDFileName = "run001332.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER geometry
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.Detector.GeometryFaserSCT = True
+configFlags.Detector.GeometryFaserSCT = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-#acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+#acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-acc.merge(ClusterFitAlgCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+acc.merge(ClusterFitAlgCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 #acc.getEventAlgo("Tracker::ClusterFitAlg").OutputLevel = DEBUG
 
 # explicitly save RDO information
@@ -135,10 +136,10 @@ itemList = [ "xAOD::EventInfo#*",
              "xAOD::WaveformClock#*",
              "xAOD::WaveformClockAuxInfo#*",
            ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"] 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -149,7 +150,7 @@ acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"]
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerData/test/TI12TrackerSegmentFitDataDbg.py b/Tracker/TrackerRecAlgs/TrackerData/test/TI12TrackerSegmentFitDataDbg.py
index c0130d0f25dd5c71f410f064c6865cd82a2b69f7..72eb45a6dd2b9f2a7c693472e4767c0c2f8e26ac 100644
--- a/Tracker/TrackerRecAlgs/TrackerData/test/TI12TrackerSegmentFitDataDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerData/test/TI12TrackerSegmentFitDataDbg.py
@@ -6,7 +6,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -19,25 +19,26 @@ from TrackerData.TrackerSegmentFitDataConfig import TrackerSegmentFitDataCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['/home/tboeckh/tmp/Faser-Physics-006470-00093.raw_middleStation.SPs']
-ConfigFlags.Output.ESDFileName = "TrackerSegmentFitData.ESD.pool.root"
-ConfigFlags.addFlag("Output.xAODFileName", f"TrackerSegmentFitData_xAOD.root")
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASER-02"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['/home/tboeckh/tmp/Faser-Physics-006470-00093.raw_middleStation.SPs']
+configFlags.Output.ESDFileName = "TrackerSegmentFitData.ESD.pool.root"
+configFlags.addFlag("Output.xAODFileName", f"TrackerSegmentFitData_xAOD.root")
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASER-02"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, name="LevelClustering", DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, name=f"LevelFit", MaxClusters=44))
-acc.merge(TrackerSegmentFitDataCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, name="LevelClustering", DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
+acc.merge(SegmentFitAlgCfg(configFlags, name=f"LevelFit", MaxClusters=44))
+acc.merge(TrackerSegmentFitDataCfg(configFlags))
 acc.getEventAlgo("Tracker::TrackerSegmentFitDataAlg").OutputLevel = DEBUG
 itemList = ["xAOD::EventInfo#*",
             "xAOD::EventAuxInfo#*",
@@ -47,7 +48,7 @@ itemList = ["xAOD::EventInfo#*",
             "Tracker::FaserSCT_ClusterContainer#*",
             "TrackCollection#*"
             ]
-acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList))
 
 replicaSvc = acc.getService("DBReplicaSvc")
 replicaSvc.COOLSQLiteVetoPattern = ""
diff --git a/Tracker/TrackerRecAlgs/TrackerData/test/TrackerSegmentFitDataDbg.py b/Tracker/TrackerRecAlgs/TrackerData/test/TrackerSegmentFitDataDbg.py
index 4a9f0529f1757d786e168897d1019c5eea3c7c6b..8e9ac7fdf0dda2820bb304f337f6433376ddfb60 100644
--- a/Tracker/TrackerRecAlgs/TrackerData/test/TrackerSegmentFitDataDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerData/test/TrackerSegmentFitDataDbg.py
@@ -6,7 +6,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -18,27 +18,28 @@ from TrackerData.TrackerSegmentFitDataConfig import TrackerSegmentFitDataCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ["my.RDO.pool.root"]
-ConfigFlags.Output.ESDFileName = "TrackerSegmentFitData.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data22"
-ConfigFlags.Input.isMC = True
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.addFlag("Output.xAODFileName", f"TrackerSegmentFitData_xAOD.root")
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ["my.RDO.pool.root"]
+configFlags.Output.ESDFileName = "TrackerSegmentFitData.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data22"
+configFlags.Input.isMC = True
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.addFlag("Output.xAODFileName", f"TrackerSegmentFitData_xAOD.root")
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_RDOs"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.5, MinClustersPerFit=5, TanThetaCut=0.25))
-acc.merge(TrackerSegmentFitDataCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_RDOs"))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.5, MinClustersPerFit=5, TanThetaCut=0.25))
+acc.merge(TrackerSegmentFitDataCfg(configFlags))
 acc.getEventAlgo("Tracker::TrackerSegmentFitDataAlg").OutputLevel = DEBUG
 itemList = ["xAOD::EventInfo#*",
             "xAOD::EventAuxInfo#*",
@@ -48,7 +49,7 @@ itemList = ["xAOD::EventInfo#*",
             "Tracker::FaserSCT_ClusterContainer#*",
             "TrackCollection#*"
             ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 
 sc = acc.run(maxEvents=-1)
 sys.exit(not sc.isSuccess())
diff --git a/Tracker/TrackerRecAlgs/TrackerData/test/TrackerTruthDataDbg.py b/Tracker/TrackerRecAlgs/TrackerData/test/TrackerTruthDataDbg.py
index 13c664958b5695ed1a89fffed5d7794d93e56cd3..cfa31792b3a402ef0b8cc0f66d630b13781ad1ef 100644
--- a/Tracker/TrackerRecAlgs/TrackerData/test/TrackerTruthDataDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerData/test/TrackerTruthDataDbg.py
@@ -6,7 +6,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from TrackerData.TrackerTruthDataConfig import TrackerTruthDataCfg
@@ -14,23 +14,24 @@ from TrackerData.TrackerTruthDataConfig import TrackerTruthDataCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ["my.HITS.pool.root"]
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data22"
-ConfigFlags.Input.isMC = True
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ["my.HITS.pool.root"]
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data22"
+configFlags.Input.isMC = True
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
 
-acc.merge(TrackerTruthDataCfg(ConfigFlags))
+acc.merge(TrackerTruthDataCfg(configFlags))
 acc.getEventAlgo("Tracker::TrackerTruthDataAlg").OutputLevel = DEBUG
 
 # Execute and finish
diff --git a/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbg.py b/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbg.py
index ddbbed53dc2e98c59f0944730e90627f461fbf71..15d44ce2d946a10a1d5e47c0c0fe3133644a5530 100644
--- a/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -22,26 +22,27 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "myClusters.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "myClusters.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -52,7 +53,7 @@ acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbgCosmics.py b/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbgCosmics.py
index 3df865a06d394bdc01ccfc273deeddf384bfaecd..135a06f6dc0622e588414467eac933b93f25bcc3 100644
--- a/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbgCosmics.py
+++ b/Tracker/TrackerRecAlgs/TrackerPrepRawDataFormation/test/FaserSCT_ClusterizationDbgCosmics.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -22,31 +22,32 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "myClusters.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "myClusters.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -57,7 +58,7 @@ acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFit.py b/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFit.py
index dd01f8592b137294045cd6e5347dd215ac282b55..1502a5eed20e01e7cbd1459f744403956c261288 100644
--- a/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFit.py
+++ b/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFit.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 # from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -53,33 +53,34 @@ if __name__ == "__main__":
   Configurable.configurableRun3Behavior = True
 
   # Configure
-  ConfigFlags.Input.Files = ['my.RDO.pool.root']
-  ConfigFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
-  ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-  ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-#  ConfigFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
-  ConfigFlags.Input.isMC = True
+  configFlags = initConfigFlags()
+  configFlags.Input.Files = ['my.RDO.pool.root']
+  configFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
+  configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+  configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+#  configFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
+  configFlags.Input.isMC = True
   # Needed to bypass autoconfig
-  ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
-  ConfigFlags.Common.isOnline = False
-  #ConfigFlags.GeoModel.Align.Dynamic = False
-  ConfigFlags.Beam.NumberOfCollisions = 0.
+  configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
+  configFlags.Common.isOnline = False
+  #configFlags.GeoModel.Align.Dynamic = False
+  configFlags.Beam.NumberOfCollisions = 0.
 
-  ConfigFlags.lock()
+  configFlags.lock()
 
   # Core components
-  acc = MainServicesCfg(ConfigFlags)
-  acc.merge(PoolReadCfg(ConfigFlags))
+  acc = MainServicesCfg(configFlags)
+  acc.merge(PoolReadCfg(configFlags))
 
-  #acc.merge(writeDigitizationMetadata(ConfigFlags))
+  #acc.merge(writeDigitizationMetadata(configFlags))
 
   # Inner Detector
-  acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-  acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-  acc.merge(TrackerSPFitCfg(ConfigFlags))
+  acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+  acc.merge(TrackerSpacePointFinderCfg(configFlags))
+  acc.merge(TrackerSPFitCfg(configFlags))
 
   # Timing
-  #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+  #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
   # Dump config
   logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -90,7 +91,7 @@ if __name__ == "__main__":
   acc.getService("StoreGateSvc").Dump = True
   acc.getService("ConditionStore").Dump = True
   acc.printConfig(withDetails=True)
-  ConfigFlags.dump()
+  configFlags.dump()
 
   # Execute and finish
   sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFitTI12Data.py b/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFitTI12Data.py
index d9ffc85e6d309d89e6a2b6fb879c94456b0c7589..621120955f1ee1940fa8010ab348a3b037c2cf9a 100644
--- a/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFitTI12Data.py
+++ b/Tracker/TrackerRecAlgs/TrackerSPFit/python/TrackerSPFitTI12Data.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 #from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -51,31 +51,32 @@ if __name__ == "__main__":
   Configurable.configurableRun3Behavior = True
 
   # Configure
-  ConfigFlags.Input.Files = ['/eos/project-f/faser-commissioning/TI12Data/Run-004272/Faser-Physics-004272-00010.raw']
-  ConfigFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
-  ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-  ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-  ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-  ConfigFlags.Input.isMC = False
+  configFlags = initConfigFlags()
+  configFlags.Input.Files = ['/eos/project-f/faser-commissioning/TI12Data/Run-004272/Faser-Physics-004272-00010.raw']
+  configFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
+  configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+  configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+  configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+  configFlags.Input.isMC = False
   # Needed to bypass autoconfig
-  ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
-  ConfigFlags.Common.isOnline = False
-  #ConfigFlags.GeoModel.Align.Dynamic = False
-  ConfigFlags.Beam.NumberOfCollisions = 0.
+  configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
+  configFlags.Common.isOnline = False
+  #configFlags.GeoModel.Align.Dynamic = False
+  configFlags.Beam.NumberOfCollisions = 0.
 
-  ConfigFlags.lock()
+  configFlags.lock()
 
   # Core components
-  acc = MainServicesCfg(ConfigFlags)
-  acc.merge(PoolWriteCfg(ConfigFlags))
+  acc = MainServicesCfg(configFlags)
+  acc.merge(PoolWriteCfg(configFlags))
 
   from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-  acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-  acc.merge(WaveformReconstructionCfg(ConfigFlags))
-  acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-#  acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-  acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-  acc.merge(TrackerSPFitCfg(ConfigFlags))
+  acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+  acc.merge(WaveformReconstructionCfg(configFlags))
+  acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+#  acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+  acc.merge(TrackerSpacePointFinderCfg(configFlags))
+  acc.merge(TrackerSPFitCfg(configFlags))
 #  from AthenaConfiguration.ComponentFactory import CompFactory
 #  decoderTool = CompFactory.RawWaveformDecoderTool(name = "RawWaveformDecoderTool", 
 ##      CaloChannels = [0, 1, 2,3, 4, 5], 
@@ -85,7 +86,7 @@ if __name__ == "__main__":
 #  acc.addPublicTool(decoderTool)
 
   # Timing
-  #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+  #acc.merge(MergeRecoTimingObjCfg(configFlags))
 
   # Dump config
   logging.getLogger('forcomps').setLevel(INFO)
@@ -96,7 +97,7 @@ if __name__ == "__main__":
   acc.getService("StoreGateSvc").Dump = True
   acc.getService("ConditionStore").Dump = True
   acc.printConfig(withDetails=True)
-  ConfigFlags.dump()
+  configFlags.dump()
 
   # Execute and finish
   sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSPFit/test/TrackerSPFitDbg.py b/Tracker/TrackerRecAlgs/TrackerSPFit/test/TrackerSPFitDbg.py
index a59e111bde1fda067f7734d07a785e72a6222e9f..ca3832b3f93ce68d121bc99e7a022f5616484ae2 100644
--- a/Tracker/TrackerRecAlgs/TrackerSPFit/test/TrackerSPFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSPFit/test/TrackerSPFitDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -23,28 +23,29 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(TrackerSPFitCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(TrackerSPFitCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -55,7 +56,7 @@ acc.getCondAlgo("FaserSCT_DetectorElementCondAlg").OutputLevel = VERBOSE
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSeedFinder/test/TrackerSeedFinderDbg.py b/Tracker/TrackerRecAlgs/TrackerSeedFinder/test/TrackerSeedFinderDbg.py
index d4808654ff787740d7b0a8e66bf291db706c8412..280d1047203076e1cd6fca3676e6450b7cd0fdc5 100644
--- a/Tracker/TrackerRecAlgs/TrackerSeedFinder/test/TrackerSeedFinderDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSeedFinder/test/TrackerSeedFinderDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -24,30 +24,31 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-# ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-#ConfigFlags.Concurrency.NumThreads = 1
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+# configFlags.GeoModel.FaserVersion = "FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+#configFlags.Concurrency.NumThreads = 1
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(TrackerSeedFinderCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(TrackerSeedFinderCfg(configFlags))
 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -58,7 +59,7 @@ acc.foreach_component("*ClassID*").OutputLevel = INFO
 acc.getService("StoreGateSvc").Dump = True
 acc.getService("ConditionStore").Dump = True
 acc.printConfig(withDetails=True)
-ConfigFlags.dump()
+configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/MCTrackerSegmentFit.py b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/MCTrackerSegmentFit.py
index f965519ab998a3cbfc8b89604541c149aa160d4f..c7f067081dab4816733364494dc89a1b489b1e0d 100644
--- a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/MCTrackerSegmentFit.py
+++ b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/MCTrackerSegmentFit.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -25,27 +25,28 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "segmentFit.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = True
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.addFlag("Output.xAODFileName", "segmentFit.xAOD.pool.root")
-# ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "segmentFit.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = True
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.addFlag("Output.xAODFileName", "segmentFit.xAOD.pool.root")
+# configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags))
 #acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = DEBUG
 
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -57,7 +58,7 @@ itemList = ["xAOD::EventInfo#*",
             "Tracker::FaserSCT_ClusterContainer#*",
             "TrackCollection#*"
             ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -68,7 +69,7 @@ acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TestBeamSegmentFitDbg.py b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TestBeamSegmentFitDbg.py
index 774de1d552b655cb487818ee3ba6890c64ad0812..50b63999eb150045329c2b4b45a30ee8d5d8ca6b 100755
--- a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TestBeamSegmentFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TestBeamSegmentFitDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -25,36 +25,37 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = [
+configFlags = initConfigFlags()
+configFlags.Input.Files = [
     'tbMu.raw',
 ]
-ConfigFlags.Output.ESDFileName = "tbMu.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags.Output.ESDFileName = "tbMu.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-# ConfigFlags.Detector.GeometryFaserSCT = True
+# configFlags.Detector.GeometryFaserSCT = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-#acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+#acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, TanThetaCut = 0.0, MaxClusters = 25))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+acc.merge(SegmentFitAlgCfg(configFlags, TanThetaCut = 0.0, MaxClusters = 25))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = VERBOSE
 
 # from AthenaConfiguration.ComponentFactory import CompFactory
@@ -79,7 +80,7 @@ acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = VERBOSE
 #              "xAOD::WaveformClock#*",
 #              "xAOD::WaveformClockAuxInfo#*",
 #            ]
-# acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+# acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 # acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::SegmentFitAlg"] 
 
 #
@@ -95,11 +96,11 @@ itemList = [ "xAOD::EventInfo#*"
              #, "Tracker::SCT_SpacePointOverlapCollection#*"
              , "TrackCollection#*"
 ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 
 # Waveform reconstruction
 from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionOutputCfg    
-acc.merge(WaveformReconstructionOutputCfg(ConfigFlags))
+acc.merge(WaveformReconstructionOutputCfg(configFlags))
 
 
 
@@ -112,7 +113,7 @@ replicaSvc.UseGeomSQLite = True
 
 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -123,7 +124,7 @@ replicaSvc.UseGeomSQLite = True
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TrackerSegmentFitDbg.py b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TrackerSegmentFitDbg.py
index 4da7137e18615f69a08288210a855c91e483abb5..882f1cf778cce3f8ffc6849def7d10888fe07ba8 100644
--- a/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TrackerSegmentFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSegmentFit/test/TrackerSegmentFitDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -25,36 +25,37 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = [
+configFlags = initConfigFlags()
+configFlags.Input.Files = [
     '/eos/project-f/faser-commissioning/TI12Data/Run-005684/Faser-Physics-005684-00000.raw',
 ]
-ConfigFlags.Output.ESDFileName = "run005684-00000.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.GeoModel.FaserVersion     = "FASER-02"           # FASER geometry
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags.Output.ESDFileName = "run005684-00000.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.GeoModel.FaserVersion     = "FASER-02"           # FASER geometry
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.Detector.GeometryFaserSCT = True
+configFlags.Detector.GeometryFaserSCT = True
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-#acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+#acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(WaveformReconstructionCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(WaveformReconstructionCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs"))
+acc.merge(SegmentFitAlgCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
 #acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = DEBUG
 
 # explicitly save RDO information
@@ -67,11 +68,11 @@ itemList = [ "xAOD::EventInfo#*"
              , "Tracker::FaserSCT_ClusterContainer#*"
              , "TrackCollection#*"
 ]
-acc.merge(OutputStreamCfg(ConfigFlags, "ESD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "ESD", itemList))
 
 # Waveform reconstruction
 from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionOutputCfg    
-acc.merge(WaveformReconstructionOutputCfg(ConfigFlags))
+acc.merge(WaveformReconstructionOutputCfg(configFlags))
 
 # Hack to avoid problem with our use of MC databases when isMC = False
 replicaSvc = acc.getService("DBReplicaSvc")
@@ -81,7 +82,7 @@ replicaSvc.UseCOOLFrontier = False
 replicaSvc.UseGeomSQLite = True
 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -92,7 +93,7 @@ replicaSvc.UseGeomSQLite = True
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/StatisticsDbg.py b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/StatisticsDbg.py
index b539097e7710c60e501b178b3828e4994b21e2f0..efde3d6f8c91b9e152bc72a48fd540c2241d7a4b 100644
--- a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/StatisticsDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/StatisticsDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -23,28 +23,29 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(StatisticsCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(StatisticsCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -55,7 +56,7 @@ acc.getCondAlgo("FaserSCT_DetectorElementCondAlg").OutputLevel = VERBOSE
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbg.py b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbg.py
index 0e02d128dca0e32bf0d44c16bdf297cec2c737db..47a983a85b3e9047ef3d4e1a873bb7235c71cffc 100644
--- a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -23,27 +23,28 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -54,7 +55,7 @@ acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbgCosmics.py b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbgCosmics.py
index 64a77a7524e128e67e5951c8c78c26752e5d89b2..86cbb34e9e39c20df326384512aba49eda79b646 100644
--- a/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbgCosmics.py
+++ b/Tracker/TrackerRecAlgs/TrackerSpacePointFormation/test/TrackerSpacePointFormationDbgCosmics.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -23,31 +23,32 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-ConfigFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
-ConfigFlags.Input.isMC = False                               # Needed to bypass autoconfig
-ConfigFlags.Common.isOnline = False
-ConfigFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySpacePoints.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+configFlags.Input.ProjectName = "data20"                     # Needed to bypass autoconfig
+configFlags.Input.isMC = False                               # Needed to bypass autoconfig
+configFlags.Common.isOnline = False
+configFlags.GeoModel.FaserVersion     = "FASER-01"           # FASER cosmic ray geometry (station 2 only)
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
                    
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -58,7 +59,7 @@ acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracker/TrackerRecAlgs/TrackerTruth/test/TrackerTruthDbg.py b/Tracker/TrackerRecAlgs/TrackerTruth/test/TrackerTruthDbg.py
index 021409fae388158194960826de04d341ea4360e4..464c698237bb8ea9b7a9fdf5844c8e19e5f463f6 100644
--- a/Tracker/TrackerRecAlgs/TrackerTruth/test/TrackerTruthDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerTruth/test/TrackerTruthDbg.py
@@ -6,7 +6,7 @@ import sys
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from TrackerTruth.TrackerTruthConfig import TrackerTruthCfg
@@ -14,23 +14,24 @@ from TrackerTruth.TrackerTruthConfig import TrackerTruthCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ["my.HITS.pool.root"]
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data22"
-ConfigFlags.Input.isMC = True
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ["my.HITS.pool.root"]
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data22"
+configFlags.Input.isMC = True
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
 
-acc.merge(TrackerTruthCfg(ConfigFlags))
+acc.merge(TrackerTruthCfg(configFlags))
 acc.getEventAlgo("Tracker::TrackerTruthAlg").OutputLevel = DEBUG
 
 # Execute and finish
diff --git a/Tracker/TrackerRecAlgs/TruthSeededTrackFinder/test/TruthSeededTrackFinderDbg.py b/Tracker/TrackerRecAlgs/TruthSeededTrackFinder/test/TruthSeededTrackFinderDbg.py
index 1f19129f87e884591451e480dab7a7f83d5aaf49..72d292eeb81273293992b76b5682bfb33840e4ea 100644
--- a/Tracker/TrackerRecAlgs/TruthSeededTrackFinder/test/TruthSeededTrackFinderDbg.py
+++ b/Tracker/TrackerRecAlgs/TruthSeededTrackFinder/test/TruthSeededTrackFinderDbg.py
@@ -7,7 +7,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -24,29 +24,30 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-#ConfigFlags.GeoModel.Align.Dynamic = False
-#ConfigFlags.Concurrency.NumThreads = 1
-ConfigFlags.Beam.NumberOfCollisions = 0.
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "mySeeds.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+#configFlags.GeoModel.Align.Dynamic = False
+#configFlags.Concurrency.NumThreads = 1
+configFlags.Beam.NumberOfCollisions = 0.
 
-ConfigFlags.lock()
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-#acc.merge(writeDigitizationMetadata(ConfigFlags))
+#acc.merge(writeDigitizationMetadata(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(TruthSeededTrackFinderCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(TruthSeededTrackFinderCfg(configFlags))
 
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -57,7 +58,7 @@ acc.foreach_component("*ClassID*").OutputLevel = INFO
 acc.getService("StoreGateSvc").Dump = True
 acc.getService("ConditionStore").Dump = True
 acc.printConfig(withDetails=True)
-ConfigFlags.dump()
+configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialMapping_jobOptions.py b/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialMapping_jobOptions.py
index 73b0833fc5430ebdbe1d3165e8fd5fb0d849bc18..f940b402d58f6282a4d7fd47f97ecb1a5e74fbaa 100644
--- a/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialMapping_jobOptions.py
+++ b/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialMapping_jobOptions.py
@@ -51,41 +51,42 @@ if "__main__" == __name__:
   from AthenaCommon.Configurable import Configurable
   from AthenaCommon.Logging import log
   from AthenaCommon.Constants import INFO
-  from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+  from CalypsoConfiguration.AllConfigFlags import initConfigFlags
   from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
   from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
   from FaserActsGeometry.ActsGeometryConfig import ActsMaterialTrackWriterSvcCfg
   Configurable.configurableRun3Behavior = True
 
   ## Just enable ID for the moment.
-  ConfigFlags.Input.isMC             = True
-  ConfigFlags.Beam.Type = "collisions" 
-  ConfigFlags.GeoModel.FaserVersion  = "FASERNU-03"
-  ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-  ConfigFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
-  #ConfigFlags.GeoModel.Align.Dynamic = False
+  configFlags = initConfigFlags()
+  configFlags.Input.isMC             = True
+  configFlags.Beam.Type = "collisions" 
+  configFlags.GeoModel.FaserVersion  = "FASERNU-03"
+  configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+  configFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
+  #configFlags.GeoModel.Align.Dynamic = False
 
-  ConfigFlags.lock()
-  ConfigFlags.dump()
+  configFlags.lock()
+  configFlags.dump()
 
-  cfg = MainServicesCfg(ConfigFlags)
+  cfg = MainServicesCfg(configFlags)
 
-  cfg.merge(FaserGeometryCfg(ConfigFlags))
+  cfg.merge(FaserGeometryCfg(configFlags))
   cfg.merge(ActsMaterialTrackWriterSvcCfg("FaserActsMaterialTrackWriterSvc",
                                           "MaterialTracks_mapping.root"))
 
-  cfg.merge(PoolReadCfg(ConfigFlags))
+  cfg.merge(PoolReadCfg(configFlags))
   eventSelector = cfg.getService("EventSelector")
   eventSelector.InputCollections = ["MaterialStepCollection.root"]
 
 #  from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
-#  cfg.merge(BeamPipeGeometryCfg(ConfigFlags))
+#  cfg.merge(BeamPipeGeometryCfg(configFlags))
 
-#  alignCondAlgCfg = ActsAlignmentCondAlgCfg(ConfigFlags)
+#  alignCondAlgCfg = ActsAlignmentCondAlgCfg(configFlags)
 
 #  cfg.merge(alignCondAlgCfg)
 
-  alg = ActsMaterialMappingCfg(ConfigFlags,
+  alg = ActsMaterialMappingCfg(configFlags,
                                OutputLevel=INFO,
                                mapSurfaces = True,
                                mapVolumes = True)
diff --git a/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialValidationAlg.py b/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialValidationAlg.py
index 640d9ee07decdef52c815f2695076d554d662c95..338fd5e47a7d22206de34fac40141f991496350e 100644
--- a/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialValidationAlg.py
+++ b/Tracking/Acts/FaserActsGeometry/python/FaserActsMaterialValidationAlg.py
@@ -16,37 +16,38 @@ if "__main__" == __name__:
       from AthenaCommon.Configurable import Configurable
       from AthenaCommon.Logging import log
       from AthenaCommon.Constants import INFO
-      from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+      from CalypsoConfiguration.AllConfigFlags import initConfigFlags
       from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
       from FaserActsGeometry.ActsGeometryConfig import FaserActsMaterialTrackWriterSvcCfg
       
       Configurable.configurableRun3Behavior = True
       
       ## Just enable ID for the moment.
-      ConfigFlags.Input.isMC             = True
-      ConfigFlags.GeoModel.FaserVersion  = "FASER-01"
-      ConfigFlags.IOVDb.GlobalTag        = "OFLCOND-FASER-01"
-      ConfigFlags.TrackingGeometry.MaterialSource = "material-maps.json"
-      #ConfigFlags.Concurrency.NumThreads = 10
-      #ConfigFlags.Concurrency.NumConcurrentEvents = 10
+      configFlags = initConfigFlags()
+      configFlags.Input.isMC             = True
+      configFlags.GeoModel.FaserVersion  = "FASER-01"
+      configFlags.IOVDb.GlobalTag        = "OFLCOND-FASER-01"
+      configFlags.TrackingGeometry.MaterialSource = "material-maps.json"
+      #configFlags.Concurrency.NumThreads = 10
+      #configFlags.Concurrency.NumConcurrentEvents = 10
       
-      ConfigFlags.lock()
-      ConfigFlags.dump()
+      configFlags.lock()
+      configFlags.dump()
       
-      cfg = MainServicesCfg(ConfigFlags)
+      cfg = MainServicesCfg(configFlags)
       
-#      alignCondAlgCfg = ActsAlignmentCondAlgCfg(ConfigFlags)
+#      alignCondAlgCfg = ActsAlignmentCondAlgCfg(configFlags)
 #      cfg.merge(alignCondAlgCfg)
-      cfg.merge(FaserActsMaterialTrackWriterSvcCfg(ConfigFlags, "FaserActsMaterialTrackWriterSvc", "MaterialTracks_mapped.root"))
+      cfg.merge(FaserActsMaterialTrackWriterSvcCfg(configFlags, "FaserActsMaterialTrackWriterSvc", "MaterialTracks_mapped.root"))
       
       print('DEF WRITER : ')
-      extrapol = FaserActsExtrapolationToolCfg(ConfigFlags,
+      extrapol = FaserActsExtrapolationToolCfg(configFlags,
          InteractionMultiScatering = True,
          InteractionEloss = True,
          InteractionRecord = True)
       cfg.merge(extrapol)
       
-      alg = FaserActsExtrapolationAlgCfg(ConfigFlags,
+      alg = FaserActsExtrapolationAlgCfg(configFlags,
          OutputLevel=INFO,
          NParticlesPerEvent=int(1e3),
          EtaRange=[4.8, 100],
diff --git a/Tracking/Acts/FaserActsGeometry/test/FaserActsExtrapolationAlg.py b/Tracking/Acts/FaserActsGeometry/test/FaserActsExtrapolationAlg.py
index a78dd36f23f695aad64e1477261ee8e488ec16ab..8983754cc64df32ca484e020d25a25b3a3cc6236 100644
--- a/Tracking/Acts/FaserActsGeometry/test/FaserActsExtrapolationAlg.py
+++ b/Tracking/Acts/FaserActsGeometry/test/FaserActsExtrapolationAlg.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -17,29 +17,30 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-#ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/esd/100evts10lumiblocks.ESD.root"]
-#ConfigFlags.Output.RDOFileName = "myRDO_sp.pool.root"
-ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"               # Always needed
+configFlags = initConfigFlags()
+#configFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/esd/100evts10lumiblocks.ESD.root"]
+#configFlags.Output.RDOFileName = "myRDO_sp.pool.root"
+configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"             # Always needed; must match FaserVersion
+configFlags.GeoModel.FaserVersion = "FASER-01"               # Always needed
 # Workaround for bug/missing flag; unimportant otherwise 
-ConfigFlags.addFlag("Input.InitialTimeStamp", 0)
+configFlags.addFlag("Input.InitialTimeStamp", 0)
 # Workaround to avoid problematic ISF code
-ConfigFlags.GeoModel.Layout = "Development"
-ConfigFlags.Detector.GeometryFaserSCT = True
-#ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" # Always needed to fool autoconfig; value ignored
-#ConfigFlags.GeoModel.Align.Dynamic = False
-#ConfigFlags.Concurrency.NumThreads = 1
-#ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags.GeoModel.Layout = "Development"
+configFlags.Detector.GeometryFaserSCT = True
+#configFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" # Always needed to fool autoconfig; value ignored
+#configFlags.GeoModel.Align.Dynamic = False
+#configFlags.Concurrency.NumThreads = 1
+#configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-#acc.merge(PoolReadCfg(ConfigFlags))
-#acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+#acc.merge(PoolReadCfg(configFlags))
+#acc.merge(PoolWriteCfg(configFlags))
 
 # Inner Detector
-acc.merge(FaserActsExtrapolationAlgCfg(ConfigFlags))
+acc.merge(FaserActsExtrapolationAlgCfg(configFlags))
 
 # Dump config
 logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -50,7 +51,7 @@ acc.foreach_component("*ClassID*").OutputLevel = INFO
 acc.getService("StoreGateSvc").Dump = True
 acc.getService("ConditionStore").Dump = True
 acc.printConfig(withDetails=True)
-ConfigFlags.dump()
+configFlags.dump()
 # Execute and finish
 sc = acc.run(maxEvents=1)
 # Success should be 0
diff --git a/Tracking/Acts/FaserActsGeometry/test/FaserActsGeometryBoundary_test.py b/Tracking/Acts/FaserActsGeometry/test/FaserActsGeometryBoundary_test.py
index 99e1f61cf004af9df8283f7a64bf0a707a82e7ae..63ff7f8a904a7c11e0e35a8899985eedd84c892c 100644
--- a/Tracking/Acts/FaserActsGeometry/test/FaserActsGeometryBoundary_test.py
+++ b/Tracking/Acts/FaserActsGeometry/test/FaserActsGeometryBoundary_test.py
@@ -25,22 +25,23 @@ if __name__ == "__main__":
     
     import sys
     from AthenaCommon.Configurable import Configurable
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
     from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
 
     Configurable.configurableRun3Behavior = True
-    ConfigFlags.Input.isMC = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
-    ConfigFlags.IOVDb.DatabaseInstance = "CONDBR3"
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
-    ConfigFlags.Detector.GeometryFaserSCT = True
-    ConfigFlags.lock()
-
-    acc = MainServicesCfg(ConfigFlags)
-    acc.merge(FaserGeometryCfg(ConfigFlags))
-    acc.merge(FaserActsGeometryBoundaryTestCfg(ConfigFlags))
+    configFlags = initConfigFlags()
+    configFlags.Input.isMC = False
+    #configFlags.GeoModel.Align.Dynamic = False
+    configFlags.IOVDb.DatabaseInstance = "CONDBR3"
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+    configFlags.GeoModel.FaserVersion = "FASERNU-03"
+    configFlags.Detector.GeometryFaserSCT = True
+    configFlags.lock()
+
+    acc = MainServicesCfg(configFlags)
+    acc.merge(FaserGeometryCfg(configFlags))
+    acc.merge(FaserActsGeometryBoundaryTestCfg(configFlags))
 
     replicaSvc = acc.getService("DBReplicaSvc")
     replicaSvc.COOLSQLiteVetoPattern = ""
diff --git a/Tracking/Acts/FaserActsGeometry/test/FaserActsWriteTrackingGeometry.py b/Tracking/Acts/FaserActsGeometry/test/FaserActsWriteTrackingGeometry.py
index 686ead42d828e9ea1a82f150a386cf24a612a005..3a50176906f6c2233ff4a6363f8ebc2987fdda5a 100644
--- a/Tracking/Acts/FaserActsGeometry/test/FaserActsWriteTrackingGeometry.py
+++ b/Tracking/Acts/FaserActsGeometry/test/FaserActsWriteTrackingGeometry.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -17,31 +17,32 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ["myevt4.HITS.pool.root"]
-#ConfigFlags.Output.RDOFileName = "myRDO_sp.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
-#ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
+configFlags = initConfigFlags()
+configFlags.Input.Files = ["myevt4.HITS.pool.root"]
+#configFlags.Output.RDOFileName = "myRDO_sp.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+configFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
+#configFlags.GeoModel.FaserVersion = "FASERNU-03"               # Always needed
 # Workaround for bug/missing flag; unimportant otherwise 
-ConfigFlags.addFlag("Input.InitialTimeStamp", 0)
+configFlags.addFlag("Input.InitialTimeStamp", 0)
 # Workaround to avoid problematic ISF code
-ConfigFlags.GeoModel.Layout = "Development"
-ConfigFlags.Detector.GeometryFaserSCT = True
-#ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" # Always needed to fool autoconfig; value ignored
-#ConfigFlags.GeoModel.Align.Dynamic = False
-#ConfigFlags.Concurrency.NumThreads = 1
-#ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.lock()
+configFlags.GeoModel.Layout = "Development"
+configFlags.Detector.GeometryFaserSCT = True
+#configFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" # Always needed to fool autoconfig; value ignored
+#configFlags.GeoModel.Align.Dynamic = False
+#configFlags.Concurrency.NumThreads = 1
+#configFlags.Beam.NumberOfCollisions = 0.
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-#acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+#acc.merge(PoolWriteCfg(configFlags))
 from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
-acc.merge(FaserGeometryCfg(ConfigFlags))
+acc.merge(FaserGeometryCfg(configFlags))
 
 # Inner Detector
-acc.merge(FaserActsWriteTrackingGeometryCfg(ConfigFlags))
+acc.merge(FaserActsWriteTrackingGeometryCfg(configFlags))
 
 # Output Stream customization
 #oStream = acc.getEventAlgo("OutputStreamRDO")
@@ -51,7 +52,7 @@ acc.merge(FaserActsWriteTrackingGeometryCfg(ConfigFlags))
 #                    ]
                     
 # Timing
-#acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
+#acc.merge(MergeRecoTimingObjCfg(configFlags))
 
 # Dump config
 logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -62,7 +63,7 @@ acc.foreach_component("*ClassID*").OutputLevel = INFO
 acc.getService("StoreGateSvc").Dump = True
 acc.getService("ConditionStore").Dump = True
 acc.printConfig(withDetails=True)
-ConfigFlags.dump()
+configFlags.dump()
 # Execute and finish
 sc = acc.run(maxEvents=1)
 # Success should be 0
diff --git a/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Alignment.py b/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Alignment.py
index bb50a09a6ded202ec82130ce80a4af642135eb1b..c36e0f9af097528f1a5c67d30c718e49941e40d1 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Alignment.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Alignment.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -106,36 +106,37 @@ if __name__ == "__main__":
    Configurable.configurableRun3Behavior = True
    
    # Configure
-   ConfigFlags.Input.Files = [ '' ] #input RDO
-   ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-   ConfigFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER cosmic ray geometry (station 2 only)
-   ConfigFlags.TrackingGeometry.MaterialSource = "material-maps.json" # material map
-   ConfigFlags.Input.isMC = True
-   #ConfigFlags.GeoModel.Align.Dynamic = False
-   ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
-   ConfigFlags.Beam.NumberOfCollisions = 0.
-   ConfigFlags.addFlag("Input.InitialTimeStamp", 0)
-   ConfigFlags.Exec.MaxEvents = -1
-   ConfigFlags.Output.doWriteESD = False
-   #ConfigFlags.Concurrency.NumThreads = 1
-#   ConfigFlags.addFlag("Alignment.Output", "ckf_alignment.root")
-   ConfigFlags.fillFromArgs(sys.argv[1:])
-   ConfigFlags.dump()
-   ConfigFlags.lock()
+   configFlags = initConfigFlags()
+   configFlags.Input.Files = [ '' ] #input RDO
+   configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+   configFlags.GeoModel.FaserVersion     = "FASERNU-03"           # FASER cosmic ray geometry (station 2 only)
+   configFlags.TrackingGeometry.MaterialSource = "material-maps.json" # material map
+   configFlags.Input.isMC = True
+   #configFlags.GeoModel.Align.Dynamic = False
+   configFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
+   configFlags.Beam.NumberOfCollisions = 0.
+   configFlags.addFlag("Input.InitialTimeStamp", 0)
+   configFlags.Exec.MaxEvents = -1
+   configFlags.Output.doWriteESD = False
+   #configFlags.Concurrency.NumThreads = 1
+#   configFlags.addFlag("Alignment.Output", "ckf_alignment.root")
+   configFlags.fillFromArgs(sys.argv[1:])
+   configFlags.dump()
+   configFlags.lock()
    
    from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
    # Core components
-   acc = MainServicesCfg(ConfigFlags)
-   acc.merge(FaserGeometryCfg(ConfigFlags))
-   acc.merge(PoolReadCfg(ConfigFlags))
-   acc.merge(PoolWriteCfg(ConfigFlags))
+   acc = MainServicesCfg(configFlags)
+   acc.merge(FaserGeometryCfg(configFlags))
+   acc.merge(PoolReadCfg(configFlags))
+   acc.merge(PoolWriteCfg(configFlags))
    from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
    # Inner Detector
-   acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-   acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-   acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
-   acc.merge(GhostBustersCfg(ConfigFlags))
-   acc.merge(CKF2AlignmentCfg(ConfigFlags))
+   acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+   acc.merge(TrackerSpacePointFinderCfg(configFlags))
+   acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
+   acc.merge(GhostBustersCfg(configFlags))
+   acc.merge(CKF2AlignmentCfg(configFlags))
    logging.getLogger('forcomps').setLevel(INFO)
    acc.foreach_component("*").OutputLevel = INFO
    acc.foreach_component("*ClassID*").OutputLevel = INFO
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/CKF2.py b/Tracking/Acts/FaserActsKalmanFilter/test/CKF2.py
index f6e325f268be9b34bd98b7190c314ca2fe8e6f89..0a356ccfe6d177a3442d9517d356c11891e03b4f 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/CKF2.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/CKF2.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -24,27 +24,28 @@ args = parser.parse_args()
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = args.file
-ConfigFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
-ConfigFlags.Output.ESDFileName = "CKF.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
-ConfigFlags.Input.isMC = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = args.file
+configFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
+configFlags.Output.ESDFileName = "CKF.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+configFlags.GeoModel.FaserVersion = "FASERNU-03"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
+configFlags.Input.isMC = True
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(FaserGeometryCfg(ConfigFlags))
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(FaserGeometryCfg(configFlags))
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
 
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
-acc.merge(GhostBustersCfg(ConfigFlags))
-acc.merge(CKF2Cfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
+acc.merge(GhostBustersCfg(configFlags))
+acc.merge(CKF2Cfg(configFlags))
 # acc.getEventAlgo("CKF2").OutputLevel = DEBUG
 
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -53,7 +54,7 @@ acc.merge(CKF2Cfg(ConfigFlags))
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 itemList = [
@@ -65,7 +66,7 @@ itemList = [
     "Tracker::FaserSCT_ClusterContainer#*",
     "TrackCollection#*",
 ]
-acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList))
 
 acc.getService("MessageSvc").Format = "% F%40W%S%7W%R%T %0W%M"
 
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg.py b/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg.py
index 797cfbf1d76b72c171a1b558a78afd8efff9ec00..f7acdd95effa7469fbdbd60c8455b9fecf0bb320 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 # from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -16,23 +16,24 @@ from FaserActsKalmanFilter.CombinatorialKalmanFilterConfig import CombinatorialK
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "CKF.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-# ConfigFlags.TrackingGeometry.MaterialSource = "Input"
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "CKF.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.GeoModel.FaserVersion = "FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+# configFlags.TrackingGeometry.MaterialSource = "Input"
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-# acc.merge(PoolWriteCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+# acc.merge(PoolWriteCfg(configFlags))
 
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.51, MinClustersPerFit=5, TanThetaCut=0.25))
-acc.merge(CombinatorialKalmanFilterCfg(ConfigFlags, noDiagnostics=True))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.51, MinClustersPerFit=5, TanThetaCut=0.25))
+acc.merge(CombinatorialKalmanFilterCfg(configFlags, noDiagnostics=True))
 acc.getEventAlgo("CombinatorialKalmanFilterAlg").OutputLevel = VERBOSE
 
 # logging.getLogger('forcomps').setLevel(INFO)
@@ -41,7 +42,7 @@ acc.getEventAlgo("CombinatorialKalmanFilterAlg").OutputLevel = VERBOSE
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 sc = acc.run(maxEvents=-1)
 sys.exit(not sc.isSuccess())
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg_Data.py b/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg_Data.py
index 7b2703269f112abe68cf802e9c72fcbae11b74f4..22d4696ee482dd9fb62f45fda82d3a1a9d4b4df6 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg_Data.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/CombinatorialKalmanFilterAlg_Data.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
@@ -15,26 +15,27 @@ from TrackerSegmentFit.TrackerSegmentFitConfig import SegmentFitAlgCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['/home/tboeckh/Documents/data/raw/TI12/MiddleStationTrack.raw']
-ConfigFlags.Output.ESDFileName = "CKF.ESD.pool.root"
-ConfigFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['/home/tboeckh/Documents/data/raw/TI12/MiddleStationTrack.raw']
+configFlags.Output.ESDFileName = "CKF.ESD.pool.root"
+configFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASER-01"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags))
-acc.merge(CombinatorialKalmanFilterCfg(ConfigFlags, SummaryWriter=False, StatesWriter=False, PerformanceWriter=False))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
+acc.merge(SegmentFitAlgCfg(configFlags))
+acc.merge(CombinatorialKalmanFilterCfg(configFlags, SummaryWriter=False, StatesWriter=False, PerformanceWriter=False))
 acc.getEventAlgo("CombinatorialKalmanFilterAlg").OutputLevel = VERBOSE
 
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
@@ -43,7 +44,7 @@ itemList = ["xAOD::EventInfo#*",
             "FaserSCT_RDO_Container#*",
             "Tracker::FaserSCT_ClusterContainer#*",
             "TrackCollection#*"]
-acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList))
+acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList))
 
 print( "Writing out xAOD objects:" )
 print( acc.getEventAlgo("OutputStreamxAOD").ItemList )
@@ -54,7 +55,7 @@ print( acc.getEventAlgo("OutputStreamxAOD").ItemList )
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Hack to avoid problem with our use of MC databases when isMC = False
 replicaSvc = acc.getService("DBReplicaSvc")
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/FaserActsKalmanFilterAlg.py b/Tracking/Acts/FaserActsKalmanFilter/test/FaserActsKalmanFilterAlg.py
index 815d142540d31330aee49fc706b7ac7a210c7650..8eb06fa8a08c038de6a5e1e1a4b22712d68edae2 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/FaserActsKalmanFilterAlg.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/FaserActsKalmanFilterAlg.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -21,25 +21,26 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['../my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "FaserActsKalmanFilter.ESD.root"
-ConfigFlags.Output.AODFileName = "FaserActsKalmanFilter.AOD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-#ConfigFlags.Concurrency.NumThreads = 1
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['../my.RDO.pool.root']
+configFlags.Output.ESDFileName = "FaserActsKalmanFilter.ESD.root"
+configFlags.Output.AODFileName = "FaserActsKalmanFilter.AOD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+#configFlags.Concurrency.NumThreads = 1
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
 
 # Inner Detector
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags))
-# acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-# acc.merge(TruthSeededTrackFinderCfg(ConfigFlags))
-acc.merge(FaserActsKalmanFilterCfg(ConfigFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags))
+# acc.merge(TrackerSpacePointFinderCfg(configFlags))
+# acc.merge(TruthSeededTrackFinderCfg(configFlags))
+acc.merge(FaserActsKalmanFilterCfg(configFlags))
 acc.getEventAlgo("FaserActsKalmanFilterAlg").OutputLevel = DEBUG
 
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -48,7 +49,7 @@ acc.getEventAlgo("FaserActsKalmanFilterAlg").OutputLevel = DEBUG
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=1000)
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/GhostBusters.py b/Tracking/Acts/FaserActsKalmanFilter/test/GhostBusters.py
index 391178eb1754ffc2c0d5cfb11cc34c13eeb9ce0b..8b7e36ca4dc5f6574244b700bbe4a3c421f4942c 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/GhostBusters.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/GhostBusters.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -17,23 +17,24 @@ from FaserActsKalmanFilter.GhostBustersConfig import GhostBustersCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "ghosts.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-# ConfigFlags.TrackingGeometry.MaterialSource = "Input"
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "ghosts.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.GeoModel.FaserVersion = "FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+# configFlags.TrackingGeometry.MaterialSource = "Input"
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
 # acc.getEventAlgo("Tracker::SegmentFitAlg").OutputLevel = VERBOSE
-acc.merge(GhostBustersCfg(ConfigFlags, xTolerance=0.5, yTolerance=0.5))
+acc.merge(GhostBustersCfg(configFlags, xTolerance=0.5, yTolerance=0.5))
 acc.getEventAlgo("GhostBusters").OutputLevel = DEBUG
 
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -42,7 +43,7 @@ acc.getEventAlgo("GhostBusters").OutputLevel = DEBUG
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 sc = acc.run(maxEvents=-1)
 sys.exit(not sc.isSuccess())
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/SeedingDbg.py b/Tracking/Acts/FaserActsKalmanFilter/test/SeedingDbg.py
index c0de264892f513f5eeea850e5a19ee04b43c2db7..c07bf40c190e0cab77a7638968d1b121f1d849cf 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/SeedingDbg.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/SeedingDbg.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -16,22 +16,23 @@ from FaserActsKalmanFilter.SeedingConfig import SeedingCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = ['my.RDO.pool.root']
-ConfigFlags.Output.ESDFileName = "circleFitSeeding.ESD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
-ConfigFlags.GeoModel.FaserVersion = "FASER-01"
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-# ConfigFlags.TrackingGeometry.MaterialSource = "Input"
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['my.RDO.pool.root']
+configFlags.Output.ESDFileName = "circleFitSeeding.ESD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
+configFlags.GeoModel.FaserVersion = "FASER-01"
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+# configFlags.TrackingGeometry.MaterialSource = "Input"
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(PoolReadCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.51, MinClustersPerFit=5, TanThetaCut=0.25))
-acc.merge(SeedingCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(PoolReadCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.51, MinClustersPerFit=5, TanThetaCut=0.25))
+acc.merge(SeedingCfg(configFlags))
 acc.getEventAlgo("SeedingAlg").OutputLevel = VERBOSE
 
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -40,7 +41,7 @@ acc.getEventAlgo("SeedingAlg").OutputLevel = VERBOSE
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 sc = acc.run(maxEvents=10)
 sys.exit(not sc.isSuccess())
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/TI12CKF2.py b/Tracking/Acts/FaserActsKalmanFilter/test/TI12CKF2.py
index 2a5698092abcc4377015ae67d61802dd0d85c6e5..822b6faa1b81332dec36d69105111e6db90f51a6 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/TI12CKF2.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/TI12CKF2.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 # from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
@@ -27,30 +27,31 @@ args = parser.parse_args()
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.Input.Files = args.file
-ConfigFlags.Output.ESDFileName = "CKF.ESD.pool.root"
-ConfigFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data22"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = args.file
+configFlags.Output.ESDFileName = "CKF.ESD.pool.root"
+configFlags.addFlag("Output.xAODFileName", f"CKF.xAOD.root")
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data22"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASERNU-03"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.TrackingGeometry.MaterialSource = "geometry-maps.json"
+configFlags.lock()
 
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(FaserGeometryCfg(ConfigFlags))
-acc.merge(PoolWriteCfg(ConfigFlags))
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags, OccupancyCut=0.015))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, DataObjectName="SCT_EDGEMODE_RDOs", ClusterToolTimingPattern="01X"))
-acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
-acc.merge(GhostBustersCfg(ConfigFlags))
-acc.merge(TI12CKF2Cfg(ConfigFlags, noDiagnostics=True))
+acc = MainServicesCfg(configFlags)
+acc.merge(FaserGeometryCfg(configFlags))
+acc.merge(PoolWriteCfg(configFlags))
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags, OccupancyCut=0.015))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, DataObjectName="SCT_EDGEMODE_RDOs", ClusterToolTimingPattern="01X"))
+acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(SegmentFitAlgCfg(configFlags, SharedHitFraction=0.61, MinClustersPerFit=5, TanThetaXZCut=0.083))
+acc.merge(GhostBustersCfg(configFlags))
+acc.merge(TI12CKF2Cfg(configFlags, noDiagnostics=True))
 acc.getEventAlgo("CKF2").OutputLevel = DEBUG
 
 # logging.getLogger('forcomps').setLevel(VERBOSE)
@@ -59,7 +60,7 @@ acc.getEventAlgo("CKF2").OutputLevel = DEBUG
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Hack to avoid problem with our use of MC databases when isMC = False
 replicaSvc = acc.getService("DBReplicaSvc")
diff --git a/Tracking/Acts/FaserActsKalmanFilter/test/TI12KalmanFilter.py b/Tracking/Acts/FaserActsKalmanFilter/test/TI12KalmanFilter.py
index edd1442ce94fcdcd3cc48c83c4aaddb049383be8..568e65b039ae56860ab82536f85865345a1bb593 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/test/TI12KalmanFilter.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/test/TI12KalmanFilter.py
@@ -4,7 +4,7 @@ import sys
 from AthenaCommon.Logging import log, logging
 from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
 from AthenaCommon.Configurable import Configurable
-from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+from CalypsoConfiguration.AllConfigFlags import initConfigFlags
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
@@ -21,29 +21,30 @@ log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 
 # Configure
-ConfigFlags.Input.Files = ['/home/tboeckh/tmp/Faser-Physics-006470-00093.raw_middleStation.SPs']
-ConfigFlags.Output.ESDFileName = "MiddleStation-KalmanFilter.ESD.pool.root"
-ConfigFlags.Output.AODFileName = "MiddleStation-KalmanFilter.AOD.pool.root"
-ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
-ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"
-ConfigFlags.Input.ProjectName = "data21"
-ConfigFlags.Input.isMC = False
-ConfigFlags.GeoModel.FaserVersion = "FASER-02"
-ConfigFlags.Common.isOnline = False
-#ConfigFlags.GeoModel.Align.Dynamic = False
-ConfigFlags.Beam.NumberOfCollisions = 0.
-ConfigFlags.Detector.GeometryFaserSCT = True
-ConfigFlags.lock()
+configFlags = initConfigFlags()
+configFlags.Input.Files = ['/home/tboeckh/tmp/Faser-Physics-006470-00093.raw_middleStation.SPs']
+configFlags.Output.ESDFileName = "MiddleStation-KalmanFilter.ESD.pool.root"
+configFlags.Output.AODFileName = "MiddleStation-KalmanFilter.AOD.pool.root"
+configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+configFlags.IOVDb.DatabaseInstance = "OFLP200"
+configFlags.Input.ProjectName = "data21"
+configFlags.Input.isMC = False
+configFlags.GeoModel.FaserVersion = "FASER-02"
+configFlags.Common.isOnline = False
+#configFlags.GeoModel.Align.Dynamic = False
+configFlags.Beam.NumberOfCollisions = 0.
+configFlags.Detector.GeometryFaserSCT = True
+configFlags.lock()
 
 # Core components
-acc = MainServicesCfg(ConfigFlags)
-acc.merge(FaserByteStreamCnvSvcCfg(ConfigFlags))
-acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags, name="LevelClustering", DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
-acc.merge(SegmentFitAlgCfg(ConfigFlags, name=f"LevelFit", MaxClusters=44))
-# acc.merge(FaserSCT_ClusterizationCfg(ConfigFlags))
-# acc.merge(SegmentFitAlgCfg(ConfigFlags))
-# acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
-acc.merge(FaserActsKalmanFilterCfg(ConfigFlags))
+acc = MainServicesCfg(configFlags)
+acc.merge(FaserByteStreamCnvSvcCfg(configFlags))
+acc.merge(FaserSCT_ClusterizationCfg(configFlags, name="LevelClustering", DataObjectName="SCT_LEVELMODE_RDOs", ClusterToolTimingPattern="X1X"))
+acc.merge(SegmentFitAlgCfg(configFlags, name=f"LevelFit", MaxClusters=44))
+# acc.merge(FaserSCT_ClusterizationCfg(configFlags))
+# acc.merge(SegmentFitAlgCfg(configFlags))
+# acc.merge(TrackerSpacePointFinderCfg(configFlags))
+acc.merge(FaserActsKalmanFilterCfg(configFlags))
 acc.getEventAlgo("FaserActsKalmanFilterAlg").OutputLevel = DEBUG
 
 replicaSvc = acc.getService("DBReplicaSvc")
@@ -59,7 +60,7 @@ replicaSvc.UseGeomSQLite = True
 # acc.getService("StoreGateSvc").Dump = True
 # acc.getService("ConditionStore").Dump = True
 # acc.printConfig(withDetails=True)
-# ConfigFlags.dump()
+# configFlags.dump()
 
 # Execute and finish
 sc = acc.run(maxEvents=-1)
diff --git a/Waveform/WaveDigiTools/share/WaveformDigiAndRecoExample_jobOptions.py b/Waveform/WaveDigiTools/share/WaveformDigiAndRecoExample_jobOptions.py
index de7327c6c1e2609f9bc15255dfc1c1f59971b88e..a01a46eb4a33c0e4b25ad2269dfa413efb3df510 100644
--- a/Waveform/WaveDigiTools/share/WaveformDigiAndRecoExample_jobOptions.py
+++ b/Waveform/WaveDigiTools/share/WaveformDigiAndRecoExample_jobOptions.py
@@ -14,48 +14,49 @@ if __name__ == "__main__":
 
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaCommon.Configurable import Configurable
         
     Configurable.configurableRun3Behavior = True
 
     log.setLevel(VERBOSE)
     
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "mc21"                       # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags = initConfigFlags()
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "mc21"                       # Needed to bypass autoconfig
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
     
-    ConfigFlags.Input.Files = [
+    configFlags.Input.Files = [
         "/eos/project-f/faser-commissioning/Simulation/Test/TB.Elec.200GeV.SIM.root"
         ]
 
     if doRDO:
-        ConfigFlags.Output.RDOFileName = f"{fileroot}.RDO.root"
+        configFlags.Output.RDOFileName = f"{fileroot}.RDO.root"
     else:
-        ConfigFlags.addFlag("Output.xAODFileName", f"{fileroot}.xAOD.root")
-        ConfigFlags.Output.ESDFileName = f"{fileroot}.ESD.root"
+        configFlags.addFlag("Output.xAODFileName", f"{fileroot}.xAOD.root")
+        configFlags.Output.ESDFileName = f"{fileroot}.ESD.root"
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 
-    acc.merge(PoolReadCfg(ConfigFlags))
-    acc.merge(PoolWriteCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
+    acc.merge(PoolWriteCfg(configFlags))
 
     if doRDO:
          from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
          itemList = [
              "RawWaveformContainer#*"
              ]
-         acc.merge(OutputStreamCfg(ConfigFlags, "RDO", itemList,disableEventTag=True))
+         acc.merge(OutputStreamCfg(configFlags, "RDO", itemList,disableEventTag=True))
 
 
     else:
@@ -66,17 +67,17 @@ if __name__ == "__main__":
             "xAOD::WaveformHitAuxContainer#*",
             ]
 
-        acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList, disableEventTag=True))
+        acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList, disableEventTag=True))
 
     from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-    acc.merge(ScintWaveformDigitizationCfg(ConfigFlags))
+    acc.merge(ScintWaveformDigitizationCfg(configFlags))
 
     from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
-    acc.merge(CaloWaveformDigitizationCfg(ConfigFlags))
+    acc.merge(CaloWaveformDigitizationCfg(configFlags))
 
     if not doRDO:
         from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
-        acc.merge(WaveformReconstructionCfg(ConfigFlags))
+        acc.merge(WaveformReconstructionCfg(configFlags))
 
     #acc.foreach_component("*").OutputLevel = VERBOSE
 
diff --git a/Waveform/WaveRecAlgs/share/PseudoSimToWaveformRecExample_jobOptions.py b/Waveform/WaveRecAlgs/share/PseudoSimToWaveformRecExample_jobOptions.py
index ca9162b283a2e2e5882592c469d5eed01f0440d5..757db8b3f120907bc67c2f8c3d19cf267c8e1406 100644
--- a/Waveform/WaveRecAlgs/share/PseudoSimToWaveformRecExample_jobOptions.py
+++ b/Waveform/WaveRecAlgs/share/PseudoSimToWaveformRecExample_jobOptions.py
@@ -9,41 +9,42 @@ if __name__ == "__main__":
 
     from AthenaCommon.Logging import log, logging
     from AthenaCommon.Constants import DEBUG, VERBOSE, INFO
-    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+    from CalypsoConfiguration.AllConfigFlags import initConfigFlags
     from AthenaCommon.Configurable import Configurable
         
     Configurable.configurableRun3Behavior = True
 
     log.setLevel(INFO)
     
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
-    ConfigFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
-    ConfigFlags.Input.ProjectName = "mc21"                       # Needed to bypass autoconfig
-    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
-    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
-    ConfigFlags.Common.isOnline = False
-    #ConfigFlags.GeoModel.Align.Dynamic = False
+    configFlags = initConfigFlags()
+    configFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+    configFlags.IOVDb.DatabaseInstance = "OFLP200"               # Use MC conditions for now
+    configFlags.Input.ProjectName = "mc21"                       # Needed to bypass autoconfig
+    configFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    configFlags.GeoModel.FaserVersion     = "FASER-TB00"         # FASER geometry
+    configFlags.Common.isOnline = False
+    #configFlags.GeoModel.Align.Dynamic = False
     
-    ConfigFlags.Input.Files = [
+    configFlags.Input.Files = [
         "my.HITS.pool.root"
         #"/bundle/data/FASER/LC_output/BatchOutput/TestBeam/TB.Elec.8.r5.e100.SIM.root"
         ]
 
     
-    ConfigFlags.addFlag("Output.xAODFileName", f"{fileroot}.xAOD.root")
-    ConfigFlags.Output.ESDFileName = f"{fileroot}.ESD.root"
+    configFlags.addFlag("Output.xAODFileName", f"{fileroot}.xAOD.root")
+    configFlags.Output.ESDFileName = f"{fileroot}.ESD.root"
 
-    ConfigFlags.lock()
+    configFlags.lock()
 
     from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 
-    acc = MainServicesCfg(ConfigFlags)
+    acc = MainServicesCfg(configFlags)
 
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 
-    acc.merge(PoolReadCfg(ConfigFlags))
-    acc.merge(PoolWriteCfg(ConfigFlags))
+    acc.merge(PoolReadCfg(configFlags))
+    acc.merge(PoolWriteCfg(configFlags))
 
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
     itemList = [
@@ -52,10 +53,10 @@ if __name__ == "__main__":
         "xAOD::WaveformHitAuxContainer#*",
         ]
     
-    acc.merge(OutputStreamCfg(ConfigFlags, "xAOD", itemList, disableEventTag=True))
+    acc.merge(OutputStreamCfg(configFlags, "xAOD", itemList, disableEventTag=True))
 
     from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
-    acc.merge(WaveformReconstructionCfg(ConfigFlags, naive))
+    acc.merge(WaveformReconstructionCfg(configFlags, naive))
 
     #acc.foreach_component("*").OutputLevel = VERBOSE