diff --git a/Trigger/TrigSteer/DecisionHandling/DecisionHandling/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigSteer/DecisionHandling/DecisionHandling/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..6b9e5011e85a612bf26ca6e5b1b8777ccbceb0b3
--- /dev/null
+++ b/Trigger/TrigSteer/DecisionHandling/DecisionHandling/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigSteer/DecisionHandling
diff --git a/Trigger/TrigSteer/DecisionHandling/DecisionHandling/HLTIdentifier.h b/Trigger/TrigSteer/DecisionHandling/DecisionHandling/HLTIdentifier.h
index 17b0e0f5d7760ebdb060987614f380f4157feeb7..ec0fa212a2028ba7f9faa500a19c66a215cd56d1 100644
--- a/Trigger/TrigSteer/DecisionHandling/DecisionHandling/HLTIdentifier.h
+++ b/Trigger/TrigSteer/DecisionHandling/DecisionHandling/HLTIdentifier.h
@@ -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
 */
 
 #ifndef DecisionHandling_HLTIdentifier_h
@@ -10,9 +10,9 @@
 #include <set>
 #include <map>
 
-
-
 #include "GaudiKernel/MsgStream.h"
+#include "CxxUtils/checker_macros.h"
+
 /**
  * @brief An trigger identifier class, used to provide mapping fromt the human readable IDs to efficienct unsigned ints
  **/
@@ -54,7 +54,7 @@ public:
   bool operator < ( unsigned id ) const { return numeric() < id; } 
 private:
   unsigned m_id;
-  static bool s_reportStringIDs;
+  static bool s_reportStringIDs ATLAS_THREAD_SAFE;
   
 };
  typedef std::vector<HLT::Identifier> IDVec;
diff --git a/Trigger/TrigSteer/DecisionHandling/src/TrigCompositeUtils.cxx b/Trigger/TrigSteer/DecisionHandling/src/TrigCompositeUtils.cxx
index cfffdd294b14595d45e7f00c80736dc1f0d70dea..581958e813a97f4db2c9337ecf1aaa93d00b65d3 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/TrigCompositeUtils.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/TrigCompositeUtils.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 "StoreGate/WriteHandle.h"
 #include "StoreGate/ReadHandle.h"
@@ -12,8 +12,8 @@
 
 
 
-static SG::AuxElement::Accessor< std::vector< int > >   readWriteAccessor( "decisions" );
-static SG::AuxElement::ConstAccessor< std::vector<int> > readOnlyAccessor( "decisions" );
+static const SG::AuxElement::Accessor< std::vector< int > >   readWriteAccessor( "decisions" );
+static const SG::AuxElement::ConstAccessor< std::vector<int> > readOnlyAccessor( "decisions" );
 
 namespace TrigCompositeUtils {  
 
diff --git a/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx b/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx
index 4b1752f534ed226137a1f2300b7ff8e2a7e60b32..48940d6b33693bfa6b19b953d486a2fb675cc546 100644
--- a/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/test/TrigCompositeUtils_test.cxx
@@ -14,10 +14,11 @@
 #include "DecisionHandling/TrigCompositeUtils.h"
 #include "xAODTrigger/TrigCompositeAuxContainer.h"
 
+bool xAOD::TrigComposite::s_throwOnCopyError = true;
+
 int main() {
 
   using namespace TrigCompositeUtils;
-  xAOD::TrigComposite::s_throwOnCopyError = true;
 
   errorcheck::ReportMessage::hideFunctionNames (true);
 
diff --git a/Trigger/TrigSteer/L1Decoder/L1Decoder/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigSteer/L1Decoder/L1Decoder/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..15afe147176375739eb11a9df4b31ea6d43240c7
--- /dev/null
+++ b/Trigger/TrigSteer/L1Decoder/L1Decoder/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigSteer/L1Decoder
diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..b0a752adf71fb8cc9bbcbc0d302d257cd76163a8
--- /dev/null
+++ b/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigSteer/TrigHLTResultByteStream
diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/HLTResultByteStreamTool.h b/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/HLTResultByteStreamTool.h
index bcd3c2da3d07ea0713e766260b09878948684e19..460255c7a8fc662a6b0f4a57945466154583b424 100755
--- a/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/HLTResultByteStreamTool.h
+++ b/Trigger/TrigSteer/TrigHLTResultByteStream/TrigHLTResultByteStream/HLTResultByteStreamTool.h
@@ -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
 */
 
 /**********************************************************************************
@@ -77,8 +77,7 @@ namespace HLT {
     FullEventAssembler<HLTSrcIdMap>* eventAssembler(std::string objName); //!< helper method
 
   private:
-    static std::string s_l2ResultName, s_efResultName, s_hltResultName, s_dataScoutingResultName; //!< LVL2 and EF StoreGate keys
-    static eformat::SubDetector s_idL2, s_idEF; //!< eformat TDAQ "subdetector"
+    static const std::string s_l2ResultName, s_efResultName, s_hltResultName, s_dataScoutingResultName; //!< LVL2 and EF StoreGate keys
 
     FullEventAssembler<HLTSrcIdMap> m_feaL2, m_feaEF; //!< helper for reading
   };
diff --git a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultByteStreamTool.cxx b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultByteStreamTool.cxx
index a825e8a357c36f5931da95834626c1f2bc2e1b6a..4387d217c5450bf063edebbda4235c0d0666875a 100755
--- a/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultByteStreamTool.cxx
+++ b/Trigger/TrigSteer/TrigHLTResultByteStream/src/HLTResultByteStreamTool.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
 */
 
 
@@ -10,13 +10,10 @@
 #include <iostream>
 #include <stdlib.h>
 
-std::string HLT::HLTResultByteStreamTool::s_l2ResultName = "HLTResult_L2";
-std::string HLT::HLTResultByteStreamTool::s_efResultName = "HLTResult_EF";
-std::string HLT::HLTResultByteStreamTool::s_hltResultName = "HLTResult_HLT";
-std::string HLT::HLTResultByteStreamTool::s_dataScoutingResultName = "DataScouting_";
-
-eformat::SubDetector HLT::HLTResultByteStreamTool::s_idL2 = eformat::TDAQ_LVL2;
-eformat::SubDetector HLT::HLTResultByteStreamTool::s_idEF = eformat::TDAQ_EVENT_FILTER;  // same as TDAQ_HLT in eformat5
+const std::string HLT::HLTResultByteStreamTool::s_l2ResultName = "HLTResult_L2";
+const std::string HLT::HLTResultByteStreamTool::s_efResultName = "HLTResult_EF";
+const std::string HLT::HLTResultByteStreamTool::s_hltResultName = "HLTResult_HLT";
+const std::string HLT::HLTResultByteStreamTool::s_dataScoutingResultName = "DataScouting_";
 
 HLT::HLTResultByteStreamTool::HLTResultByteStreamTool( const std::string& type,
                                                        const std::string& name,
@@ -24,8 +21,8 @@ HLT::HLTResultByteStreamTool::HLTResultByteStreamTool( const std::string& type,
   :  AthAlgTool(type,name,parent)
 {
   declareInterface< HLT::HLTResultByteStreamTool  >( this );
-  m_feaL2.idMap().setDetId(s_idL2);
-  m_feaEF.idMap().setDetId(s_idEF);
+  m_feaL2.idMap().setDetId(eformat::TDAQ_LVL2);
+  m_feaEF.idMap().setDetId(eformat::TDAQ_EVENT_FILTER);
 }
 
 
@@ -35,9 +32,9 @@ HLT::HLTResultByteStreamTool::~HLTResultByteStreamTool()
 
 eformat::SubDetector HLT::HLTResultByteStreamTool::byteStreamLocation(std::string objName)
 {
-  if (objName == s_l2ResultName) return s_idL2;
-  if (objName == s_efResultName || objName == s_hltResultName) return s_idEF;
-  if (objName.substr(0,s_dataScoutingResultName.length()) == s_dataScoutingResultName) return s_idEF;
+  if (objName == s_l2ResultName) return eformat::TDAQ_LVL2;
+  if (objName == s_efResultName || objName == s_hltResultName) return eformat::TDAQ_EVENT_FILTER;
+  if (objName.substr(0,s_dataScoutingResultName.length()) == s_dataScoutingResultName) return eformat::TDAQ_EVENT_FILTER;
 
   return eformat::OTHER;
 }
diff --git a/Trigger/TrigSteer/ViewAlgs/ViewAlgs/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigSteer/ViewAlgs/ViewAlgs/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..faf075e6e1e88d289547e9e7b538517b1885e9bb
--- /dev/null
+++ b/Trigger/TrigSteer/ViewAlgs/ViewAlgs/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigSteer/ViewAlgs
diff --git a/Trigger/TrigSteer/ViewAlgsTest/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigSteer/ViewAlgsTest/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..547ac74b630fc311a053e2f9a2dd2d7b12c9495f
--- /dev/null
+++ b/Trigger/TrigSteer/ViewAlgsTest/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigSteer/ViewAlgsTest