diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/CMakeLists.txt b/Trigger/TrigT1/TrigT1CaloCalibTools/CMakeLists.txt index dea05e30876b4d07b4727f0cf3df81f56a26543e..5c9ff5adc62e1bc85886fef65665c9acba755939 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/CMakeLists.txt +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/CMakeLists.txt @@ -12,7 +12,7 @@ atlas_add_library( TrigT1CaloCalibToolsLib src/*.cxx PUBLIC_HEADERS TrigT1CaloCalibTools INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} - LINK_LIBRARIES ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} AsgTools AthenaBaseComps AthenaKernel AthenaPoolUtilities CaloDetDescrLib CaloEvent CaloIdentifier CaloTriggerToolLib DerivationFrameworkInterfaces GaudiKernel Identifier LArCablingLib LArElecCalib LArIdentifier LArRawEvent LArRecConditions StoreGateLib TileConditionsLib TileEvent TrigT1CaloCalibConditions TrigT1CaloCalibToolInterfaces TrigT1CaloCondSvcLib TrigT1CaloEventLib TrigT1CaloMonitoringToolsLib TrigT1CaloToolInterfaces TrigT1CaloUtilsLib TrigT1Interfaces xAODTrigL1Calo + LINK_LIBRARIES ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} AsgTools AthenaBaseComps AthenaKernel AthenaPoolUtilities CaloDetDescrLib CaloEvent CaloIdentifier CaloTriggerToolLib CxxUtils DerivationFrameworkInterfaces GaudiKernel Identifier LArCablingLib LArElecCalib LArIdentifier LArRawEvent LArRecConditions StoreGateLib TileConditionsLib TileEvent TrigT1CaloCalibConditions TrigT1CaloCalibToolInterfaces TrigT1CaloCondSvcLib TrigT1CaloEventLib TrigT1CaloMonitoringToolsLib TrigT1CaloToolInterfaces TrigT1CaloUtilsLib TrigT1Interfaces xAODTrigL1Calo PRIVATE_LINK_LIBRARIES AthenaMonitoringLib EventInfo LWHists ) atlas_add_component( TrigT1CaloCalibTools diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloCells2TriggerTowers.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloCells2TriggerTowers.h index 12b5b5e7575de2ca20da37740723c914cd8e613d..30793d03584dabe8071463b66ef15643b46bf5b3 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloCells2TriggerTowers.h +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloCells2TriggerTowers.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLS_L1CALOCELLS2TRIGGERTOWERS_H_ @@ -8,6 +8,7 @@ // Athena Includes #include "AsgTools/AsgTool.h" #include "GaudiKernel/ToolHandle.h" +#include "CxxUtils/checker_macros.h" #include "StoreGate/StoreGateSvc.h" // Calo includes @@ -47,7 +48,9 @@ */ namespace LVL1 { -class L1CaloCells2TriggerTowers final : virtual public IL1CaloCells2TriggerTowers, public asg::AsgTool + +class ATLAS_NOT_THREAD_SAFE // use of LArCablingBase +L1CaloCells2TriggerTowers final : virtual public IL1CaloCells2TriggerTowers, public asg::AsgTool { /// Create a proper constructor for Athena ASG_TOOL_CLASS( L1CaloCells2TriggerTowers , LVL1::IL1CaloCells2TriggerTowers ) diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloLArTowerEnergy.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloLArTowerEnergy.h index 0324a1222bb79718d792a545102b6e7326a0164f..e27c105778b1fa2b27a24a63ae518f7c64962b79 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloLArTowerEnergy.h +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloLArTowerEnergy.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef _TRIGGER_TRIGT1_TRIGT1CALOCALIBTOOLS_L1CALOLARTOWERENERGY_H_ @@ -8,6 +8,7 @@ // Athena includes #include "AsgTools/AsgTool.h" #include "GaudiKernel/ToolHandle.h" +#include "CxxUtils/checker_macros.h" #include "StoreGate/StoreGateSvc.h" #include "Identifier/Identifier.h" @@ -40,7 +41,8 @@ namespace LVL1 { -class L1CaloLArTowerEnergy : virtual public IL1CaloLArTowerEnergy, public asg::AsgTool +class ATLAS_NOT_THREAD_SAFE // use of LArCablingBase +L1CaloLArTowerEnergy : virtual public IL1CaloLArTowerEnergy, public asg::AsgTool { /// Create a proper constructor for Athena ASG_TOOL_CLASS( L1CaloLArTowerEnergy , LVL1::IL1CaloLArTowerEnergy ) diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloPprPhos4ShapeCollection.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloPprPhos4ShapeCollection.h index cb833277f7d5e08b96508f01a9e6b6a63f997e7b..fbf55e5fe6d63d63c4da6f3a4ef8d03f719621f7 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloPprPhos4ShapeCollection.h +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloPprPhos4ShapeCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // ******************************************************** @@ -66,6 +66,7 @@ #include "TrigT1CaloMonitoringTools/TrigT1CaloLWHistogramTool.h" #include "GaudiKernel/ToolHandle.h" +#include "CxxUtils/checker_macros.h" class TTree; class TFile; @@ -111,7 +112,7 @@ public: StatusCode Fill(const L1CaloCoolChannelId& coolId,const unsigned int timeSlice,const unsigned int rodHeaderStep,const int adc); StatusCode Fill(const L1CaloCoolChannelId& coolId,const unsigned int rodHeaderStep,const std::vector<int> adc); - StatusCode Finalize(void); + StatusCode Finalize ATLAS_NOT_REENTRANT(void); TProfile* GetRawSignalShape(const L1CaloCoolChannelId& coolId){return GetMapIterator(coolId)->second->GetRawSignalShape();}; unsigned int GetRawMaxPeakBin(const L1CaloCoolChannelId& coolId){return GetMapIterator(coolId)->second->GetRawMaxPeakBin();}; diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/TriggerTowerThinningAlg.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/TriggerTowerThinningAlg.h index fa709b934a6e37c2fc07b825d7f37fc2d257a2bd..a81603779d53ef6c7ddf67c412a46195bbea5640 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/TriggerTowerThinningAlg.h +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/TriggerTowerThinningAlg.h @@ -58,11 +58,11 @@ namespace DerivationFramework { double m_minRandom; // Counters - mutable unsigned long m_nEventsProcessed; - mutable unsigned long m_nEventsAllTriggerTowersKeptByRandom; - mutable unsigned long m_nTriggerTowersProcessed; - mutable unsigned long m_nTriggerTowersKept; - mutable unsigned long m_nTriggerTowersRejected; + mutable std::atomic<unsigned long> m_nEventsProcessed; + mutable std::atomic<unsigned long> m_nEventsAllTriggerTowersKeptByRandom; + mutable std::atomic<unsigned long> m_nTriggerTowersProcessed; + mutable std::atomic<unsigned long> m_nTriggerTowersKept; + mutable std::atomic<unsigned long> m_nTriggerTowersRejected; // Tools and random number generator TRandom3* m_random; diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloPprPhos4ShapeCollection.cxx b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloPprPhos4ShapeCollection.cxx index a00492c4171f2e5a652a932db9b37c0f7ed6cbf6..0c5f9fdf1c31d4b54fa3891ef72d22d4830b4db3 100644 --- a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloPprPhos4ShapeCollection.cxx +++ b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloPprPhos4ShapeCollection.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "TrigT1CaloCalibTools/L1CaloPprPhos4ShapeCollection.h" @@ -231,7 +231,7 @@ StatusCode L1CaloPprPhos4ShapeCollection::Fill(const L1CaloCoolChannelId& coolId return itr->second->Fill(rodHeaderStep, adc); } -StatusCode L1CaloPprPhos4ShapeCollection::Finalize(void) { +StatusCode L1CaloPprPhos4ShapeCollection::Finalize ATLAS_NOT_REENTRANT(void) { // want to store the profiles and histograms for each cool id into // a TTree, which will be output to a file.