From 01345ea765cc45ff171c456e194dba6b8ce92249 Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Sun, 16 Feb 2020 10:59:20 +0100 Subject: [PATCH] Fix various pixel conditions scheduling issues --- .../python/PixelConditionsConfig.py | 17 +++++++++++++---- .../src/PixelCablingCondAlg.cxx | 7 ++++++- .../src/PixelCablingCondAlg.h | 3 +++ .../src/PixelDCSCondStateAlg.cxx | 2 +- .../src/PixelDCSCondStatusAlg.cxx | 2 +- .../src/PixelTDAQCondAlg.cxx | 2 +- .../python/PixelConditionsSummaryConfig.py | 2 +- .../src/PixelConditionsSummaryTool.cxx | 5 ++++- .../python/PixelLorentzAngleConfig.py | 1 + .../python/SCT_LorentzAngleConfig.py | 1 + 10 files changed, 32 insertions(+), 10 deletions(-) diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py index 4ff4c76ae52..771e381fe11 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py @@ -202,6 +202,9 @@ def PixelCablingCondAlgCfg(flags, name="PixelCablingCondAlg", **kwargs): acc = ComponentAccumulator() if not flags.Input.isMC: acc.merge(addFoldersSplitOnline(flags, "PIXEL", "/PIXEL/Onl/CablingMap","/PIXEL/CablingMap", className="AthenaAttributeList")) + kwargs.setdefault("ReadKey", "/PIXEL/CablingMap") + else: + kwargs.setdefault("ReadKey", "") # Cabling parameters IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_2016.dat" @@ -254,8 +257,8 @@ def PixelCablingCondAlgCfg(flags, name="PixelCablingCondAlg", **kwargs): kwargs.setdefault("MappingFile", IdMappingDat) kwargs.setdefault("PixelModuleData", "PixelModuleData") kwargs.setdefault("PixelReadoutSpeedData", "PixelReadoutSpeedData") - kwargs.setdefault("ReadKey", "/PIXEL/CablingMap") kwargs.setdefault("WriteKey", "PixelCablingCondData") + kwargs.setdefault("RecordInInitialize", not flags.Detector.OverlayPixel) acc.addCondAlgo(CompFactory.PixelCablingCondAlg(name, **kwargs)) return acc @@ -288,8 +291,10 @@ def PixelDCSCondStateAlgCfg(flags, name="PixelDCSCondStateAlg", **kwargs): acc = ComponentAccumulator() if not flags.Input.isMC: acc.merge(addFolders(flags, "/PIXEL/DCS/FSMSTATE", "DCS_OFL", className="CondAttrListCollection")) + kwargs.setdefault("ReadKeyState", "/PIXEL/DCS/FSMSTATE") + else: + kwargs.setdefault("ReadKeyState", "") kwargs.setdefault("PixelModuleData", "PixelModuleData") - kwargs.setdefault("ReadKeyState", "/PIXEL/DCS/FSMSTATE") kwargs.setdefault("WriteKeyState", "PixelDCSStateCondData") acc.addCondAlgo(CompFactory.PixelDCSCondStateAlg(name, **kwargs)) return acc @@ -299,8 +304,10 @@ def PixelDCSCondStatusAlgCfg(flags, name="PixelDCSCondStatusAlg", **kwargs): acc = ComponentAccumulator() if not flags.Input.isMC: acc.merge(addFolders(flags, "/PIXEL/DCS/FSMSTATUS", "DCS_OFL", className="CondAttrListCollection")) + kwargs.setdefault("ReadKeyStatus", "/PIXEL/DCS/FSMSTATUS") + else: + kwargs.setdefault("ReadKeyStatus", "") kwargs.setdefault("PixelModuleData", "PixelModuleData") - kwargs.setdefault("ReadKeyStatus", "/PIXEL/DCS/FSMSTATUS") kwargs.setdefault("WriteKeyStatus", "PixelDCSStatusCondData") acc.addCondAlgo(CompFactory.PixelDCSCondStatusAlg(name, **kwargs)) return acc @@ -393,8 +400,10 @@ def PixelTDAQCondAlgCfg(flags, name="PixelTDAQCondAlg", **kwargs): acc = ComponentAccumulator() if flags.Common.isOnline: acc.merge(addFolders(flags, "/TDAQ/Resources/ATLAS/PIXEL/Modules", "TDAQ_ONL", className="CondAttrListCollection")) + kwargs.setdefault("ReadKey", "/TDAQ/Resources/ATLAS/PIXEL/Modules") + else: + kwargs.setdefault("ReadKey", "") kwargs.setdefault("PixelModuleData", "PixelModuleData") - kwargs.setdefault("ReadKey", "/TDAQ/Resources/ATLAS/PIXEL/Modules") kwargs.setdefault("WriteKey", "PixelTDAQCondData") acc.addCondAlgo(CompFactory.PixelTDAQCondAlg(name, **kwargs)) return acc diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx index e13b9032f03..f15cbe07c49 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx @@ -27,7 +27,7 @@ StatusCode PixelCablingCondAlg::initialize() { ATH_CHECK(m_condSvc.retrieve()); ATH_CHECK(m_moduleDataKey.initialize()); ATH_CHECK(m_readoutspeedKey.initialize()); - ATH_CHECK(m_readKey.initialize()); + ATH_CHECK(m_readKey.initialize(!m_readKey.empty())); ATH_CHECK(m_writeKey.initialize()); if (m_condSvc->regHandle(this,m_writeKey).isFailure()) { @@ -35,6 +35,11 @@ StatusCode PixelCablingCondAlg::initialize() { return StatusCode::FAILURE; } + if (!m_recordInInitialize.value()) { + ATH_MSG_WARNING("Special treatment disabled."); + return StatusCode::SUCCESS; + } + ATH_MSG_WARNING("Special treatment: Once RegionSelectorTable is fixed, these lines should be removed."); SG::WriteCondHandle<PixelCablingCondData> writeHandle(m_writeKey); diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.h index 7dab96c4b8b..31a63fcae8c 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.h +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.h @@ -43,6 +43,9 @@ class PixelCablingCondAlg : public AthReentrantAlgorithm { const PixelID* m_pixelID{nullptr}; ServiceHandle<ICondSvc> m_condSvc{this, "CondSvc", "CondSvc"}; + Gaudi::Property<bool> m_recordInInitialize + {this, "RecordInInitialize", true, "(Temporary) write the cond object in initialize"}; + // Keep this untile SegionSelectorTable is fixed. Gaudi::Property<uint32_t> m_rodidForSingleLink40 {this, "RodIDForSingleLink40", 0, "(Temporary) const link speed"}; diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStateAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStateAlg.cxx index 2064c95d484..7cf5ff6fbb8 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStateAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStateAlg.cxx @@ -19,7 +19,7 @@ StatusCode PixelDCSCondStateAlg::initialize() { ATH_CHECK(m_condSvc.retrieve()); ATH_CHECK(m_moduleDataKey.initialize()); - ATH_CHECK(m_readKeyState.initialize()); + ATH_CHECK(m_readKeyState.initialize(!m_readKeyState.empty())); ATH_CHECK(m_writeKeyState.initialize()); if (m_condSvc->regHandle(this, m_writeKeyState).isFailure()) { ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKeyState.fullKey() << " with CondSvc"); diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStatusAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStatusAlg.cxx index 5e9424bd9b2..49bb339a957 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStatusAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondStatusAlg.cxx @@ -19,7 +19,7 @@ StatusCode PixelDCSCondStatusAlg::initialize() { ATH_CHECK(m_condSvc.retrieve()); ATH_CHECK(m_moduleDataKey.initialize()); - ATH_CHECK(m_readKeyStatus.initialize()); + ATH_CHECK(m_readKeyStatus.initialize(!m_readKeyStatus.empty())); ATH_CHECK(m_writeKeyStatus.initialize()); if (m_condSvc->regHandle(this, m_writeKeyStatus).isFailure()) { ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKeyStatus.fullKey() << " with CondSvc"); diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelTDAQCondAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelTDAQCondAlg.cxx index 221dbbde8a0..6a7388683df 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelTDAQCondAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelTDAQCondAlg.cxx @@ -20,7 +20,7 @@ StatusCode PixelTDAQCondAlg::initialize() { ATH_CHECK(m_condSvc.retrieve()); ATH_CHECK(m_moduleDataKey.initialize()); - ATH_CHECK(m_readKey.initialize()); + ATH_CHECK(m_readKey.initialize(!m_readKey.empty())); ATH_CHECK(m_writeKey.initialize()); if (m_condSvc->regHandle(this,m_writeKey).isFailure()) { ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc"); diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py index b8383518e87..5db700face2 100644 --- a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py +++ b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py @@ -13,7 +13,7 @@ from PixelConditionsAlgorithms.PixelConditionsConfig import ( def PixelConditionsSummaryCfg(flags, name="PixelConditionsSummary", **kwargs): """Return configured ComponentAccumulator with tool for Pixel Conditions""" acc = ComponentAccumulator() - kwargs.setdefault("UseByteStream", False) + kwargs.setdefault("UseByteStream", not flags.Input.isMC) acc.merge(PixelDCSCondStateAlgCfg(flags)) acc.merge(PixelDCSCondStatusAlgCfg(flags)) # NEW FOR RUN3 acc.merge(PixelDeadMapCondAlgCfg(flags)) diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/src/PixelConditionsSummaryTool.cxx b/InnerDetector/InDetConditions/PixelConditionsTools/src/PixelConditionsSummaryTool.cxx index fdf9d215b11..42d722772c5 100644 --- a/InnerDetector/InDetConditions/PixelConditionsTools/src/PixelConditionsSummaryTool.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsTools/src/PixelConditionsSummaryTool.cxx @@ -28,7 +28,10 @@ StatusCode PixelConditionsSummaryTool::initialize(){ ATH_CHECK(m_condDCSStatusKey.initialize()); #ifndef SIMULATIONBASE - if (m_useByteStream) { ATH_CHECK(m_BSErrContReadKey.initialize()); } + if (!m_useByteStream) { + ATH_CHECK(m_BSErrContReadKey.assign("")); + } + ATH_CHECK(m_BSErrContReadKey.initialize(!m_BSErrContReadKey.empty())); #endif ATH_CHECK(detStore()->retrieve(m_pixelID,"PixelID")); diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py index 3423ea4dd07..72852a8ea4a 100644 --- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py +++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py @@ -17,6 +17,7 @@ def PixelLorentzAngleToolCfg(flags, name="PixelLorentzAngleTool", **kwargs): """Return a SiLorentzAngleTool configured for Pixel""" kwargs.setdefault("DetectorName", "Pixel") kwargs.setdefault("SiLorentzAngleCondData", "PixelSiLorentzAngleCondData") + kwargs.setdefault("DetEleCollKey", "PixelDetectorElementCollection") kwargs.setdefault("UseMagFieldSvc", True) return SiLorentzAngleTool(name, **kwargs) diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py index 92dfe76ccf8..d7d9c57f877 100644 --- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py +++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py @@ -14,6 +14,7 @@ def SCT_LorentzAngleToolCfg(flags, name="SCT_LorentzAngleTool", **kwargs): """Return a SiLorentzAngleTool configured for SCT""" kwargs.setdefault("DetectorName", "SCT") kwargs.setdefault("SiLorentzAngleCondData", "SCTSiLorentzAngleCondData") + kwargs.setdefault("DetEleCollKey", "SCT_DetectorElementCollection") kwargs.setdefault("UseMagFieldSvc", True) return SiLorentzAngleTool(name, **kwargs) -- GitLab