From 70deef348429a06a799edbcf3a13c931f56d85b4 Mon Sep 17 00:00:00 2001 From: Susumu Oda <susumu.oda@cern.ch> Date: Thu, 7 Mar 2019 10:49:05 +0000 Subject: [PATCH] Add ATLAS_CHECK_THREAD_SAFETY to InDetPrepRawDataToxAOD package --- .../SCTRawHitValidationAuxContainer_v1.cxx | 2 +- .../Root/SCTRawHitValidation_v1.cxx | 7 +++- .../SCTRawHitValidationAuxContainer_v1.h | 5 +++ .../versions/SCTRawHitValidation_v1.h | 33 ++++++++++++++++++- .../ATLAS_CHECK_THREAD_SAFETY | 1 + .../src/SCT_RawDataToxAOD.cxx | 18 +++------- 6 files changed, 50 insertions(+), 16 deletions(-) create mode 100644 InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/ATLAS_CHECK_THREAD_SAFETY diff --git a/Event/xAOD/xAODTracking/Root/SCTRawHitValidationAuxContainer_v1.cxx b/Event/xAOD/xAODTracking/Root/SCTRawHitValidationAuxContainer_v1.cxx index 0cd4a40a380..bbae7be5766 100644 --- a/Event/xAOD/xAODTracking/Root/SCTRawHitValidationAuxContainer_v1.cxx +++ b/Event/xAOD/xAODTracking/Root/SCTRawHitValidationAuxContainer_v1.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #include "xAODTracking/versions/SCTRawHitValidationAuxContainer_v1.h" diff --git a/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx b/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx index b77313167b2..bad5f35683e 100644 --- a/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx +++ b/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #include "xAODTracking/versions/SCTRawHitValidation_v1.h" @@ -11,6 +11,11 @@ namespace xAOD { SCTRawHitValidation_v1::SCTRawHitValidation_v1() { } AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, uint64_t, identifier, setIdentifier) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, int, bec, setBec) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, int, layer, setLayer) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, int, eta_module, setEta_module) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, int, phi_module, setPhi_module) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, int, side, setSide) static const SG::AuxElement::Accessor<uint32_t> word_acc("dataword"); void SCTRawHitValidation_v1::setWord(uint32_t new_word) { diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidationAuxContainer_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidationAuxContainer_v1.h index 67157be1e9c..0627f07f838 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidationAuxContainer_v1.h +++ b/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidationAuxContainer_v1.h @@ -21,6 +21,11 @@ namespace xAOD { private: std::vector<uint64_t> identifier; std::vector<uint32_t> dataword; + std::vector<int> bec; + std::vector<int> layer; + std::vector<int> phi_module; + std::vector<int> eta_module; + std::vector<int> side; }; } diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidation_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidation_v1.h index 559f906c79a..640ca40a54c 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidation_v1.h +++ b/Event/xAOD/xAODTracking/xAODTracking/versions/SCTRawHitValidation_v1.h @@ -1,7 +1,7 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #ifndef XAODTRACKING_VERSIONS_SCTRAWHITVALIDATION_V1_H @@ -63,6 +63,37 @@ namespace xAOD { /// check if there is an error in the second hit's data bool SecondHitError() const; /// @} + + /// set bec of this RDO + void setBec(int new_bec); + + /// get bec of this RDO + int bec() const; + + /// set layer of this RDO + void setLayer(int new_layer); + + /// get layer of this RDO + int layer() const; + + /// set eta_module of this RDO + void setEta_module(int new_eta_module); + + /// get eta_module of this RDO + int eta_module() const; + + /// set phi_module of this RDO + void setPhi_module(int new_phi_module); + + /// get phi_module of this RDO + int phi_module() const; + + /// set side of this RDO + void setSide(int new_side); + + /// get side of this RDO + int side() const; + }; // end of the SCTRawHitValidation_v1 class definition } // end of the xAOD namespace diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/ATLAS_CHECK_THREAD_SAFETY b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/ATLAS_CHECK_THREAD_SAFETY new file mode 100644 index 00000000000..1f133e2fc83 --- /dev/null +++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/ATLAS_CHECK_THREAD_SAFETY @@ -0,0 +1 @@ +InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx index 25ab40b25de..345d2abbc20 100644 --- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx +++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx @@ -29,14 +29,6 @@ StatusCode SCT_RawDataToxAOD::initialize() { return StatusCode::SUCCESS; } -// define accessors used by execute method; defining them once means fewer -// string comparisons. -static SG::AuxElement::Accessor<int> bec_acc("bec"); -static SG::AuxElement::Accessor<int> layer_acc("layer"); -static SG::AuxElement::Accessor<int> phi_module_acc("phi_module"); -static SG::AuxElement::Accessor<int> eta_module_acc("eta_module"); -static SG::AuxElement::Accessor<int> side_acc("side"); - StatusCode SCT_RawDataToxAOD::execute(const EventContext& ctx) const { SG::ReadHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerName, ctx); @@ -56,11 +48,11 @@ StatusCode SCT_RawDataToxAOD::execute(const EventContext& ctx) const { xrdo->setIdentifier(id.get_compact()); xrdo->setWord(rdo->getWord()); // setting additional decorations based on identifier - bec_acc(*xrdo) = m_SCTHelper->barrel_ec(id); - layer_acc(*xrdo) = m_SCTHelper->layer_disk(id); - phi_module_acc(*xrdo) = m_SCTHelper->phi_module(id); - eta_module_acc(*xrdo) = m_SCTHelper->eta_module(id); - side_acc(*xrdo) = m_SCTHelper->side(id); + xrdo->setBec(m_SCTHelper->barrel_ec(id)); + xrdo->setLayer(m_SCTHelper->layer_disk(id)); + xrdo->setPhi_module(m_SCTHelper->phi_module(id)); + xrdo->setEta_module(m_SCTHelper->eta_module(id)); + xrdo->setSide(m_SCTHelper->side(id)); } } ATH_MSG_DEBUG(" recorded SCT_RawData objects: size " << xaod->size()); -- GitLab