diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/CMakeLists.txt b/DetectorDescription/GeoModel/AtlasGeoModel/CMakeLists.txt index 925b09354115d151b178410073192c580579b751..8654ff91070d2ebb4801fef3adef6d1d56b0350f 100644 --- a/DetectorDescription/GeoModel/AtlasGeoModel/CMakeLists.txt +++ b/DetectorDescription/GeoModel/AtlasGeoModel/CMakeLists.txt @@ -8,7 +8,18 @@ atlas_subdir( AtlasGeoModel ) # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) +atlas_install_scripts( test/*.py ) + +atlas_add_test( EVNT_InputGeo_test + SCRIPT test/AtlasGeometryConfig_EVNT_test.py + PROPERTIES TIMEOUT 300 ) if( NOT SIMULATIONBASE ) atlas_add_test( AtlasGeoModelConfig SCRIPT python -m AtlasGeoModel.GeoModelConfig POST_EXEC_SCRIPT nopost.sh ) + atlas_add_test( HITS_InputGeo_test + SCRIPT test/AtlasGeometryConfig_HITS_test.py + PROPERTIES TIMEOUT 300 ) + atlas_add_test( AOD_InputGeo_test + SCRIPT test/AtlasGeometryConfig_AOD_test.py + PROPERTIES TIMEOUT 300 ) endif() diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/AtlasGeoModelConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/AtlasGeoModelConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..cc2c90572cdd14e3006570aee09b722b9e4e3706 --- /dev/null +++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/AtlasGeoModelConfig.py @@ -0,0 +1,26 @@ +# +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# + +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.AthConfigFlags import AthConfigFlags + +def AtlasGeometryCfg (flags): + acc = ComponentAccumulator() + + from AtlasGeoModel.InDetGMConfig import InDetGeometryCfg + acc.merge(InDetGeometryCfg(flags)) + from LArGeoAlgsNV.LArGMConfig import LArGMCfg + acc.merge(LArGMCfg(flags)) + from TileGeoModel.TileGMConfig import TileGMCfg + acc.merge(TileGMCfg(flags)) + from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg + acc.merge(MuonGeoModelCfg(flags)) + #from AtlasGeoModel.ForDetGeoModelConfig import ForDetGeometryCfg + #acc.merge(ForDetGeometryCfg(flags)) + from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg + acc.merge(BeamPipeGeometryCfg(flags)) + if (flags.Detector.Simulate and flags.Beam.Type == "cosmics") or flags.Detector.SimulateCavern: + from CavernInfraGeoModel.CavernInfraGeoModelConf import CavernInfraDetectorTool + gms.DetectorTools += [ CavernInfraDetectorTool() ] + return acc diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_AOD_test.py b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_AOD_test.py new file mode 100755 index 0000000000000000000000000000000000000000..cb09147b15697e108f2ee02c4b2f7ad484eddff7 --- /dev/null +++ b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_AOD_test.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +"""Run a test on Atlas Geometry configuration using a HITS file as input + +Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +""" +if __name__ == "__main__": + import os + from AthenaCommon.Logging import log + from AthenaCommon.Constants import DEBUG + from AthenaCommon.Configurable import Configurable + from AthenaConfiguration.AllConfigFlags import ConfigFlags + from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg + from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg + from AtlasGeoModel.AtlasGeoModelConfig import AtlasGeometryCfg + # Set up logging and new style config + log.setLevel(DEBUG) + Configurable.configurableRun3Behavior = True + from AthenaConfiguration.TestDefaults import defaultTestFiles + # Provide MC input + ConfigFlags.Input.Files = defaultTestFiles.AOD + ConfigFlags.GeoModel.Align.Dynamic = True + ConfigFlags.lock() + + # Construct ComponentAccumulator + acc = MainServicesSerialCfg() + acc.merge(PoolReadCfg(ConfigFlags)) + acc.merge(AtlasGeometryCfg(ConfigFlags)) + #acc.getService("StoreGateSvc").Dump=True + acc.getService("ConditionStore").Dump=True + acc.printConfig(withDetails=True) + f=open('AtlasGeoModelCfg_HITS.pkl','w') + acc.store(f) + f.close() + ConfigFlags.dump() + # Execute and finish + acc.run(maxEvents=3) diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_EVNT_test.py b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_EVNT_test.py new file mode 100755 index 0000000000000000000000000000000000000000..97619ecd1992a6560e0b0cb6d77d1722fbc66a9e --- /dev/null +++ b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_EVNT_test.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +"""Run a test on Atlas Geometry configuration using a EVNT file as input + +Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +""" +if __name__ == "__main__": + import os + from AthenaCommon.Logging import log + from AthenaCommon.Constants import DEBUG + from AthenaCommon.Configurable import Configurable + from AthenaConfiguration.AllConfigFlags import ConfigFlags + from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg + from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg + from AtlasGeoModel.AtlasGeoModelConfig import AtlasGeometryCfg + # Set up logging and new style config + log.setLevel(DEBUG) + Configurable.configurableRun3Behavior = True + from AthenaConfiguration.TestDefaults import defaultTestFiles + # Provide MC input + ConfigFlags.Input.Files = defaultTestFiles.EVNT + ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" + ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" + ConfigFlags.Detector.SimulatePixel = True + ConfigFlags.Detector.SimulateSCT = True + ConfigFlags.Detector.SimulateTRT = True + ConfigFlags.GeoModel.Align.Dynamic = False + ConfigFlags.lock() + + # Construct ComponentAccumulator + acc = MainServicesSerialCfg() + acc.merge(PoolReadCfg(ConfigFlags)) + acc.merge(AtlasGeometryCfg(ConfigFlags)) + #acc.getService("StoreGateSvc").Dump=True + acc.getService("ConditionStore").Dump=True + acc.printConfig(withDetails=True) + f=open('AtlasGeoModelCfg_EVNT.pkl','w') + acc.store(f) + f.close() + ConfigFlags.dump() + # Execute and finish + acc.run(maxEvents=3) diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_HITS_test.py b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_HITS_test.py new file mode 100755 index 0000000000000000000000000000000000000000..e9217f3fbe9b06acc3b5cd8ccad06ba1ddf49ec2 --- /dev/null +++ b/DetectorDescription/GeoModel/AtlasGeoModel/test/AtlasGeometryConfig_HITS_test.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python +"""Run a test on Atlas Geometry configuration using a HITS file as input + +Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +""" +if __name__ == "__main__": + import os + from AthenaCommon.Logging import log + from AthenaCommon.Constants import DEBUG + from AthenaCommon.Configurable import Configurable + from AthenaConfiguration.AllConfigFlags import ConfigFlags + from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg + from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg + from AtlasGeoModel.AtlasGeoModelConfig import AtlasGeometryCfg + # Set up logging and new style config + log.setLevel(DEBUG) + Configurable.configurableRun3Behavior = True + from AthenaConfiguration.TestDefaults import defaultTestFiles + # Provide MC input + ConfigFlags.Input.Files = defaultTestFiles.HITS + ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" + ConfigFlags.GeoModel.Align.Dynamic = False + ConfigFlags.lock() + + # Construct ComponentAccumulator + acc = MainServicesSerialCfg() + acc.merge(PoolReadCfg(ConfigFlags)) + acc.merge(AtlasGeometryCfg(ConfigFlags)) + #acc.getService("StoreGateSvc").Dump=True + acc.getService("ConditionStore").Dump=True + acc.printConfig(withDetails=True) + f=open('AtlasGeoModelCfg_HITS.pkl','w') + acc.store(f) + f.close() + ConfigFlags.dump() + # Execute and finish + acc.run(maxEvents=3)