diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt index 74626ab803c14e7a063ad448d9cd5a96a4ca4889..4a50ca11ae919b5413a24cc05cabfacb391acf3e 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt @@ -108,6 +108,9 @@ atlas_add_test( TestReadoutNewConf atlas_add_test( TestRodVetoNewConf SCRIPT python -m SCT_ConditionsAlgorithms.SCT_RODVetoTestAlgConfig PROPERTIES TIMEOUT 600 ) +atlas_add_test( TestSensorsNewConf + SCRIPT python -m SCT_ConditionsAlgorithms.SCT_SensorsTestAlgConfig + PROPERTIES TIMEOUT 600 ) atlas_add_test( TestStripVetoNewConf SCRIPT python -m SCT_ConditionsAlgorithms.SCT_StripVetoTestAlgConfig PROPERTIES TIMEOUT 600 ) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_SensorsTestAlgConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_SensorsTestAlgConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..0dbce8e2670babc79dffc1b29bf91cca8e0451bc --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_SensorsTestAlgConfig.py @@ -0,0 +1,45 @@ +"""Define method to configure and test SCT_SensorsTestAlg + +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_SensorsTestAlg", **kwargs): + """Return a configured SCT_SensorsTestAlg""" + acc = ComponentAccumulator() + from SCT_ConditionsTools.SCT_SensorsConfig import SCT_SensorsCfg + kwargs.setdefault("SCT_SensorsTool", acc.popToolsAndMerge(SCT_SensorsCfg(flags, **kwargs))) + acc.addEventAlgo(CompFactory.SCT_SensorsTestAlg()) + 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 = "data12_8TeV" + ConfigFlags.Input.RunNumber = 142913 + ConfigFlags.addFlag("Input.InitialTimeStamp", 1260630000) # During run 142913, 12/12/2009 @ 3:00pm (UTC) + ConfigFlags.IOVDb.GlobalTag = "COMCOND-BLKPA-RUN1-09" + ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R1-2012-03-00-00" + ConfigFlags.Detector.GeometrySCT = True + ConfigFlags.lock() + + from AthenaConfiguration.MainServicesConfig import MainServicesCfg + cfg = MainServicesCfg(ConfigFlags) + + from McEventSelector.McEventSelectorConfig import McEventSelectorCfg + cfg.merge(McEventSelectorCfg(ConfigFlags)) + + kwargs = {} + kwargs["folderTag"] = "SctSensors-Sep03-14" + + cfg.merge(SCT_MajorityConditionsTestAlgCfg(ConfigFlags, **kwargs)) + + cfg.run(maxEvents=20) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..cea909b3bfc2de1c4b7ad4e5b657520da709edd2 --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsConfig.py @@ -0,0 +1,30 @@ +"""Define methods to configure SCT_Sensors + +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_SensorsCfg(flags, name="SCT_Sensors", **kwargs): + """Configure necessary condition folder, condition algorithm + for SCT_MajorityConditionsTool and return it. + """ + acc = ComponentAccumulator() + + # Condition folder + folder = "/SCT/Sensors" + dbInstance = "SCT_OFL" + + if "folderTag" in kwargs: + acc.merge(addFolders(flags, folder, dbInstance, className="CondAttrListCollection", tag=kwargs["folderTag"])) + else: + acc.merge(addFolders(flags, folder, dbInstance, className="CondAttrListCollection")) + + # Condition algorithm + acc.addCondAlgo(CompFactory.SCT_SensorsCondAlg()) + + # Condition tool + acc.setPrivateTools(CompFactory.SCT_SensorsTool(name=name+"Tool")) + + return acc