diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/CMakeLists.txt index a1fd60f379afcf1eb57fb07908d647421cb3841f..bc736a0002e7402837fb0acef43a1d811f877ac9 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( TestLinkMaskingNewConf + SCRIPT share/TestLinkMaskingNewConf.sh + PROPERTIES TIMEOUT 600 ) atlas_add_test( TestMajorityNewConf SCRIPT python -m SCT_ConditionsAlgorithms.SCT_MajorityConditionsTestAlgConfig PROPERTIES TIMEOUT 600 ) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_LinkMaskingTestAlgConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_LinkMaskingTestAlgConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..02fe8f9590e969d2852979547e3d2ea75a213589 --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_LinkMaskingTestAlgConfig.py @@ -0,0 +1,42 @@ +"""Define method to configure and test SCT_LinkMaskingTestAlg + +Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +""" +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory + +def SCT_LinkMaskingTestAlgCfg(flags, name="SCT_LinkMaskingTestAlg", **kwargs): + """Return a configured SCT_LinkMaskingTestAlg""" + acc = ComponentAccumulator() + from SCT_ConditionsTools.SCT_LinkMaskingConfig import SCT_LinkMaskingCfg + kwargs.setdefault("LinkMaskingTool", acc.popToolsAndMerge(SCT_LinkMaskingCfg(flags))) + acc.addEventAlgo(CompFactory.SCT_LinkMaskingTestAlg(**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-10" + 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_LinkMaskingTestAlgCfg(ConfigFlags)) + + cfg.run(maxEvents=20) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/TestLinkMaskingNewConf.sh b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/TestLinkMaskingNewConf.sh new file mode 100755 index 0000000000000000000000000000000000000000..501e5fa0c87e01b1407a6fa145473b27d8192829 --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/TestLinkMaskingNewConf.sh @@ -0,0 +1,4 @@ +get_files -scripts createLinkMaskingSQLiteFile.py +python createLinkMaskingSQLiteFile.py +ln -s LinkMasking.db mycool.db # mycool.db is hard coded in Database/IOVDbSvc/python/IOVDbSvcConfig.py +python -m SCT_ConditionsAlgorithms.SCT_LinkMaskingTestAlgConfig diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..d0acba43f9538ffb71c2ccb8dab7ae5ad95cc9df --- /dev/null +++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingConfig.py @@ -0,0 +1,34 @@ +"""Define methods to configure SCT_LinkMaskingTool + +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 +from IOVDbSvc.IOVDbSvcConfig import addFolders + +def SCT_LinkMaskingCfg(flags, name="SCT_LinkMasking", **kwargs): + """Configure necessary condition folder, condition algorithm + for SCT_LinkMaskingTool and return it. + """ + acc = ComponentAccumulator() + + # For SCT_ID used in SCT_LinkMaskingTool + acc.merge(GeoModelCfg(flags)) + + # Condition folders + folder = "/purple/pants" + # mycool.db is hard coded in Database/IOVDbSvc/python/IOVDbSvcConfig.py + dbConnection = "<dbConnection>sqlite://;schema=mycool.db;dbname=CONDBR2</dbConnection>" + acc.merge(addFolders(configFlags=flags, folderstrings=folder, className="CondAttrListCollection", db=dbConnection)) + + # Condition algorithm + kwargs.setdefault("ReadKey", folder) + alg = CompFactory.SCT_LinkMaskingCondAlg(name=name+"CondAlg", **kwargs) + acc.addCondAlgo(alg) + + # Condition tool + acc.merge(GeoModelCfg(flags)) # For SCT_ID used in SCT_DCSConditionsTool + acc.setPrivateTools(CompFactory.SCT_LinkMaskingTool(name=name+"Tool")) + + return acc