From ee0ed18bb87ac6a40110a96370f9620db46e350c Mon Sep 17 00:00:00 2001 From: Bhupesh Dixit <bhupesh.dixit@cern.ch> Date: Tue, 27 Feb 2024 18:21:31 +0100 Subject: [PATCH] ITk strip veto implementation based on the values from the DB --- .../python/SCT_ModuleVetoTestAlgConfig.py | 22 +++++++++---------- .../src/SCT_ModuleVetoCondAlg.cxx | 6 ++--- .../src/SCT_ModuleVetoCondAlg.h | 4 ++-- .../python/ITkStripConditionsToolsConfig.py | 9 ++++---- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_ModuleVetoTestAlgConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_ModuleVetoTestAlgConfig.py index 1c6dac6ff960..ed452d3581d3 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_ModuleVetoTestAlgConfig.py +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/python/SCT_ModuleVetoTestAlgConfig.py @@ -1,12 +1,12 @@ -"""Define method to configure and test SCT_ModuleVetoTestAlg +"""Define method to configure and test ITkStrip_ModuleVetoTestAlg Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory -def SCT_StripVetoTestAlgCfg(flags, name="SCT_ModuleVetoTestAlg", **kwargs): - """Return a configured SCT_ModuleVetoTestAlg""" +def ITkStripVetoTestAlgCfg(flags, name="ITkStripModuleVetoTestAlg", **kwargs): + """Return a configured ITkStripModuleVetoTestAlg""" acc = ComponentAccumulator() from SCT_ConditionsTools.SCT_ConditionsToolsConfig import SCT_ModuleVetoCfg acc.addEventAlgo(CompFactory.SCT_ModuleVetoTestAlg(name, @@ -23,12 +23,12 @@ if __name__=="__main__": flags.Input.Files = [] flags.Input.isMC = True flags.Input.ProjectName = "mc16_13TeV" - flags.Input.RunNumbers = [300000] # MC16c 2017 run number - flags.Input.TimeStamps = [1500000000] # MC16c 2017 time stamp - flags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-18" + flags.Input.RunNumbers = [350200] # MC23 PhaseII mu=200 run number + flags.Input.TimeStamps = [1625130000] # MC23 PhaseII mu=200 time stamp + flags.IOVDb.GlobalTag = "OFLP200" from AthenaConfiguration.TestDefaults import defaultGeometryTags - flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2 - flags.Detector.GeometrySCT = True + flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN4 + flags.Detector.GeometryITkStrip = True flags.lock() from AthenaConfiguration.MainServicesConfig import MainServicesCfg @@ -40,13 +40,13 @@ if __name__=="__main__": kwargs = {} ### Use COOL database for SCT_ModuleVetoTool - kwargs["useDB"] = True # False + kwargs["useDB"] = False if kwargs["useDB"]: - kwargs["folderTag"] = "SCTManualBadModules-000-00" + kwargs["folderStrings"] = "/ITk/Manual/BadModules" kwargs["BadModuleIdentifiers"] = ["database"] else: kwargs["BadModuleIdentifiers"] = ["1", "2"] - cfg.merge(SCT_StripVetoTestAlgCfg(flags, **kwargs)) + cfg.merge(ITkStripVetoTestAlgCfg(flags, **kwargs)) cfg.run(maxEvents=20) diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.cxx index e1539046802c..35e79e6177a4 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.cxx +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.cxx @@ -65,10 +65,10 @@ StatusCode SCT_ModuleVetoCondAlg::execute(const EventContext& ctx) const { // Read bad wafer info const std::string &badModuleString{(*readCdo)["ModuleList"].data<std::string>()}; - std::vector<int> v{string2Vector<int>(badModuleString)}; - int numberInDb{static_cast<int>(v.size())}; + std::vector<unsigned long long> v{string2Vector<unsigned long long>(badModuleString)}; + unsigned long long numberInDb{static_cast<unsigned long long>(v.size())}; ATH_MSG_INFO(numberInDb << " elements were declared bad in the database."); - for (const int badWaferId: v) { + for (const unsigned long long badWaferId: v) { writeCdo->setBadWaferId(Identifier{badWaferId}); } diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.h index e66eeb03ed03..f1f035c9b6d0 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.h +++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoCondAlg.h @@ -27,8 +27,8 @@ class SCT_ModuleVetoCondAlg : public AthReentrantAlgorithm virtual bool isReEntrant() const override final { return false; } private: - SG::ReadCondHandleKey<AthenaAttributeList> m_readKey{this, "ReadKey", "/SCT/Manual/BadModules", "Key of input (raw) bad module conditions folder"}; - SG::WriteCondHandleKey<SCT_ModuleVetoCondData> m_writeKey{this, "WriteKey", "SCT_ModuleVetoCondData", "Key of output (derived) bad module conditions data"}; + SG::ReadCondHandleKey<AthenaAttributeList> m_readKey{this, "ReadKey", "/ITk/Manual/BadModules", "Key of input (raw) bad module conditions folder"}; + SG::WriteCondHandleKey<SCT_ModuleVetoCondData> m_writeKey{this, "WriteKey", "ITkStrip_ModuleVetoCondData", "Key of output (derived) bad module conditions data"}; }; #endif // SCT_MODULEVETOCONDALG diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/ITkStripConditionsToolsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/ITkStripConditionsToolsConfig.py index b8338e0d83bc..ae9bf0bba66f 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/ITkStripConditionsToolsConfig.py +++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/ITkStripConditionsToolsConfig.py @@ -102,14 +102,15 @@ def ITkStripModuleVetoCfg(flags, name="ITkStripModuleVeto", **kwargs): kwargs.setdefault("useDB", False) kwargs.setdefault("BadModuleIdentifiers", []) - + if kwargs["useDB"]: + kwargs.setdefault("BadModuleIdentifiers", ["database"]) # Condition folder acc.merge(addFolders(flags, - folderStrings="/SCT/Manual/BadModules", - detDb="SCT_OFL", + folderStrings="/ITk/Manual/BadModules", + detDb="OFLP200", className="AthenaAttributeList", - tag=kwargs["folderTag"])) + tag=kwargs["folderTag"])) # Condition algorithm acc.addCondAlgo(CompFactory.SCT_ModuleVetoCondAlg()) -- GitLab