From c5c6a396d1f1f37745c2e036c2f3ad88e62e29f3 Mon Sep 17 00:00:00 2001 From: John Chapman <jchapman@cern.ch> Date: Mon, 28 Jan 2019 18:06:35 +0100 Subject: [PATCH] Initial version of Component Accumulator configuration of ID Geometry and Alignment --- .../AtlasGeoModel/python/InDetGMConfig.py | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py new file mode 100644 index 00000000000..35c4eefecfe --- /dev/null +++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py @@ -0,0 +1,76 @@ +# +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# + +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.AthConfigFlags import AthConfigFlags +from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline + +def InDetServiceMaterialCfg (flags): + from AtlasGeoModel.GeoModelConfig import GeoModelCfg + acc,geoModelSvc = GeoModelCfg( flags ) + from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc + acc.addService(GeometryDBSvc("InDetGeometryDBSvc")) + from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatTool + servMatTool = InDetServMatTool() + if flags.GeoModel.Run=="RUN4": + from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC + InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC() + acc.addPublicTool( InDetServMatBuilderToolSLHC ) + servMatTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC + geoModelSvc.DetectorTools += [ servMatTool ] + acc.addService(geoModelSvc) + return acc + + +def InDetGeometryCfg (flags): + acc = ComponentAccumulator() + from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg + acc.merge(PixelGeometryCfg( flags )) + from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg + acc.merge(SCT_GeometryCfg( flags )) + if not flags.GeoModel.Run=="RUN4": + from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeometryCfg + acc.merge(TRT_GeometryCfg( flags )) + acc.merge(InDetServiceMaterialCfg( flags )) + return acc + + +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 + # 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.Detector.SimulatePixel = True + ConfigFlags.Detector.SimulateSCT = True + ConfigFlags.Detector.SimulateTRT = True + ConfigFlags.GeoModel.Align.Dynamic = False + # Provide data input + ##from AthenaConfiguration.TestDefaults import defaultTestFiles + ##ConfigFlags.Input.Files = defaultTestFiles.AOD + ##ConfigFlags.GeoModel.Align.Dynamic = True + # + ConfigFlags.lock() + # Construct ComponentAccumulator + acc = MainServicesSerialCfg() + acc.merge(PoolReadCfg(ConfigFlags)) + acc.merge(InDetGeometryCfg(ConfigFlags)) # FIXME This sets up the whole ID 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('InDetGMCfg2.pkl','w') + acc.store(f) + f.close() + ConfigFlags.dump() + # Execute and finish + acc.run(maxEvents=3) -- GitLab