diff --git a/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt b/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
index 16a96881af262451baf88d488eea05a879d4780b..f0581d9cdca62086df6a818778127a2d5834ab6b 100644
--- a/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
+++ b/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
@@ -11,7 +11,7 @@ atlas_add_component( TrigT1NSW
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps AthenaMonitoringLib EventInfo GaudiKernel MuonRDO TrigInterfacesLib TrigT1NSWSimToolsLib )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps AthenaMonitoringLib CxxUtils EventInfo GaudiKernel MuonRDO TrigInterfacesLib TrigT1NSWSimToolsLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..d16a7f1713b44de2f7885aa469f4c7d86179a54f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigT1/TrigT1NSW
diff --git a/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.h b/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.h
index deeddbcbc6b9d3722fea8ffaa06dd5aec1af9e27..33cfef43f5f99080dbd79402697af7f34ab9863c 100644
--- a/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.h
+++ b/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.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 TRIGT1NSW_NSWL1SIMULATION_H
@@ -7,10 +7,10 @@
 
 // Basic includes
 #include "AthenaBaseComps/AthAlgorithm.h"
+#include "CxxUtils/checker_macros.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
 #include "GaudiKernel/Property.h"
-//#include "StoreGate/DataHandle.h"
 
 // monitoring from HLT
 #include "TrigInterfaces/IMonitoredAlgo.h"
@@ -49,11 +49,11 @@ namespace NSWL1 {
    *
    *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
    *
-   * @version \$Id: NSWL1Simulation.h,v 1.20 2013-01-29 21:14:24 efeld Exp $
    *
    */
 
-  class NSWL1Simulation: public AthAlgorithm, public IMonitoredAlgo {
+  class ATLAS_NOT_THREAD_SAFE  // use of TTree in execute
+  NSWL1Simulation: public AthAlgorithm, public IMonitoredAlgo {
 
   public:
 
diff --git a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/CMApatterns.h b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/CMApatterns.h
index 7bae5e67a308ded9671d0b1d002dd6ed5c18e78c..0e76ea9da9520860aedc12e5e9e18832d2e511c5 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/CMApatterns.h
+++ b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/CMApatterns.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef CMAPATTERNS_H
@@ -21,7 +21,7 @@ class CMApatterns : public RPCtrigDataObject
 {
     public:
     typedef std::pair < float, float > TRIGdistance;
-    static  TRIGdistance no_distance;
+    static const TRIGdistance no_distance;
     
     typedef std::list < CMAtrigger > TRIGlist;
     typedef std::priority_queue< CMAtrigger > TrigSigns;
diff --git a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/foot.h b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/foot.h
index 01ab3ac6253d85b25dc138d80c6e9417d697b6ff..1f58eb755de0d9f4ce1e8e372bec9f88c495d46c 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/foot.h
+++ b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/foot.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef ATRIG_FOOT_H
@@ -11,7 +11,7 @@
 #endif
 
 
-static float Foot_win[THRES][NBINS][BOUND]={
+static const float Foot_win[THRES][NBINS][BOUND]={
 
 {                                             
 
diff --git a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/large.h b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/large.h
index 1fe7ad2eff16b6a87dca143f89c5722490c39fcb..d9d2f9a3d4b9f525c81b1e07f06a8b5a63996ed7 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/large.h
+++ b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/large.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef ATRIG_LARGE_H
@@ -9,7 +9,7 @@
 #include "windows.h"
 #endif
 
-static float Large_win[THRES][NBINS][BOUND]={
+static const float Large_win[THRES][NBINS][BOUND]={
 {
     {    0.00 ,   0.00  },  // Large ,  thres =  6.0 GeV,  eta = -1.078
     {  -19.22 ,  26.52  },  // Large ,  thres =  6.0 GeV,  eta = -1.034
diff --git a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/small.h b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/small.h
index fd87eb5ddb61444f8a2fee9d740413ad7a8b8b79..8e60229df7637b5468d3b9833a7ecf964b561f32 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/small.h
+++ b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/small.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef ATRIG_SMALL_H
@@ -11,7 +11,7 @@
 #endif
 
 
-static float Small_win[THRES][NBINS][BOUND]={
+static const float Small_win[THRES][NBINS][BOUND]={
 
 {
 
diff --git a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/windows.h b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/windows.h
index 9f86c542a50fe5c758befbb2a2b56f24df4ab597..ec14d030177f28730117b679e88d59ae61534769 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/windows.h
+++ b/Trigger/TrigT1/TrigT1RPClogic/TrigT1RPClogic/windows.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef WINDOWS_H
@@ -10,7 +10,7 @@
 #define BOUND 2    // boundaries of the Z-Trigger windows
 
 
-int give_nearest_bin(float(*)[NBINS][BOUND],int,int,int,int);
+int give_nearest_bin(const float(*)[NBINS][BOUND],int,int,int,int);
 
 int windows(float,float,int,int);
 
diff --git a/Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxx b/Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxx
index 26012cf99eb56e5d71c35063104fb539145fa1ec..66ab27293626637ce6c461514602e6d404e68d29 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxx
+++ b/Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include <math.h>
@@ -10,8 +10,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-CMApatterns::TRIGdistance CMApatterns::no_distance = 
-                                                   TRIGdistance(99999.,99999.);
+const CMApatterns::TRIGdistance CMApatterns::no_distance =
+  TRIGdistance(99999.,99999.);
 
 ///////////////////////////////////////////////////////////////////////////////
 
diff --git a/Trigger/TrigT1/TrigT1RPClogic/src/windows.cxx b/Trigger/TrigT1/TrigT1RPClogic/src/windows.cxx
index 37ba75d6a9db484f9193bb783a9d910eed64a847..2960e6b69e58736456294936fc12ba4860cb1c16 100755
--- a/Trigger/TrigT1/TrigT1RPClogic/src/windows.cxx
+++ b/Trigger/TrigT1/TrigT1RPClogic/src/windows.cxx
@@ -1,7 +1,7 @@
 /* // -*- C++ -*- */
 
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -23,7 +23,7 @@ int windows(float distance,float eta_pivot,int thr,int sector)
     
   int sector_type=((sector + 1)/2)%2;
 
-  float (*window)[NBINS][BOUND] = 0;
+  const float (*window)[NBINS][BOUND] = 0;
 
 
   if (sector_type == 0)
@@ -62,7 +62,7 @@ int windows(float distance,float eta_pivot,int thr,int sector)
    return s;
 }
 
-int give_nearest_bin(float (*window)[NBINS][BOUND],int thr,int bin,int bound,
+int give_nearest_bin(const float (*window)[NBINS][BOUND],int thr,int bin,int bound,
                      int step)
 {
     int previous = (bin <= NBINS/2)? bin + step : bin - step;
diff --git a/Trigger/TrigT1/TrigT1RPCsteering/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigT1/TrigT1RPCsteering/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..cfec69cee331ff95f5de595f526b5cc6923f4e77
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1RPCsteering/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigT1/TrigT1RPCsteering
diff --git a/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx b/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
index 75e46fc428b32737ce9221f54195c289350bca89..f5dbbbbce2f0c3fac71b6921f69b41646275c675 100755
--- a/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
+++ b/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
@@ -21,9 +21,6 @@
 #include <algorithm>
 #include <cmath>
 
-static int digit_num = 0;
-static int digit_out = 0;
-
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 
@@ -328,9 +325,6 @@ StatusCode TrigT1RPC::fill_RPCdata(RPCsimuData& data, const RpcCablingCondData*
                         xyz[0] = rpcDigit->time();  //time of digits
                         
 			
-			++digit_num;
-			if(xyz[0]<0. || xyz[0]>25.) ++digit_out;
-
                         int param[3] = {0,0,0};
 
                         RPCsimuDigit digit(0,strip_code_cab,param,xyz);