diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py index ae125aaf76e196ae80e6b26e7b2498d6bac76d45..f021bdfebea585e2eb5674ad350d650069ea73e0 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py +++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py @@ -1,9 +1,10 @@ """Define methods to configure SiPropertiesTool -Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory +from AtlasGeoModel.GeoModelConfig import GeoModelCfg SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg SCT_SiliconConditionsTool=CompFactory.SCT_SiliconConditionsTool @@ -20,6 +21,7 @@ def SCT_SiliconConditionsCfg(flags, name="SCT_Silicon", **kwargs): DCSConditionsTool may be provided in kwargs """ acc = ComponentAccumulator() + acc.merge(GeoModelCfg(flags)) # For SCT_ID used in SCT_SiliconConditionsTool CondArgs = {} DCSConditionsTool = kwargs.get("DCSConditionsTool") if DCSConditionsTool: diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/CMakeLists.txt b/InnerDetector/InDetConditions/SiPropertiesTool/CMakeLists.txt index 4c84b1ae0c4af9d088946df564e25a54e6255422..f516555cc72104d0dc563a7fafff10dce2d5557e 100644 --- a/InnerDetector/InDetConditions/SiPropertiesTool/CMakeLists.txt +++ b/InnerDetector/InDetConditions/SiPropertiesTool/CMakeLists.txt @@ -43,6 +43,10 @@ atlas_add_test( TestSCTProperties PROPERTIES TIMEOUT 300 ENVIRONMENT THREADS=5 ) +atlas_add_test( TestSCTPropertiesNewConf + SCRIPT python -m SiPropertiesTool.SCTSiPropertiesTestAlgConfig + PROPERTIES TIMEOUT 300 ) + atlas_add_test( SiPropertiesConfig_test SCRIPT test/SiPropertiesConfig_test.py PROPERTIES TIMEOUT 300 ) @@ -50,4 +54,3 @@ atlas_add_test( SiPropertiesConfig_test # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) - diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCTSiPropertiesTestAlgConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCTSiPropertiesTestAlgConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..953b463570862090feb35f8bc040f7c51e21f2d0 --- /dev/null +++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCTSiPropertiesTestAlgConfig.py @@ -0,0 +1,42 @@ +"""Define method to configure and test SCTSiPropertiesTestAlg + +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +""" +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory + +def SCTSiPropertiesTestAlgCfg(flags, name="SCTSiPropertiesTestAlg", **kwargs): + """Return a configured SCTSiPropertiesTestAlg""" + acc = ComponentAccumulator() + from SiPropertiesTool.SCT_SiPropertiesConfig import SCT_SiPropertiesCfg + kwargs.setdefault("SCTPropertiesTool", acc.popToolsAndMerge(SCT_SiPropertiesCfg(flags))) + acc.addEventAlgo(CompFactory.SCTSiPropertiesTestAlg(**kwargs)) + return acc + +if __name__=="__main__": + from AthenaCommon.Logging import log + from AthenaCommon.Constants import INFO + log.setLevel(INFO) + + from AthenaCommon.Configurable import Configurable + Configurable.configurableRun3Behavior=1 + + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Input.isMC = True + ConfigFlags.Input.ProjectName = "mc16_13TeV" + ConfigFlags.Input.RunNumber = [300000] # MC16c 2017 run number + ConfigFlags.addFlag("Input.InitialTimeStamp", 1500000000) # MC16c 2017 time stamp + ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-18" + ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2015-03-01-00" + ConfigFlags.Detector.GeometrySCT = True + ConfigFlags.lock() + + from AthenaConfiguration.MainServicesConfig import MainServicesCfg + cfg = MainServicesCfg(ConfigFlags) + + from McEventSelector.McEventSelectorConfig import McEventSelectorCfg + cfg.merge(McEventSelectorCfg(ConfigFlags)) + + cfg.merge(SCTSiPropertiesTestAlgCfg(ConfigFlags)) + + cfg.run(maxEvents=20) diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py index e14c336828012779bbf618958163a9e7e3b55499..f8324a83f0e9f10441b098e771f0c3d9204124fd 100644 --- a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py +++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py @@ -1,9 +1,12 @@ """Define methods to configure SCT SiProperties -Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory +from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg +from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsCfg +from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg SiPropertiesTool=CompFactory.SiPropertiesTool SCTSiPropertiesCondAlg=CompFactory.SCTSiPropertiesCondAlg @@ -19,6 +22,22 @@ def SCT_SiPropertiesCfg(flags, name="SCTSiPropertiesCondAlg", **kwargs): SiConditionsTool and/or SiPropertiesTool may be provided in kwargs """ acc = ComponentAccumulator() + + acc.merge(SCT_GeometryCfg(flags)) # For SCT_DetectorElementCollection used in SCTSiPropertiesCondAlg + + DCSkwargs = {} + # For HLT + if flags.Common.isOnline and not flags.Input.isMC: + dcs_folder = "/SCT/HLT/DCS" + DCSkwargs["dbInstance"] = "SCT" + DCSkwargs["hvFolder"] = dcs_folder + "/HV" + DCSkwargs["tempFolder"] = dcs_folder + "/MODTEMP" + DCSkwargs["stateFolder"] = dcs_folder + "/CHANSTAT" + DCSAcc = SCT_DCSConditionsCfg(flags, **DCSkwargs) + SCAcc = SCT_SiliconConditionsCfg(flags, DCSConditionsTool=DCSAcc.popPrivateTools()) + acc.merge(DCSAcc) + acc.merge(SCAcc) + tool = kwargs.get("SiPropertiesTool", SCT_SiPropertiesToolCfg(flags)) alg = SCTSiPropertiesCondAlg(name, **kwargs) acc.addCondAlgo(alg)