From e5b3668232bde3667ad30c2ce58dee6dbff502cb Mon Sep 17 00:00:00 2001
From: Tadej Novak <tadej.novak@cern.ch>
Date: Tue, 21 May 2019 15:42:42 +0200
Subject: [PATCH] Make Digitization flags dynamic

---
 Control/AthenaConfiguration/python/AllConfigFlags.py     | 6 ++++++
 .../AthenaConfiguration/python/testAllConfigFlags_RDO.py | 9 +++++++++
 .../OverlayCommonAlgs/test/OverlayCopyAlgs_test.py       | 4 ----
 .../test/BCM_DigitizationConfigNew_test.py               | 2 --
 .../test/PixelDigitizationConfigNew_test.py              | 2 --
 .../test/SCT_DigitizationConfigNew_test.py               | 2 --
 .../test/TRT_DigitizationConfigNew_test.py               | 2 --
 .../InDetOverlay/test/SCTOverlayConfig_test.py           | 2 --
 .../test/CSC_DigitizationConfigNew_test.py               | 2 --
 .../test/MDT_DigitizationConfigNew_test.py               | 2 --
 .../test/RPC_DigitizationConfigNew_test.py               | 2 --
 .../test/TGC_DigitizationConfigNew_test.py               | 2 --
 .../Digitization/test/DigitizationConfigNew_test.py      | 2 --
 13 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py
index e29dc1f944b..0e83b025952 100644
--- a/Control/AthenaConfiguration/python/AllConfigFlags.py
+++ b/Control/AthenaConfiguration/python/AllConfigFlags.py
@@ -83,6 +83,12 @@ def _createCfgFlags():
         return createSimConfigFlags()
     _addFlagsCategory (acf, "Sim", __simulation, 'G4AtlasApps' )
 
+#Digitization Flags:
+    def __digitization():
+        from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
+        return createDigitizationCfgFlags()
+    _addFlagsCategory(acf, "Digitization", __digitization, 'Digitization' )
+
 #Overlay Flags:
     def __overlay():
         from OverlayConfiguration.OverlayConfigFlags import createOverlayConfigFlags
diff --git a/Control/AthenaConfiguration/python/testAllConfigFlags_RDO.py b/Control/AthenaConfiguration/python/testAllConfigFlags_RDO.py
index 421936100bc..b72b78cbf3b 100755
--- a/Control/AthenaConfiguration/python/testAllConfigFlags_RDO.py
+++ b/Control/AthenaConfiguration/python/testAllConfigFlags_RDO.py
@@ -15,6 +15,15 @@ except ImportError:
 if havesim:
     ConfigFlags._loadDynaFlags("Sim")
 
+# Don't fail just because Digitization isn't present in this build.
+haveDigi = True
+try:
+    import Digitization # noqa: F401
+except ImportError:
+    haveDigi = False
+if haveDigi:
+    ConfigFlags._loadDynaFlags("Digitization")
+
 # Don't fail just because OverlayConfiguration isn't present in this build.
 haveOverlay = True
 try:
diff --git a/Event/EventOverlay/OverlayCommonAlgs/test/OverlayCopyAlgs_test.py b/Event/EventOverlay/OverlayCommonAlgs/test/OverlayCopyAlgs_test.py
index 2ba53d14581..68aa15aaa68 100755
--- a/Event/EventOverlay/OverlayCommonAlgs/test/OverlayCopyAlgs_test.py
+++ b/Event/EventOverlay/OverlayCommonAlgs/test/OverlayCopyAlgs_test.py
@@ -11,8 +11,6 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaConfiguration.MainServicesConfig import MainServicesThreadedCfg
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
-from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags
 from OverlayCommonAlgs.OverlayCopyAlgsConfig import CopyMcEventCollectionCfg
 
 # Global test config
@@ -21,8 +19,6 @@ nThreads = 1
 # Configure
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.join(createDigitizationCfgFlags())
-ConfigFlags.join(createOverlayCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.RDO_BKG
 ConfigFlags.Input.SecondaryFiles = defaultTestFiles.HITS
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
index 55a411a9549..5974a06ce1a 100755
--- a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
@@ -12,14 +12,12 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg
 
 # Set up logging and new style config
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Configure
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.GeoModel.Align.Dynamic = False
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/test/PixelDigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/PixelDigitization/test/PixelDigitizationConfigNew_test.py
index 5671e1f8cda..39fb0beae45 100755
--- a/InnerDetector/InDetDigitization/PixelDigitization/test/PixelDigitizationConfigNew_test.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/test/PixelDigitizationConfigNew_test.py
@@ -22,13 +22,11 @@ from PixelDigitization.PixelDigitizationConfigNew import (
     PixelDigitizationSplitNoMergePUToolCfg, PixelDigitizationOverlayToolCfg, PixelRangeCfg,
     PixelDigitizationHSCfg, PixelDigitizationPUCfg, PixelDigitizationOverlayCfg,
 )
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 
 # Set up logging and new style config
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Configure
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
 ConfigFlags.GeoModel.Align.Dynamic = False
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/test/SCT_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/SCT_Digitization/test/SCT_DigitizationConfigNew_test.py
index 99382fa8b66..a543fb71274 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/test/SCT_DigitizationConfigNew_test.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/test/SCT_DigitizationConfigNew_test.py
@@ -13,13 +13,11 @@ from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AtlasGeoModel.InDetGMConfig import InDetGeometryCfg
 from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationHSCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 
 # Set up logging and new style config
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Configure
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
 ConfigFlags.GeoModel.Align.Dynamic = False
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/test/TRT_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/TRT_Digitization/test/TRT_DigitizationConfigNew_test.py
index f45b643c1ac..8990b8babb4 100755
--- a/InnerDetector/InDetDigitization/TRT_Digitization/test/TRT_DigitizationConfigNew_test.py
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/test/TRT_DigitizationConfigNew_test.py
@@ -14,13 +14,11 @@ from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AtlasGeoModel.InDetGMConfig import InDetGeometryCfg
 from TRT_Digitization.TRT_DigitizationConfigNew import TRT_DigitizationHSCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 
 # Set up logging and new style config
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Configure
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
 ConfigFlags.GeoModel.Align.Dynamic = False
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/test/SCTOverlayConfig_test.py b/InnerDetector/InDetRawAlgs/InDetOverlay/test/SCTOverlayConfig_test.py
index 939e50c33a1..d571d7400c7 100755
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/test/SCTOverlayConfig_test.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/test/SCTOverlayConfig_test.py
@@ -11,7 +11,6 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaConfiguration.MainServicesConfig import MainServicesThreadedCfg
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 from OverlayCommonAlgs.OverlayCopyAlgsConfig import CopyMcEventCollectionCfg
 from InDetOverlay.SCTOverlayConfig import SCTOverlayCfg
 
@@ -21,7 +20,6 @@ nThreads = 1
 # Configure
 Configurable.configurableRun3Behavior = True
 
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.RDO_BKG
 ConfigFlags.Input.SecondaryFiles = defaultTestFiles.HITS
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py
index 6ef1d83b5f6..bc4614529b0 100755
--- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py
+++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py
@@ -10,7 +10,6 @@ from AthenaCommon.Configurable import Configurable
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from CSC_Digitization.CSC_DigitizationConfigNew import CSC_DigitBuilderCfg
 
@@ -21,7 +20,6 @@ Configurable.configurableRun3Behavior = True
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.lock()
 # Function tests
 # Construct our accumulator to run
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py
index c02ea876efe..316ecc2f8c6 100755
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py
@@ -11,7 +11,6 @@ from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 # MDT imports
 from MDT_Digitization.MDT_DigitizationConfigNew import MDT_DigitizerCfg
 # Set up logging and new style config
@@ -21,7 +20,6 @@ Configurable.configurableRun3Behavior = True
 ConfigFlags.Input.Files = defaultTestFiles.HITS_SPECIAL
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.lock()
 # Construct our accumulator to run
 acc = MainServicesSerialCfg()
diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py
index e15f9deb9f9..f0ed13c899a 100755
--- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py
+++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py
@@ -11,7 +11,6 @@ from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 # RPC imports
 from RPC_Digitization.RPC_DigitizationConfigNew import (
     RPC_RangeToolCfg, RPC_DigitizationToolCfg, RPC_DigitizerCfg,
@@ -25,7 +24,6 @@ Configurable.configurableRun3Behavior = True
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.lock()
 # Construct our accumulator to run
 acc = MainServicesSerialCfg()
diff --git a/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py
index 4bb482664c6..27c4674d119 100755
--- a/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py
+++ b/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py
@@ -10,7 +10,6 @@ from AthenaCommon.Configurable import Configurable
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 # TGC imports
 from TGC_Digitization.TGC_DigitizationConfigNew import (
@@ -25,7 +24,6 @@ Configurable.configurableRun3Behavior = True
 ConfigFlags.Input.Files = defaultTestFiles.HITS
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.lock()
 # Construct our accumulator to run
 acc = MainServicesSerialCfg()
diff --git a/Simulation/Digitization/test/DigitizationConfigNew_test.py b/Simulation/Digitization/test/DigitizationConfigNew_test.py
index 9f6cdd9ab4b..90dab2c9265 100755
--- a/Simulation/Digitization/test/DigitizationConfigNew_test.py
+++ b/Simulation/Digitization/test/DigitizationConfigNew_test.py
@@ -11,7 +11,6 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaConfiguration.TestDefaults import defaultTestFiles
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
-from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags
 from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg
 from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationHSCfg
 from TRT_Digitization.TRT_DigitizationConfigNew import TRT_DigitizationHSCfg
@@ -27,7 +26,6 @@ from LArDigitization.LArDigitizationConfigNew import LArDigitMakerCfg
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Configure
-ConfigFlags.join(createDigitizationCfgFlags())
 ConfigFlags.Input.Files = defaultTestFiles.HITS_SPECIAL
 ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16"
-- 
GitLab