From 3a2d79930b66c8497f8fa3411aabfa474b9383e4 Mon Sep 17 00:00:00 2001 From: Susumu Oda <susumu.oda@cern.ch> Date: Wed, 2 Dec 2020 14:28:57 +0000 Subject: [PATCH] Implement SCT_MajorityConditionsTestAlgConfig.py (ATLASRECTS-5799) --- .../SCT_ConditionsAlgorithms/CMakeLists.txt | 3 ++ .../SCT_MajorityConditionsTestAlgConfig.py | 42 +++++++++++++++++++ .../python/SCT_MajorityConditionsConfig.py | 26 ++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_MajorityConditionsTestAlgConfig.py create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsConfig.py diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt index ea2bc8b58e8..f503e2d7604 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt @@ -90,6 +90,9 @@ atlas_add_test( TestConfigNewConf atlas_add_test( TestDCSConditionsNewConf SCRIPT python -m SCT_ConditionsAlgorithms.SCT_DCSConditionsTestAlgConfig PROPERTIES TIMEOUT 600 ) +atlas_add_test( TestMajorityNewConf + SCRIPT python -m SCT_ConditionsAlgorithms.SCT_MajorityConditionsTestAlgConfig + PROPERTIES TIMEOUT 600 ) atlas_add_test( TestMonReadNewConf SCRIPT python -m SCT_ConditionsAlgorithms.SCT_MonitorConditionsTestAlgConfig PROPERTIES TIMEOUT 600 ) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_MajorityConditionsTestAlgConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_MajorityConditionsTestAlgConfig.py new file mode 100644 index 00000000000..5dc62a8bb0e --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_MajorityConditionsTestAlgConfig.py @@ -0,0 +1,42 @@ +"""Define method to configure and test SCT_MajorityConditionsTestAlg + +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +""" +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory + +def SCT_MajorityConditionsTestAlgCfg(flags, name="SCT_MajorityConditionsTestAlg", **kwargs): + """Return a configured SCT_MajorityConditionsTestAlg""" + acc = ComponentAccumulator() + from SCT_ConditionsTools.SCT_MajorityConditionsConfig import SCT_MajorityConditionsCfg + kwargs.setdefault("MajorityTool", acc.popToolsAndMerge(SCT_MajorityConditionsCfg(flags))) + acc.addEventAlgo(CompFactory.SCT_MajorityConditionsTestAlg(**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 = False + ConfigFlags.Input.ProjectName = "data16_13TeV" + ConfigFlags.Input.RunNumber = 310809 + ConfigFlags.addFlag("Input.InitialTimeStamp", 1476741326) # LB 18 of run 310809, 10/17/2016 @ 9:55pm (UTC) + ConfigFlags.IOVDb.GlobalTag = "CONDBR2-BLKPA-2017-06" + ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01" + 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(SCT_MajorityConditionsTestAlgCfg(ConfigFlags)) + + cfg.run(maxEvents=20) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsConfig.py new file mode 100644 index 00000000000..0d16a135d51 --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsConfig.py @@ -0,0 +1,26 @@ +"""Define methods to configure SCT_MajorityConditions + +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +""" +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory +from IOVDbSvc.IOVDbSvcConfig import addFolders + +def SCT_MajorityConditionsCfg(flags, name="InDetSCT_MajorityConditions", **kwargs): + """Configure necessary condition folder, condition algorithm + for SCT_MajorityConditionsTool and return it. + """ + acc = ComponentAccumulator() + + # Condition folder + folder = "/SCT/DCS/MAJ" + dbInstance = "DCS_OFL" + + # Condition algorithm + acc.merge(addFolders(flags, folder, dbInstance, className="CondAttrListCollection")) + acc.addCondAlgo(CompFactory.SCT_MajorityCondAlg()) + + # Condition tool + acc.setPrivateTools(CompFactory.SCT_MajorityConditionsTool(name=name+"Tool")) + + return acc -- GitLab