diff --git a/Calorimeter/CaloUtils/CMakeLists.txt b/Calorimeter/CaloUtils/CMakeLists.txt
index 709f5a9381ad851a44eef0acaa43db2bfb6f79f0..c1b999aab1249670da2938ffa26c33d9a3d61054 100644
--- a/Calorimeter/CaloUtils/CMakeLists.txt
+++ b/Calorimeter/CaloUtils/CMakeLists.txt
@@ -12,7 +12,7 @@ atlas_add_library( CaloUtilsLib CaloUtils/*.h CaloUtils/*.icc src/*.h src/*.cxx
    PUBLIC_HEADERS CaloUtils
    PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
    LINK_LIBRARIES AthenaBaseComps AthenaKernel CaloConditions CaloDetDescrLib CaloEvent CaloGeoHelpers CaloIdentifier CaloInterfaceLib CxxUtils FourMom GaudiKernel Navigation StoreGateLib xAODCaloEvent
-   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} GeoModelInterfaces Identifier SGTools )
+   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} GeoModelInterfaces Identifier SGTools TestTools )
 
 atlas_add_component( CaloUtils src/components/*.cxx
    LINK_LIBRARIES CaloUtilsLib )
@@ -54,18 +54,18 @@ atlas_add_test( exceptions_test
 
 atlas_add_test( CaloTowerStore_test
    SCRIPT test/CaloTowerStore_test.sh
-   LOG_IGNORE_PATTERN "Reading file|Unable to locate catalog|Cache alignment"
+   LOG_IGNORE_PATTERN "Reading file|Unable to locate catalog|Cache alignment|IOVDbSvc +INFO"
    PROPERTIES TIMEOUT 500 )
 
 atlas_add_test( CaloTowerBuilderTool_test
    SCRIPT test/CaloTowerBuilderTool_test.sh
-   LOG_IGNORE_PATTERN "Reading file|Unable to locate catalog|Cache alignment"
+   LOG_IGNORE_PATTERN "Reading file|Unable to locate catalog|Cache alignment|IOVDbSvc +INFO"
    ENVIRONMENT "ATLAS_REFERENCE_TAG=CaloUtils/CaloUtils-01-00-13"
    PROPERTIES TIMEOUT 500 )
 
 atlas_add_test( ToolWithConstants_test
    SCRIPT test/ToolWithConstants_test.py
-   LOG_IGNORE_PATTERN "no dictionary for|by peeking into|Current filenames:" )
+   LOG_IGNORE_PATTERN "no dictionary for|by peeking into|Current filenames:|IOVDbSvc +INFO|Added successfully Conversion|DetDescrCnvSvc +INFO|GeoModelSvc +INFO|IOVSvc +INFO|with default tag" )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.txt share/*.py )
diff --git a/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.cxx b/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.cxx
index ea5bc10ca8d0239b41a8d51b3feda9408761ebb9..d2365b7d6fc7566b23f1db738b4eb108b9f3e94e 100644
--- a/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.cxx
+++ b/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.cxx
@@ -1,8 +1,6 @@
 /*
   Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-
-// $Id$
 /**
  * @file  CaloTowerBuilderToolTestAlg.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -12,9 +10,6 @@
 
 #undef NDEBUG
 
-//This is a test so no need to be thread safe
-#include "CxxUtils/checker_macros.h"
-ATLAS_NO_CHECK_FILE_THREAD_SAFETY;
 
 #include "CaloTowerBuilderToolTestAlg.h"
 #include "CaloUtils/CaloTowerBuilderTool.h"
@@ -22,6 +17,7 @@ ATLAS_NO_CHECK_FILE_THREAD_SAFETY;
 #include "CaloEvent/CaloTowerContainer.h"
 #include "CaloDetDescr/CaloDetDescrManager.h"
 #include "AthenaKernel/errorcheck.h"
+#include "TestTools/random.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 #include <cstdlib>
 #include <iostream>
@@ -35,34 +31,6 @@ using CLHEP::GeV;
 namespace {
 
 
-// Dufus-quality RNG, using LCG.  Constants from numerical recipies.
-// I don't particularly care about RNG quality here, just about
-// getting something that's reproducible.
-#include <cstdint>
-uint32_t seed = 1;
-uint32_t rngmax = static_cast<uint32_t> (-1);
-uint32_t rng()
-{
-  seed = (1664525*seed + 1013904223);
-  return seed;
-}
-
-float randf (float rmax, float rmin = 0)
-{
-  return static_cast<float>(rng()) / rngmax * (rmax-rmin) + rmin;
-}
-int randi (int rmax, int rmin = 0)
-{
-  return static_cast<int> (randf(rmax, rmin));
-}
-
-struct RNG
-{
-  int operator() (int n) const { return randi (n); }
-};
-//RNG stlrand;
-
-
 bool comp (double x1, double x2, double thresh = 1e-6)
 {
   double den = std::abs(x1) + std::abs(x2);
@@ -82,7 +50,8 @@ CaloTowerBuilderToolTestAlg::CaloTowerBuilderToolTestAlg
   (const std::string& name,
    ISvcLocator* pSvcLocator)
     : AthAlgorithm (name, pSvcLocator),
-      m_builder ("CaloTowerBuilderTool")
+      m_builder ("CaloTowerBuilderTool"),
+      m_seed (1)
 {
 }
 
@@ -115,7 +84,7 @@ CaloTowerBuilderToolTestAlg::make_cells()
     for (const CaloDetDescrElement* dde :
            ddman->element_range (subcalo))
     {
-      float energy = randf (100*GeV);
+      float energy = Athena_test::randf_seed (m_seed, 100*GeV);
       cells->push_back (new CaloCell (dde, energy, 0, 0, 0, 
                                       CaloGain::LARMEDIUMGAIN) );
     }
diff --git a/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.h b/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.h
index 1c6516f292b571621380bcad53637d88db087a28..59d909b11bd8eb0c02ccb3073d14420e23987f5f 100644
--- a/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.h
+++ b/Calorimeter/CaloUtils/src/CaloTowerBuilderToolTestAlg.h
@@ -1,10 +1,7 @@
 // This file's extension implies that it's C, but it's really -*- C++ -*-.
-
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-
-// $Id$
 /**
  * @file CaloTowerBuilderToolTestAlg.h
  * @author scott snyder <snyder@bnl.gov>
@@ -23,9 +20,10 @@
 #include "CaloIdentifier/CaloCell_ID.h"
 #include "GaudiKernel/ToolHandle.h"
 #include <vector>
+#include <cstdint>
 class CaloCellContainer;
 class CaloTowerContainer;
-class ICaloTowerBuilderToolBase;
+class ICaloTowerBuilderToolBase; 
 
 
 class CaloTowerBuilderToolTestAlg
@@ -61,6 +59,8 @@ private:
   ToolHandle<ICaloTowerBuilderToolBase> m_builder;
   std::vector<CaloCell_ID::SUBCALO> m_calos;
   CaloTowerSeg m_seg;
+
+  uint32_t m_seed;
 };
 
 
diff --git a/Control/AthenaBaseComps/AthenaBaseComps/AthConstConverter.h b/Control/AthenaBaseComps/AthenaBaseComps/AthConstConverter.h
new file mode 100644
index 0000000000000000000000000000000000000000..0dcc82c3942799cac74c17f4ce1eeb912347e7fa
--- /dev/null
+++ b/Control/AthenaBaseComps/AthenaBaseComps/AthConstConverter.h
@@ -0,0 +1,75 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file AthenaBaseComps/AthConstConverter.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Oct, 2020
+ * @brief Gaudi converter base class with const interfaces.
+ */
+
+
+#ifndef ATHENABASECOMPS_ATHCONSTCONVERTER_H
+#define ATHENABASECOMPS_ATHCONSTCONVERTER_H
+
+
+#include "AthenaBaseComps/AthMessaging.h"
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+#include "GaudiKernel/Converter.h"
+
+
+/**
+ * @brief Gaudi converter base class with const interfaces.
+ *
+ * This is a version of Gaudi Converter which uses const
+ * @c createRepConst and @c createObjConst methods instead
+ * of @c createObj and @c createRep.  This can be used for converters
+ * that one wants to execute concurrently in MT jobs.
+ *
+ * As a bonus, we also include @c AthMessaging functionality.
+ */
+class AthConstConverter : public Converter, public AthMessaging
+{
+public:
+  AthConstConverter (long storage_type,
+                     const CLID& class_type,
+                     ISvcLocator* svc,
+                     const std::string& name)
+    : Converter (storage_type, class_type, svc),
+      AthMessaging (msgSvc().get(), name),
+      m_name (name)
+  {
+  }
+
+
+  /// Create the transient representation of an object.
+  virtual StatusCode createObjConst( IOpaqueAddress* pAddress,
+                                     DataObject*& refpObject ) const;
+
+  /// Convert the transient object to the requested representation.
+  virtual StatusCode createRepConst( DataObject* pObject,
+                                     IOpaqueAddress*& refpAddress ) const;
+
+
+  /// Create the transient representation of an object.
+  // Non-const version; just calls the const version.
+  virtual StatusCode createObj( IOpaqueAddress* pAddress,
+                                DataObject*& refpObject ) override final;
+
+
+  /// Convert the transient object to the requested representation.
+  // Non-const version; just calls the const version.
+  virtual StatusCode createRep( DataObject* pObject,
+                                IOpaqueAddress*& refpAddress ) override final;
+
+
+  std::string name() const { return m_name; }
+
+
+private:
+  std::string m_name;
+};
+
+
+#endif // not ATHENABASECOMPS_ATHCONSTCONVERTER_H
diff --git a/Control/AthenaBaseComps/src/AthConstConverter.cxx b/Control/AthenaBaseComps/src/AthConstConverter.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..2b22a70b6ca40adbd94f59b2f2e7624ae35719bd
--- /dev/null
+++ b/Control/AthenaBaseComps/src/AthConstConverter.cxx
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration.
+ */
+/**
+ * @file AthenaBaseComps/AthConstConverter.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Oct, 2020
+ * @brief Gaudi converter base class with const interfaces.
+ */
+
+
+#include "AthenaBaseComps/AthConstConverter.h"
+
+
+/**
+ * @brief Create the transient representation of an object.
+ *
+ * The default implementation is a no-op.
+ */
+StatusCode AthConstConverter::createObjConst( IOpaqueAddress* /*pAddress*/,
+                                              DataObject*& /*refpObject*/ ) const
+{
+  return StatusCode::SUCCESS;
+}
+
+
+/**
+ * @brief Convert the transient object to the requested representation.
+ *
+ * The default implementation is a no-op.
+ */
+StatusCode AthConstConverter::createRepConst( DataObject* /*pObject*/,
+                                              IOpaqueAddress*& /*refpAddress*/ ) const
+{
+  return StatusCode::SUCCESS;
+}
+
+
+/**
+ * @brief Create the transient representation of an object.
+ *
+ * Non-const version; just calls the const version.
+ */
+StatusCode AthConstConverter::createObj( IOpaqueAddress* pAddress,
+                                         DataObject*& refpObject )
+{
+  return createObjConst (pAddress, refpObject);
+}
+
+
+/**
+ * @brief Convert the transient object to the requested representation.
+ *
+ * Non-const version; just calls the const version.
+ */
+StatusCode AthConstConverter::createRep( DataObject* pObject,
+                                         IOpaqueAddress*& refpAddress )
+{
+  return createRepConst (pObject, refpAddress);
+}
+
diff --git a/Control/AthenaPython/python/FilePeekerLib.py b/Control/AthenaPython/python/FilePeekerLib.py
index 8862a188bbcd1f85bb15c7bf4c532a5d2b3e783e..41a0f4f7a2e20a980d5ce8b785b89df4adfb3bf7 100644
--- a/Control/AthenaPython/python/FilePeekerLib.py
+++ b/Control/AthenaPython/python/FilePeekerLib.py
@@ -231,7 +231,7 @@ class FilePeeker(PyAthena.Alg):
                     spec   = a.specification()
                     a_type = spec.typeName()
                     if a_type.find('string') >= 0:
-                        a_data = a.data('string')()
+                        a_data = a.data['string']()
                         try:
                             a_data = eval(a_data,{},{})
                         except Exception:
diff --git a/Control/StoreGateBindings/python/Bindings.py b/Control/StoreGateBindings/python/Bindings.py
index 8400673b2e54284944ef76b90fe69efdd169be0e..cc8f7c746c5d75a9c08e0131cd3c603a37d7b3ca 100644
--- a/Control/StoreGateBindings/python/Bindings.py
+++ b/Control/StoreGateBindings/python/Bindings.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # @file: StoreGateBindings/python/Bindings.py
 # @author: Wim Lavrijsen <WLavrijsen@lbl.gov>
@@ -83,7 +83,7 @@ def _setup():
     # dict-pythonization of storegate: __getitem__
     def __getitem__ (self, key):
         try:
-            ret = py_sg_getitem(self, key.encode())
+            ret = py_sg_getitem(self, str(key).encode())
         except LookupError as err:
             raise KeyError(str(err))
         if ret and hasattr(ret,'setStore') and not ret.hasStore():
@@ -136,16 +136,16 @@ def _setup():
             clid = self._pyclidsvc.clid(clid.__name__)
         if clid is None:
             return [p.name() for p in self.proxies()]
-        return list(self._cpp_keys(clid, allKeys))
+        return [str(x) for x in self._cpp_keys(clid, allKeys)]
     StoreGateSvc._cpp_keys = StoreGateSvc.keys
     StoreGateSvc.keys = keys
 
 
     #The cppyy version that comes with ROOT v6.22 checks also __len__!=0
     #when casting to bool. Since we defined a __len__ method, newly-created 
-    #(empty) StoreGate instances are always casted to False and therfore 
+    #(empty) StoreGate instances are always casted to False and therefore 
     #considered invalid. 
-    #Work-aroudn by implementing our own __bool__ method
+    #Work-around by implementing our own __bool__ method
     StoreGateSvc.__bool__ = lambda self : True
     
     return
diff --git a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
index c54e9aa21f17acccbade97b4b5a174140547f55c..d3746b9f85b458c19bc57112b69e642da839b829 100644
--- a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
@@ -1,6 +1,6 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
+#
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+#
 ############################################################
 # AFP
 # Nikola Dikic
diff --git a/DataQuality/GoodRunsLists/src/GoodRunsListSelectorTool.cxx b/DataQuality/GoodRunsLists/src/GoodRunsListSelectorTool.cxx
index 0cdad5ee15df77bc7999ab2fab099b5466519f55..38d0f9564ea22eacffd7af148dc1df66c6b43c56 100644
--- a/DataQuality/GoodRunsLists/src/GoodRunsListSelectorTool.cxx
+++ b/DataQuality/GoodRunsLists/src/GoodRunsListSelectorTool.cxx
@@ -1,7 +1,7 @@
 #ifndef XAOD_ANALYSIS
 
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -16,7 +16,6 @@
 #include "GaudiKernel/MsgStream.h"
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
-#include "StoreGate/StoreGate.h"
 
 #include "TFormula.h"
 #include "TSystem.h"
diff --git a/Database/AthenaRoot/AthenaRootComps/src/RootNtupleEventSelector.cxx b/Database/AthenaRoot/AthenaRootComps/src/RootNtupleEventSelector.cxx
index 7d2a6a64e8c521f1937fac608626220bcb91144e..e0a63e2765a98320cef5fc9d658e297447f4a90f 100644
--- a/Database/AthenaRoot/AthenaRootComps/src/RootNtupleEventSelector.cxx
+++ b/Database/AthenaRoot/AthenaRootComps/src/RootNtupleEventSelector.cxx
@@ -45,7 +45,7 @@
 #include "SGTools/StlMapClids.h"     // to make sure we have their clids
 #include "SGTools/StlVectorClids.h"  // to make sure we have their clids
 #include "SGTools/TransientAddress.h"
-#include "StoreGate/StoreGate.h" 
+#include "StoreGate/StoreGateSvc.h" 
 
 #include "TObject.h"
 #include "TTree.h"
diff --git a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
index 9785f6408b8c79471b23ebb216b47d1eeabf2002..4860a19f06c2e0e155ff596eff702f4796b6ffa6 100644
--- a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
+++ b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
@@ -46,7 +46,7 @@
 #include "SGTools/StlMapClids.h"     // to make sure we have their clids
 #include "SGTools/StlVectorClids.h"  // to make sure we have their clids
 #include "SGTools/TransientAddress.h"
-#include "StoreGate/StoreGate.h" 
+#include "StoreGate/StoreGateSvc.h" 
 
 // EventInfo includes
 #include "EventInfo/EventInfo.h"
diff --git a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.cxx b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.cxx
index c08d767dc144ecdb9977d0381e61d63cbd36b520..20c76b34a046b606a41a1169e5d0075a039a3279 100755
--- a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.cxx
+++ b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.cxx
@@ -18,7 +18,7 @@
 #include "GaudiKernel/IIncidentSvc.h"
 #include "GaudiKernel/FileIncident.h"
 
-#include "StoreGate/StoreGate.h"
+#include "StoreGate/StoreGateSvc.h"
 #include "IOVDbDataModel/IOVMetaDataContainer.h"
 
 #include "CxxUtils/checker_macros.h"
diff --git a/Database/RegistrationServices/src/IOVRegistrationSvc.cxx b/Database/RegistrationServices/src/IOVRegistrationSvc.cxx
index 716c39baec901002a0ff8772a792b59c0e388e7b..fbfa5b51119880150239b3e7c822415aa719cfa3 100644
--- a/Database/RegistrationServices/src/IOVRegistrationSvc.cxx
+++ b/Database/RegistrationServices/src/IOVRegistrationSvc.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
 */
 
 /**
@@ -20,7 +20,6 @@
 //#include "GaudiKernel/DeclareFactoryEntries.h"
 
 // Athena includes
-#include "StoreGate/StoreGate.h"
 #include "IOVDbSvc/IIOVCondDbSvc.h"
 #include "AthenaKernel/IClassIDSvc.h"
 #include "AthenaKernel/IOVTime.h"
diff --git a/DetectorDescription/DetDescrCnvSvc/src/DetDescrCnvSvc.cxx b/DetectorDescription/DetDescrCnvSvc/src/DetDescrCnvSvc.cxx
index 49b7a840adafc5993946a5ee4f8ddfd364b98d96..e5389e93f4c13b7cc972b2284e86172870776adf 100755
--- a/DetectorDescription/DetDescrCnvSvc/src/DetDescrCnvSvc.cxx
+++ b/DetectorDescription/DetDescrCnvSvc/src/DetDescrCnvSvc.cxx
@@ -16,7 +16,7 @@
 #include "GaudiKernel/IDataSelector.h"
 #include "GaudiKernel/IOpaqueAddress.h"
 
-#include "StoreGate/StoreGate.h"
+#include "StoreGate/StoreGateSvc.h"
 //  #include "SGTools/TransientAddress.h"
 
 //External definitions
diff --git a/InnerDetector/InDetConditions/PixelConditionsData/CMakeLists.txt b/InnerDetector/InDetConditions/PixelConditionsData/CMakeLists.txt
index 7f6ce0a55b29f57489e46960ce45530089ae5277..e1d3edc2ab58a954c579db84159edec267e5dea2 100644
--- a/InnerDetector/InDetConditions/PixelConditionsData/CMakeLists.txt
+++ b/InnerDetector/InDetConditions/PixelConditionsData/CMakeLists.txt
@@ -5,18 +5,6 @@
 # Declare the package name:
 atlas_subdir( PixelConditionsData )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( 
-  PUBLIC
-  Control/CxxUtils
-  DetectorDescription/Identifier
-  DetectorDescription/GeoPrimitives
-  Database/AthenaPOOL/AthenaPoolUtilities
-  InnerDetector/InDetConditions/InDetByteStreamErrors
-  PRIVATE
-  Control/AthenaKernel
-  GaudiKernel )
-
 # External dependencies:
 find_package( CLHEP )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
@@ -27,6 +15,6 @@ atlas_add_library( PixelConditionsData
                    PUBLIC_HEADERS PixelConditionsData
                    PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES CxxUtils Identifier GeoPrimitives
+                   LINK_LIBRARIES CxxUtils Identifier GeoPrimitives InDetByteStreamErrors
                    PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${ROOT_LIBRARIES} AthenaKernel AthenaPoolUtilities GaudiKernel )
 
diff --git a/InnerDetector/InDetConfig/CMakeLists.txt b/InnerDetector/InDetConfig/CMakeLists.txt
index b5c9ae719ceca86c8568c1591fffc9269087ad3a..193803d2174d22f4af3e6978d3d272d42e5d05b9 100644
--- a/InnerDetector/InDetConfig/CMakeLists.txt
+++ b/InnerDetector/InDetConfig/CMakeLists.txt
@@ -6,7 +6,7 @@
 atlas_subdir( InDetConfig )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py ${ATLAS_FLAKE8} )
+atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 #atlas_install_scripts( test/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 #atlas_install_joboptions( share/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 
diff --git a/LArCalorimeter/LArCnv/LArTPCnv/share/LArLATOMEHeaderContainerCnv_p1_test.ref b/LArCalorimeter/LArCnv/LArTPCnv/share/LArLATOMEHeaderContainerCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/LArCalorimeter/LArCnv/LArTPCnv/share/LArLATOMEHeaderContainerCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/TileCalorimeter/TileEvent/TileEvent/ATLAS_CHECK_THREAD_SAFETY b/TileCalorimeter/TileEvent/TileEvent/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..902b81eba5b7b8b9f3081300de98d5f14781e9e4
--- /dev/null
+++ b/TileCalorimeter/TileEvent/TileEvent/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+TileCalorimeter/TileEvent
diff --git a/TileCalorimeter/TileEvent/src/TileCell.cxx b/TileCalorimeter/TileEvent/src/TileCell.cxx
index 8cd8fa5f4fbc726f3c06e9af813bdfde64ca44ba..8288c71f45ec82cd1412fa637706e3e10ff80eb8 100755
--- a/TileCalorimeter/TileEvent/src/TileCell.cxx
+++ b/TileCalorimeter/TileEvent/src/TileCell.cxx
@@ -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
 */
 
 //*****************************************************************************
@@ -30,7 +30,9 @@
 #include <iomanip>
 
 // get cabling
-extern TileCablingService * s_cabling;
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 //=========================
 // Constructors
diff --git a/TileCalorimeter/TileEvent/src/TileLaserObject.cxx b/TileCalorimeter/TileEvent/src/TileLaserObject.cxx
index 4df7013980786c4f5a5bc6763e6d4d9db5548653..37c2593c623476934045e1463b608e71ae5c7c50 100644
--- a/TileCalorimeter/TileEvent/src/TileLaserObject.cxx
+++ b/TileCalorimeter/TileEvent/src/TileLaserObject.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
 */
 
 /*author Renato Febbraro*/
@@ -317,7 +317,7 @@ void TileLaserObject::setDiode(const unsigned int diode,
     } // IF
   }else{
     //   log<<MSG::ERROR<<"Exit code in method TileLaserObject::setDiode"<<endmsg;
-    exit(0);
+    std::abort();
   }
 }
 
@@ -337,7 +337,7 @@ void TileLaserObject::setPmt(const unsigned int pmt,
     } // IF
   }else{
     //    log<<MSG::ERROR<<"Exit code in method TileLaserObject::setPmt"<<endmsg;
-    exit(0);
+    std::abort();
   }
 }
 
diff --git a/TileCalorimeter/TileEvent/src/TileRawData.cxx b/TileCalorimeter/TileEvent/src/TileRawData.cxx
index 061f3d3121f037169f3976fc4188423432e2d3c0..a9f9336717999f9fe2b4cf35b7a0180157bd127c 100755
--- a/TileCalorimeter/TileEvent/src/TileRawData.cxx
+++ b/TileCalorimeter/TileEvent/src/TileRawData.cxx
@@ -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
 */
 
 //*****************************************************************************
@@ -29,7 +29,9 @@
 #include <iomanip>
 
 // get cabling
-TileCablingService * s_cabling = TileCablingService::getInstance();
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 TileRawData::TileRawData( const Identifier& id )
   : m_adc_hwid (s_cabling->s2h_adc_id(id))
diff --git a/TileCalorimeter/TileEvent/src/TileSimData.cxx b/TileCalorimeter/TileEvent/src/TileSimData.cxx
index 57caa20da6559481b0591cbb8f36cdc5b0aef034..ed4d69fe02be7f4e27ecfa96102a6383c6cf6e44 100755
--- a/TileCalorimeter/TileEvent/src/TileSimData.cxx
+++ b/TileCalorimeter/TileEvent/src/TileSimData.cxx
@@ -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
 */
 
 //*****************************************************************************
@@ -27,7 +27,9 @@
 #include <iostream>
 
 // get cabling
-extern TileCablingService * s_cabling;
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 TileSimData::TileSimData( const Identifier& id ) : m_pmt_id( id )
 {
diff --git a/TileCalorimeter/TileEvent/src/TileTTL1.cxx b/TileCalorimeter/TileEvent/src/TileTTL1.cxx
index 330074c6eda2ee235d95e205fb3bdcdf8c90ecea..bafe805f55b4f7f413b8ce3d24be329d2cd255d1 100755
--- a/TileCalorimeter/TileEvent/src/TileTTL1.cxx
+++ b/TileCalorimeter/TileEvent/src/TileTTL1.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
 */
 
 //*****************************************************************************
@@ -27,7 +27,9 @@
 #include <iomanip>
 
 // get cabling
-extern TileCablingService * s_cabling;
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 TileTTL1::TileTTL1( const Identifier& id,
                     const std::vector<float>& digits ) :
diff --git a/TileCalorimeter/TileEvent/src/TileTTL1Cell.cxx b/TileCalorimeter/TileEvent/src/TileTTL1Cell.cxx
index a8896e95f8bb1e9f93f74db00da3b90ca8c6b234..b10b1d047197e35adab380ce04f7d0e63bf2654e 100755
--- a/TileCalorimeter/TileEvent/src/TileTTL1Cell.cxx
+++ b/TileCalorimeter/TileEvent/src/TileTTL1Cell.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
 */
 
 //*****************************************************************************
@@ -30,7 +30,9 @@
 #include <iomanip>
 
 // get cabling
-extern TileCablingService * s_cabling;
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 //=========================
 // Constructors
diff --git a/TileCalorimeter/TileEvent/src/TileTrigger.cxx b/TileCalorimeter/TileEvent/src/TileTrigger.cxx
index d5f76e596e07c400ca65b37fb40bc4c0d97c26d3..f029661683afbd549dc78f4d1a13a2b8ef070ea2 100755
--- a/TileCalorimeter/TileEvent/src/TileTrigger.cxx
+++ b/TileCalorimeter/TileEvent/src/TileTrigger.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
 */
 
 //*****************************************************************************
@@ -27,7 +27,9 @@
 #include <iomanip>
 
 // get cabling
-extern TileCablingService * s_cabling;
+namespace {
+const TileCablingService * const s_cabling = TileCablingService::getInstance();
+}
 
 TileTrigger::TileTrigger(int id, const Identifier& mtid, double mtsum, 
 		std::vector<Identifier>& boardtid, std::vector<double>& boardtsum,
diff --git a/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx
index 8e063f7f7e23390bc83505a78717424c28b3476f..a3990be1f280ddce238da1270156113e396f7511 100644
--- a/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx
+++ b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx
@@ -1,8 +1,6 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-/*
- */
 /**
  * @file TileEvent/test/TileMutableBeamElemContainer_test.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -24,16 +22,19 @@ static const size_t NCOLL = 2;
 static const size_t NCHAN = 10;
 
 
-IdDictParser parser;
-TileHWID hwid;
-TileTBID tbid;
-TileID   tileid;
-
-
 class TileCablingSvc
 {
 public:
-  static
+  IdDictParser parser;
+  TileHWID hwid;
+  TileTBID tbid;
+  TileID   tileid;
+
+  TileCablingSvc()
+  {
+    init_idhelpers();
+  }
+
   void init_idhelpers()
   {
     tileid.set_do_neighbours (false);
@@ -247,7 +248,7 @@ void test1()
 int main()
 {
   std::cout << "TileMutableBeamElemContainer_test\n";
-  TileCablingSvc::init_idhelpers();
+  TileCablingSvc cabling;
   test1();
   return 0;
 }
diff --git a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx
index 56e58dece28c2ecc0ade3b4e0392b3351d634922..ee0aed60ff2d6762967e0972a2c3f63df3a1ad21 100644
--- a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx
+++ b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx
@@ -1,8 +1,6 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-/*
- */
 /**
  * @file TileEvent/testTileMutableDataContainer_test.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -27,16 +25,19 @@ static const size_t NCOLL = 2;
 static const size_t NCHAN = 10;
 
 
-IdDictParser parser;
-TileHWID hwid;
-TileTBID tbid;
-TileID   tileid;
-
-
 class TileCablingSvc
 {
 public:
-  static
+  IdDictParser parser;
+  TileHWID hwid;
+  TileTBID tbid;
+  TileID   tileid;
+
+  TileCablingSvc()
+  {
+    init_idhelpers();
+  }
+
   void init_idhelpers()
   {
     tileid.set_do_neighbours (false);
@@ -247,7 +248,7 @@ void test1()
 int main()
 {
   std::cout << "TileMutableDataContainer_test\n";
-  TileCablingSvc::init_idhelpers();
+  TileCablingSvc cabling;
   test1();
   return 0;
 }
diff --git a/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx
index 426215257e0b31fe23e113ae632f6903e0d9567b..c14b0983f9dc6079ffd01f15c97f70bcd551677b 100644
--- a/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx
+++ b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx
@@ -1,8 +1,6 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-/*
- */
 /**
  * @file TileEvent/test/TileMutableDigitsContainer_test.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -24,16 +22,20 @@ static const size_t NCOLL = 2;
 static const size_t NCHAN = 10;
 
 
-IdDictParser parser;
-TileHWID hwid;
-TileTBID tbid;
-TileID   tileid;
-
 
 class TileCablingSvc
 {
 public:
-  static
+  IdDictParser parser;
+  TileHWID hwid;
+  TileTBID tbid;
+  TileID   tileid;
+
+  TileCablingSvc()
+  {
+    init_idhelpers();
+  }
+
   void init_idhelpers()
   {
     tileid.set_do_neighbours (false);
@@ -265,7 +267,7 @@ void test1()
 int main()
 {
   std::cout << "TileMutableDigitsContainer_test\n";
-  TileCablingSvc::init_idhelpers();
+  TileCablingSvc cabling;
   test1();
   return 0;
 }
diff --git a/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx
index 7932cf21060feb4ac95df023ec18aa1327ef7081..6106657ab3c5599c3445f09b83ffd9f17f7c4698 100644
--- a/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx
+++ b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx
@@ -1,8 +1,6 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-/*
- */
 /**
  * @file TileEvent/test/TileMutableHitContainer_test.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -24,16 +22,19 @@ static const size_t NCOLL = 2;
 static const size_t NCHAN = 10;
 
 
-IdDictParser parser;
-TileHWID hwid;
-TileTBID tbid;
-TileID   tileid;
-
-
 class TileCablingSvc
 {
 public:
-  static
+  IdDictParser parser;
+  TileHWID hwid;
+  TileTBID tbid;
+  TileID   tileid;
+
+  TileCablingSvc()
+  {
+    init_idhelpers();
+  }
+
   void init_idhelpers()
   {
     tileid.set_do_neighbours (false);
@@ -236,7 +237,7 @@ void test1()
 int main()
 {
   std::cout << "TileMutableHitContainer_test\n";
-  TileCablingSvc::init_idhelpers();
+  TileCablingSvc cabling;
   test1();
   return 0;
 }
diff --git a/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx
index 10c14c6f0c76b1e75b986450be75cae5e2eef59b..820a30ae4d69cd8f737bcb409ac69ae881e17f27 100644
--- a/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx
+++ b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx
@@ -1,8 +1,6 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
-/*
- */
 /**
  * @file TileEvent/test/TileMutableRawChannelContainer_test.cxx
  * @author scott snyder <snyder@bnl.gov>
@@ -24,16 +22,19 @@ static const size_t NCOLL = 2;
 static const size_t NCHAN = 10;
 
 
-IdDictParser parser;
-TileHWID hwid;
-TileTBID tbid;
-TileID   tileid;
-
-
 class TileCablingSvc
 {
 public:
-  static
+  IdDictParser parser;
+  TileHWID hwid;
+  TileTBID tbid;
+  TileID   tileid;
+
+  TileCablingSvc()
+  {
+    init_idhelpers();
+  }
+
   void init_idhelpers()
   {
     tileid.set_do_neighbours (false);
@@ -283,7 +284,7 @@ void test1()
 int main()
 {
   std::cout << "TileMutableRawChannelContainer_test\n";
-  TileCablingSvc::init_idhelpers();
+  TileCablingSvc cabling;
   test1();
   return 0;
 }