diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py index 7fb807262c721291345813d33c039b9e933c3b1d..b4b249322cf7b4d2c084837e44627317990a2a48 100755 --- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py +++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py @@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ from RngComps.RandomServices import RNG, AthEngines from PileUpComps.PileUpCompsConf import PileUpXingFolder +from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg from BCM_Digitization.BCM_DigitizationConf import BCM_DigitizationTool, BCM_Digitization # The earliest and last bunch crossing times for which interactions will be sent @@ -56,8 +57,9 @@ def BCM_DigitizationToolCfg(flags, name="BCM_DigitizationTool", **kwargs): def BCM_DigitizationCfg(flags, name="BCM_OverlayDigitization", **kwargs): """Return a ComponentAccumulator with configured BCM_Digitization algorithm""" - acc = BCM_DigitizationToolCfg(flags, **kwargs) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = PixelGeometryCfg(flags) + tool = acc.popToolsAndMerge(BCM_DigitizationToolCfg(flags, **kwargs)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(BCM_Digitization(name, **kwargs)) return acc @@ -68,8 +70,9 @@ def BCM_OverlayDigitizationToolCfg(flags, name="BCM_OverlayDigitizationTool", ** def BCM_OverlayDigitizationCfg(flags, name="BCM_OverlayDigitization", **kwargs): """Return a ComponentAccumulator with BCM_Digitization algorithm configured for Overlay""" - acc = BCM_OverlayDigitizationToolCfg(flags, **kwargs) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = PixelGeometryCfg(flags) + tool = acc.popToolsAndMerge(BCM_OverlayDigitizationToolCfg(flags, **kwargs)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(BCM_Digitization(name, **kwargs)) return acc diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py index a75e3bd1098a9b46389f2a4d7a98893d8419fa0b..a2b4330e42c22a465bea92b809351f6e1dc58200 100755 --- a/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py +++ b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py @@ -3,6 +3,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ +import sys import os from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG @@ -14,11 +15,7 @@ from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags -from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg -from BCM_Digitization.BCM_DigitizationConfigNew import ( - BCM_RangeCfg, BCM_DigitizationToolCfg, BCM_DigitizationCfg, - BCM_OverlayDigitizationToolCfg, BCM_OverlayDigitizationCfg, -) +from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg # Set up logging and new style config log.setLevel(DEBUG) @@ -30,31 +27,23 @@ ConfigFlags.Input.Files = defaultTestFiles.HITS ConfigFlags.Output.RDOFileName = "myRDO.pool.root" ConfigFlags.GeoModel.Align.Dynamic = False ConfigFlags.lock() -# Function tests -tool = BCM_RangeCfg(ConfigFlags) -tacc = BCM_DigitizationToolCfg(ConfigFlags) -overlayacc = BCM_OverlayDigitizationToolCfg(ConfigFlags) -overlayacc.popPrivateTools() -tacc.merge(overlayacc) -digiacc = BCM_DigitizationToolCfg(ConfigFlags) -digiacc.popPrivateTools() -tacc.merge(digiacc) -tacc.merge(BCM_OverlayDigitizationCfg(ConfigFlags)) -# reset to prevent errors on deletion -tacc.__init__() # Construct our accumulator to run acc = MainServicesSerialCfg() acc.merge(PoolReadCfg(ConfigFlags)) -acc.merge(PixelGeometryCfg(ConfigFlags)) +acc.merge(BCM_DigitizationCfg(ConfigFlags)) # Add configuration to write HITS pool file -outConfig = OutputStreamCfg(ConfigFlags, "RDO", - ItemList=["InDetSimDataCollection#*", "BCM_RDO_Container#*"]) -acc.merge(outConfig) +ItemList = [ + "InDetSimDataCollection#*", + "BCM_RDO_Container#*", +] +acc.merge(OutputStreamCfg(ConfigFlags, "RDO", ItemList=ItemList)) # Dump config acc.getService("StoreGateSvc").Dump=True acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish -acc.run(maxEvents=3) +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/python/CSC_DigitizationConfigNew.py b/MuonSpectrometer/MuonDigitization/CSC_Digitization/python/CSC_DigitizationConfigNew.py index 3347550638b1d13ef2da1600725304a4238f4c94..2cbb69bc4f335fe5dfa47a598e072543af774e53 100644 --- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/python/CSC_DigitizationConfigNew.py +++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/python/CSC_DigitizationConfigNew.py @@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from StoreGate.StoreGateConf import StoreGateSvc +from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg from CSC_Digitization.CSC_DigitizationConf import ( CscDigitizationTool, CscDigitBuilder, ) @@ -50,8 +51,9 @@ def CSC_DigitizationToolCfg(flags, name="CSC_DigitizationTool", **kwargs): def CSC_DigitBuilderCfg(flags, name="CSC_DigitBuilder", **kwargs): """Return a ComponentAccumulator with configured CscDigitBuilder algorithm""" - acc = CSC_DigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(CSC_DigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(CscDigitBuilder(name, **kwargs)) return acc @@ -68,8 +70,9 @@ def CSC_OverlayDigitizationToolCfg(flags, name="CSC_OverlayDigitizationTool",**k def CSC_OverlayDigitBuilderCfg(flags, name="CSC_OverlayDigitBuilder", **kwargs): """Return a ComponentAccumulator with CscDigitBuilder algorithm configured for Overlay""" - acc = CSC_OverlayDigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(CSC_OverlayDigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(CscDigitBuilder(name, **kwargs)) return acc diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py index 72e135665e6c54f2660c3093e55ca1b18a04ad1f..5d42452739ee797f234c14534c5946223e45813e 100755 --- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py +++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/test/CSC_DigitizationConfigNew_test.py @@ -3,6 +3,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ +import sys from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG from AthenaCommon.Configurable import Configurable @@ -13,15 +14,10 @@ from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags from AthenaConfiguration.AllConfigFlags import ConfigFlags -# muon imports -from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg # CSC imports from MuonConfig.MuonCalibConfig import CscCoolStrSvcCfg from MuonCondSvc.MuonCondSvcConf import CSCCondSummarySvc -from CSC_Digitization.CSC_DigitizationConfigNew import ( - CSC_RangeToolCfg, CSC_DigitizationToolCfg, CSC_DigitBuilderCfg, - CSC_OverlayDigitizationToolCfg, CSC_OverlayDigitBuilderCfg, -) +from CSC_Digitization.CSC_DigitizationConfigNew import CSC_DigitBuilderCfg # Set up logging and new style config log.setLevel(DEBUG) @@ -34,19 +30,9 @@ ConfigFlags.join(createDigitizationCfgFlags()) ConfigFlags.join(createOverlayCfgFlags()) ConfigFlags.lock() # Function tests -# using __init__ to prevent errors -tool = CSC_RangeToolCfg(ConfigFlags) -tacc = CSC_DigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = CSC_OverlayDigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = CSC_DigitBuilderCfg(ConfigFlags) -tacc.merge(CSC_OverlayDigitBuilderCfg(ConfigFlags)) -tacc.__init__() # Construct our accumulator to run acc = MainServicesSerialCfg() acc.merge(PoolReadCfg(ConfigFlags)) -acc.merge(MuonGeoModelCfg(ConfigFlags)) acc.merge(CSC_DigitBuilderCfg(ConfigFlags)) # Add configuration to write HITS pool file ItemList = [ @@ -61,5 +47,7 @@ acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish -acc.run(maxEvents=3) +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/python/MDT_DigitizationConfigNew.py b/MuonSpectrometer/MuonDigitization/MDT_Digitization/python/MDT_DigitizationConfigNew.py index b67aa1be8e695a97e880859be993176f3063da63..e3c0488e4bfca29a14c52f19513c19ddcc0bc3b5 100644 --- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/python/MDT_DigitizationConfigNew.py +++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/python/MDT_DigitizationConfigNew.py @@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from StoreGate.StoreGateConf import StoreGateSvc +from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg from MDT_Digitization.MDT_DigitizationConf import ( MdtDigitizationTool, MDT_Response_DigiTool, RT_Relation_DB_DigiTool, MDT_Digitizer ) @@ -55,14 +56,15 @@ def MDT_DigitizationToolCfg(flags, name="MDT_DigitizationTool", **kwargs): kwargs.setdefault("OutputSDOName", flags.Overlay.BkgPrefix + "MDT_SDO") else: kwargs.setdefault("OutputSDOName", "MDT_SDO") - acc.setPrivateTools(MdtDigitizationTool(name,**kwargs)) + acc.setPrivateTools(MdtDigitizationTool(name, **kwargs)) return acc def MDT_DigitizerCfg(flags, name="MDT_Digitizer", **kwargs): """Return a ComponentAccumulator with configured MDT_Digitizer algorithm""" - acc = MDT_DigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) - acc.addEventAlgo(MDT_Digitizer(name,**kwargs)) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(MDT_DigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) + acc.addEventAlgo(MDT_Digitizer(name, **kwargs)) return acc def MDT_OverlayDigitizationToolCfg(flags, name="MDT_OverlayDigitizationTool",**kwargs): @@ -73,13 +75,14 @@ def MDT_OverlayDigitizationToolCfg(flags, name="MDT_OverlayDigitizationTool",**k kwargs.setdefault("GetT0FromBD", flags.Detector.Overlay) if not flags.Detector.Overlay: kwargs.setdefault("OutputSDOName", flags.Overlay.Legacy.EventStore + "+MDT_SDO") - acc.setPrivateTools(MdtDigitizationTool(name,**kwargs)) + acc.setPrivateTools(MdtDigitizationTool(name, **kwargs)) return acc def MDT_OverlayDigitizerCfg(flags, name="MDT_OverlayDigitizer", **kwargs): """Return a ComponentAccumulator with MDT_Digitizer algorithm configured for Overlay""" - acc = MDT_OverlayDigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) - acc.addEventAlgo(MDT_Digitizer(name,**kwargs)) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(MDT_OverlayDigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) + acc.addEventAlgo(MDT_Digitizer(name, **kwargs)) return acc diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py index d5c244d033030c334b4bbc79312414a887881213..4619c070e44032af34b9ce4c844e40d6c1118163 100755 --- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py +++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/test/MDT_DigitizationConfigNew_test.py @@ -3,6 +3,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ +import sys from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG from AthenaCommon.Configurable import Configurable @@ -13,14 +14,8 @@ from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from AthenaConfiguration.AllConfigFlags import ConfigFlags from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags -# muon imports -from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg # MDT imports -from MDT_Digitization.MDT_DigitizationConfigNew import ( - MDT_RangeToolCfg, MDT_DigitizationToolCfg, MDT_DigitizerCfg, - MDT_OverlayDigitizationToolCfg, MDT_OverlayDigitizerCfg, - RT_Relation_DB_DigiToolCfg, -) +from MDT_Digitization.MDT_DigitizationConfigNew import MDT_DigitizerCfg # Set up logging and new style config log.setLevel(DEBUG) Configurable.configurableRun3Behavior = True @@ -31,21 +26,9 @@ ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" ConfigFlags.join(createDigitizationCfgFlags()) ConfigFlags.join(createOverlayCfgFlags()) ConfigFlags.lock() -# Function tests -# using __init__ to prevent errors -tool = MDT_RangeToolCfg(ConfigFlags) -tool = RT_Relation_DB_DigiToolCfg(ConfigFlags) -tacc = MDT_DigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = MDT_OverlayDigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = MDT_DigitizerCfg(ConfigFlags) -tacc.merge(MDT_OverlayDigitizerCfg(ConfigFlags)) -tacc.__init__() # Construct our accumulator to run acc = MainServicesSerialCfg() acc.merge(PoolReadCfg(ConfigFlags)) -acc.merge(MuonGeoModelCfg(ConfigFlags)) acc.merge(MDT_DigitizerCfg(ConfigFlags)) # Add configuration to write HITS pool file ItemList = [ @@ -59,5 +42,7 @@ acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish -acc.run(maxEvents=3) +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/python/RPC_DigitizationConfigNew.py b/MuonSpectrometer/MuonDigitization/RPC_Digitization/python/RPC_DigitizationConfigNew.py index ec90a2be9c80d541091d3c9dfcd0af7afa299139..780321cf631d519bbffb1772cb6d0fe9e6ff5c6e 100644 --- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/python/RPC_DigitizationConfigNew.py +++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/python/RPC_DigitizationConfigNew.py @@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from StoreGate.StoreGateConf import StoreGateSvc +from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg from RPC_Digitization.RPC_DigitizationConf import RpcDigitizationTool, RPC_Digitizer from PileUpComps.PileUpCompsConf import PileUpXingFolder @@ -71,8 +72,9 @@ def RPC_DigitizationToolCfg(flags, name="RPC_DigitizationTool", **kwargs): def RPC_DigitizerCfg(flags, name="RPC_Digitizer", **kwargs): """Return a ComponentAccumulator with configured RpcDigitization algorithm""" - acc = RPC_DigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(RPC_DigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(RPC_Digitizer(name,**kwargs)) return acc @@ -89,8 +91,9 @@ def RPC_OverlayDigitizationToolCfg(flags, name="RPC_DigitizationTool", **kwargs) def RPC_OverlayDigitizerCfg(flags, name="RPC_OverlayDigitizer", **kwargs): """Return a ComponentAccumulator with RpcDigitization algorithm configured for Overlay""" - acc = RPC_OverlayDigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(RPC_OverlayDigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(RPC_Digitizer(name,**kwargs)) return acc diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py index 84711c81978bdafe406ee09781cea5cfe56722ae..f6a3bddc490e093b7eed96c04ce5560bdf39d275 100755 --- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py +++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/test/RPC_DigitizationConfigNew_test.py @@ -3,6 +3,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ +import sys from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG from AthenaCommon.Configurable import Configurable @@ -13,8 +14,6 @@ from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from AthenaConfiguration.AllConfigFlags import ConfigFlags from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags -# muon imports -from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg # RPC imports from RPC_Digitization.RPC_DigitizationConfigNew import ( RPC_RangeToolCfg, RPC_DigitizationToolCfg, RPC_DigitizerCfg, @@ -31,20 +30,9 @@ ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" ConfigFlags.join(createDigitizationCfgFlags()) ConfigFlags.join(createOverlayCfgFlags()) ConfigFlags.lock() -# Function tests -# using __init__ to prevent errors -tool = RPC_RangeToolCfg(ConfigFlags) -tacc = RPC_DigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = RPC_OverlayDigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = RPC_DigitizerCfg(ConfigFlags) -tacc.merge(RPC_OverlayDigitizerCfg(ConfigFlags)) -tacc.__init__() # Construct our accumulator to run acc = MainServicesSerialCfg() acc.merge(PoolReadCfg(ConfigFlags)) -acc.merge(MuonGeoModelCfg(ConfigFlags)) acc.merge(RPC_DigitizerCfg(ConfigFlags)) # Add configuration to write HITS pool file ItemList = [ @@ -58,5 +46,7 @@ acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish -acc.run(maxEvents=3) +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) diff --git a/MuonSpectrometer/MuonDigitization/TGC_Digitization/python/TGC_DigitizationConfigNew.py b/MuonSpectrometer/MuonDigitization/TGC_Digitization/python/TGC_DigitizationConfigNew.py index 51b277f1ba761d2d6d20edfe8be90134a9eaa0bf..d562ab5346e567264607a06027cd10b073627adb 100644 --- a/MuonSpectrometer/MuonDigitization/TGC_Digitization/python/TGC_DigitizationConfigNew.py +++ b/MuonSpectrometer/MuonDigitization/TGC_Digitization/python/TGC_DigitizationConfigNew.py @@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from StoreGate.StoreGateConf import StoreGateSvc +from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg from TGC_Digitization.TGC_DigitizationConf import TgcDigitizationTool, TGCDigitizer from PileUpComps.PileUpCompsConf import PileUpXingFolder @@ -39,8 +40,9 @@ def TGC_DigitizationToolCfg(flags, name="TGC_DigitizationTool", **kwargs): def TGC_DigitizerCfg(flags, name="TGC_Digitizer", **kwargs): """Return a ComponentAccumulator with configured TGCDigitizer algorithm""" - acc = TGC_DigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(TGC_DigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(TGCDigitizer(name,**kwargs)) return acc @@ -57,8 +59,9 @@ def TGC_OverlayDigitizationToolCfg(flags, name="TGC_OverlayDigitizationTool", ** def TGC_OverlayDigitizerCfg(flags, name="TGC_OverlayDigitizer", **kwargs): """Return a ComponentAccumulator with TGCDigitizer algorithm configured for Overlay""" - acc = TGC_OverlayDigitizationToolCfg(flags) - kwargs.setdefault("DigitizationTool", acc.popPrivateTools()) + acc = MuonGeoModelCfg(flags) + tool = acc.popToolsAndMerge(TGC_OverlayDigitizationToolCfg(flags)) + kwargs.setdefault("DigitizationTool", tool) acc.addEventAlgo(TGCDigitizer(name,**kwargs)) return acc diff --git a/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py b/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py index e4e68309998b19310c0d58fd2c2c843449abbe90..6e2829991db4a3edab9a21d6c0ff8f6501861cc5 100755 --- a/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py +++ b/MuonSpectrometer/MuonDigitization/TGC_Digitization/test/TGC_DigitizationConfigNew_test.py @@ -3,6 +3,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration """ +import sys from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG from AthenaCommon.Configurable import Configurable @@ -13,8 +14,6 @@ from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags from AthenaConfiguration.AllConfigFlags import ConfigFlags -# muon imports -from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg # TGC imports from TGC_Digitization.TGC_DigitizationConfigNew import ( TGC_RangeToolCfg, TGC_DigitizationToolCfg, TGC_DigitizerCfg, @@ -31,20 +30,9 @@ ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" ConfigFlags.join(createDigitizationCfgFlags()) ConfigFlags.join(createOverlayCfgFlags()) ConfigFlags.lock() -# Function tests -# using __init__ to prevent errors -tool = TGC_RangeToolCfg(ConfigFlags) -tacc = TGC_DigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = TGC_OverlayDigitizationToolCfg(ConfigFlags) -tacc.__init__() -tacc = TGC_DigitizerCfg(ConfigFlags) -tacc.merge(TGC_OverlayDigitizerCfg(ConfigFlags)) -tacc.__init__() # Construct our accumulator to run acc = MainServicesSerialCfg() acc.merge(PoolReadCfg(ConfigFlags)) -acc.merge(MuonGeoModelCfg(ConfigFlags)) acc.merge(TGC_DigitizerCfg(ConfigFlags)) # Add configuration to write HITS pool file ItemList = [ @@ -58,5 +46,7 @@ acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish -acc.run(maxEvents=3) +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) diff --git a/Simulation/Digitization/test/DigitizationConfigNew_test.py b/Simulation/Digitization/test/DigitizationConfigNew_test.py new file mode 100755 index 0000000000000000000000000000000000000000..2621454b09fa360385a9e4992591b4287202f393 --- /dev/null +++ b/Simulation/Digitization/test/DigitizationConfigNew_test.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python +"""Test various ComponentAccumulator Digitization configuration modules + +Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +""" +import sys +from AthenaCommon.Logging import log +from AthenaCommon.Constants import DEBUG +from AthenaCommon.Configurable import Configurable +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.AllConfigFlags import ConfigFlags +from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg +from AthenaConfiguration.TestDefaults import defaultTestFiles +from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg +from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg +from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg +from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg +from Digitization.DigitizationConfigFlags import createDigitizationCfgFlags +from OverlayCommonAlgs.OverlayConfigFlags import createOverlayCfgFlags +from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg +from SCT_Digitization.SCT_DigitizationConfigNew import SCT_DigitizationHSCfg +from MDT_Digitization.MDT_DigitizationConfigNew import MDT_DigitizerCfg +from TGC_Digitization.TGC_DigitizationConfigNew import TGC_DigitizerCfg +from RPC_Digitization.RPC_DigitizationConfigNew import RPC_DigitizerCfg +from CSC_Digitization.CSC_DigitizationConfigNew import CSC_DigitBuilderCfg + +# Set up logging and new style config +log.setLevel(DEBUG) +Configurable.configurableRun3Behavior = True +# Configure +ConfigFlags.join(createDigitizationCfgFlags()) +ConfigFlags.join(createOverlayCfgFlags()) +ConfigFlags.Input.Files = defaultTestFiles.HITS_SPECIAL +ConfigFlags.Output.RDOFileName = "myRDO.pool.root" +ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" +ConfigFlags.GeoModel.Align.Dynamic = False +ConfigFlags.Concurrency.NumThreads = 1 +ConfigFlags.lock() +# Construct our accumulator to run +acc = MainServicesSerialCfg() +acc.merge(PoolReadCfg(ConfigFlags)) +acc.merge(BCM_DigitizationCfg(ConfigFlags)) +acc.merge(SCT_DigitizationHSCfg(ConfigFlags)) +acc.merge(MDT_DigitizerCfg(ConfigFlags)) +acc.merge(TGC_DigitizerCfg(ConfigFlags)) +acc.merge(RPC_DigitizerCfg(ConfigFlags)) +acc.merge(CSC_DigitBuilderCfg(ConfigFlags)) +# add output configuration +ItemList = [ + "InDetSimDataCollection#*", + "BCM_RDO_Container#*", + "InDet::SiClusterContainer#*", + "SCT_RDO_Container#*", + "MuonSimDataCollection#*", + "MdtCsmContainer#*", + "TgcRdoContainer#*", + "RpcPadContainer#*", + "CscSimDataCollection#CSC_SDO", + "CscRawDataContainer#*", +] +acc.merge(OutputStreamCfg(ConfigFlags, "RDO", ItemList=ItemList)) +# Dump config +acc.getService("StoreGateSvc").Dump = True +acc.getService("ConditionStore").Dump = True +acc.printConfig(withDetails=True) +ConfigFlags.dump() +# Execute and finish +sc = acc.run(maxEvents=3) +# Success should be 0 +sys.exit(not sc.isSuccess()) +