diff --git a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_ByteStream_ConditionsSvc.cxx b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_ByteStream_ConditionsSvc.cxx
index 1fcf025f49f9c131815e8225a1639f0ee3b75ea7..8cc3ce7070bbca26f8b7ee9d8dc42acbfdf8d574 100644
--- a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_ByteStream_ConditionsSvc.cxx
+++ b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_ByteStream_ConditionsSvc.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
 */
 #ifndef SIMULATIONBASE
 
@@ -152,7 +152,7 @@ TRT_ByteStream_ConditionsSvc::handle(const Incident&)
    this->resetCounts();
 
    if ( m_readCondFromESD )
-      this->readData();
+      this->readData().ignore();
 
    return;
 }
diff --git a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawAlignDbSvc.cxx b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawAlignDbSvc.cxx
index 43f100a5119b680e50ac750e75ab4a5c9501c004..c0126aa78ab232802e4288eeaf13411c28eb6c06 100755
--- a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawAlignDbSvc.cxx
+++ b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawAlignDbSvc.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
 */
 
 /** @file TRT_StrawAlignDbSvc.cxx
@@ -168,7 +168,7 @@ StatusCode TRT_StrawAlignDbSvc::readTextFile(const std::string& filename)
   // force a call back in the geometry
   int i(0);
   std::list<std::string> keys ;
-  (const_cast<InDetDD::TRT_DetectorManager*>(m_trtman))->align(i,keys) ;
+  (const_cast<InDetDD::TRT_DetectorManager*>(m_trtman))->align(i,keys).ignore() ;
 
   return StatusCode::SUCCESS ;
 }
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p1_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p1_test.cxx
index 8a6de3385b92127edb4345375f2c3aa1950c7652..7c8ed50418dc6db945b90cd230a653d354a1dc5c 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p1_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p1_test.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
 */
 
 // $Id$
@@ -163,7 +163,7 @@ makeclusts()
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p2_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p2_test.cxx
index ae3ff5b5e9e4a63a4a5ba5f521ae0475b96abc13..2bfd784c2f281ddd0ab5f1e377947fcce0c19137 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p2_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p2_test.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
 */
 
 // $Id$
@@ -159,7 +159,7 @@ makeclusts()
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p3_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p3_test.cxx
index 69b823d36565be0f9c386216a4b3bab3fa85d9dd..7b5c68d692dbce46ba80dd89f217b159dd0aa65a 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p3_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelClusterContainerCnv_p3_test.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
 */
 
 // $Id$
@@ -159,7 +159,7 @@ makeclusts()
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelGangedClusterAmbiguitiesCnv_p1_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelGangedClusterAmbiguitiesCnv_p1_test.cxx
index 7f145c719b94194aa03c4b7b63446a73fdc73815..9fef950d5473d33fe26f7058f6181d581ea8b7a7 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelGangedClusterAmbiguitiesCnv_p1_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/PixelGangedClusterAmbiguitiesCnv_p1_test.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
 */
 
 // $Id$
@@ -194,7 +194,7 @@ const InDet::PixelClusterContainer& makeclusts (StoreGateSvc* sg)
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert (cont->addCollection (coll.release(), hash).isSuccess());
   }
 
   const InDet::PixelClusterContainer& ret = *cont;
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p2_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p2_test.cxx
index d0d3c4f4444370bd2400f9511a33ae5f9d02e627..62f2054ef0768b8ab1e70ac302711865d7b16758 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p2_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p2_test.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
 */
 
 // $Id$
@@ -136,7 +136,7 @@ makeclusts(const SCT_ID& sct_id)
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p3_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p3_test.cxx
index 057d6148aaf47e8d11f13f14c2c051ae0c065362..08909a94cf76c0f27d5e7272f36479b1753f5496 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p3_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/SCT_ClusterContainerCnv_p3_test.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
 */
 
 // $Id$
@@ -136,7 +136,7 @@ makeclusts(const SCT_ID& sct_id)
       cl->setHashAndIndex (hash, i);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/TRT_DriftCircleContainerCnv_p2_test.cxx b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/TRT_DriftCircleContainerCnv_p2_test.cxx
index 9fa154dc641a7914b9112a7506ee957c7f301a3a..cc7c6e00c43208a4dc431389b894fa41abd176f9 100644
--- a/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/TRT_DriftCircleContainerCnv_p2_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetEventTPCnv/test/TRT_DriftCircleContainerCnv_p2_test.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
 */
 
 // $Id$
@@ -112,7 +112,7 @@ makeclusts (const TRT_ID& trt_id)
          54321);
       coll->push_back (std::move (cl));
     }
-    cont->addCollection (coll.release(), hash);
+    assert( cont->addCollection (coll.release(), hash).isSuccess() );
   }
 
   // gcc4.9 doesn't allow returning cont directly here; fixed in 5.2.
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx
index 7790a35542bf5868d66bc5354229b231c4af7c15..1f03f22ba6932cef8c3e71327a900e83eefc3877 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.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
 */
 
 // **********************************************************************
@@ -134,7 +134,7 @@ StatusCode TrackSelectionAlg::execute()
   }
 
   SG::WriteHandle<TrackCollection> outputTrackCol{m_outputTrackCol};
-  outputTrackCol.record(std::move(selectedTracks));
+  ATH_CHECK(outputTrackCol.record(std::move(selectedTracks)));
 
   return StatusCode::SUCCESS;
 }
diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalBCMTool.cxx b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalBCMTool.cxx
index 49a99afe9d45098bdaa87e044d623e63ddc41598..3fbd71a2b278ec1730e8b1e5d23a9b81afcb9711 100755
--- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalBCMTool.cxx
+++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalBCMTool.cxx
@@ -1,6 +1,6 @@
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file InDetGlobalBCMTool.cxx
@@ -10,7 +10,6 @@
  * Alex Kastanas <Alex.Kastanas@cern.ch> @n
  * Jennifer Jentzsch <Jennifer.Jentzsch@cern.ch>      
  *
- * $Id: InDetGlobalBCMTool.cxx,v 1.1 2009-01-19 11:06:07 sandaker Exp $
  *
  *********************************************************************************/
 
@@ -107,11 +106,12 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
     MonGroup monGr_GlobalHistograms ( this, "InDetGlobal/BCM/GlobalHistograms", run, ATTRIB_UNMANAGED);
     MonGroup monGr_SideHistograms ( this, "InDetGlobal/BCM/SideHistograms", run, ATTRIB_UNMANAGED);
     MonGroup monGr_DetectorHistograms ( this, "InDetGlobal/BCM/DetectorHistograms", run, ATTRIB_UNMANAGED);
-  
-    if (newRunFlag()){
 
+    bool status = true;
+
+    if (newRunFlag()){
     // Example of plot registration per new run
-    registerHist(monGr_shift,m_nExamplePlot = new TH1F("m_nExample","Example plot BCM",5,0,5));
+    status &= registerHist(monGr_shift,m_nExamplePlot = new TH1F("m_nExample","Example plot BCM",5,0,5));
 
     std::string name,title,station_name,gain,pulse;
     
@@ -121,103 +121,103 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 
     name = "HitsVsLvl1AAll";
     title = "Hits vs LVL1A All";
-    registerHist(monGr_GlobalHistograms,m_hits_lvl1a_all = new TH1F(name.c_str(),title.c_str(),32,0,32));
+    status &= registerHist(monGr_GlobalHistograms,m_hits_lvl1a_all = new TH1F(name.c_str(),title.c_str(),32,0,32));
     m_hits_lvl1a_all->GetXaxis()->SetTitle("lvl1a [25 ns]");
     m_hits_lvl1a_all->GetYaxis()->SetTitle("# of hits");
 
     name = "ChannelVsLvl1a";
     title = "Channel vs LVL1 A";
-    registerHist(monGr_GlobalHistograms,m_ChannelVsLvl1a = new TH2F(name.c_str(), title.c_str(), 64, 0, 64, 16, 0, 16));
+    status &= registerHist(monGr_GlobalHistograms,m_ChannelVsLvl1a = new TH2F(name.c_str(), title.c_str(), 64, 0, 64, 16, 0, 16));
     m_ChannelVsLvl1a->GetXaxis()->SetTitle("LVL1 A [25 ns]");
     m_ChannelVsLvl1a->GetYaxis()->SetTitle("Channel #");
     
     name = "ChannelVsBCID";
     title = "Channel vs BCID";
-    registerHist(monGr_GlobalHistograms,m_ChannelVsBCID = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed, 16, 0,16));
+    status &= registerHist(monGr_GlobalHistograms,m_ChannelVsBCID = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed, 16, 0,16));
     m_ChannelVsBCID->GetXaxis()->SetTitle("BCID [25 ns]");
     m_ChannelVsBCID->GetYaxis()->SetTitle("Channel #");
     
     name = "ChannelVsECR";
     title = "Channel vs ECR";
-    registerHist(monGr_GlobalHistograms,m_ChannelVsECR = new TH2F(name.c_str(), title.c_str(), 256, 0, 256, 16, 0, 16));
+    status &= registerHist(monGr_GlobalHistograms,m_ChannelVsECR = new TH2F(name.c_str(), title.c_str(), 256, 0, 256, 16, 0, 16));
     m_ChannelVsECR->GetXaxis()->SetTitle("ECR [5 s]");
     m_ChannelVsECR->GetYaxis()->SetTitle("Channel #");
 
     name = "NumberOfEvents";
     title = "Number of monitored events";
-    registerHist(monGr_GlobalHistograms,m_NumberOfEvents = new TH1F(name.c_str(), title.c_str(), 3,0,3));
+    status &= registerHist(monGr_GlobalHistograms,m_NumberOfEvents = new TH1F(name.c_str(), title.c_str(), 3,0,3));
     m_NumberOfEvents->GetXaxis()->SetTitle("sourceID [0=BCM, 1=LowHorizontal, 2=LowVertical]");
     m_NumberOfEvents->GetYaxis()->SetTitle("# of events");    
 
     name = "AbortFraction";
     title = "Abort Fraction";
-    registerHist(monGr_GlobalHistograms,m_AbortFraction = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFraction = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
     m_AbortFraction->GetXaxis()->SetTitle("Abort Fraction %");
     m_AbortFraction->GetYaxis()->SetTitle("# of Hits");
 
     name = "AbortFractionROD0";
     title = "Abort Fraction ROD0";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD0 = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD0 = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
     m_AbortFractionROD0->GetXaxis()->SetTitle("Abort Fraction %");
     m_AbortFractionROD0->GetYaxis()->SetTitle("# of Hits");
 
     name = "AbortFractionROD1";
     title = "Abort Fraction ROD1";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD1 = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD1 = new TH1F(name.c_str(), title.c_str(), 101, 0, 101));
     m_AbortFractionROD1->GetXaxis()->SetTitle("Abort Fraction %");
     m_AbortFractionROD1->GetYaxis()->SetTitle("# of Hits");
 
     name = "AbortFractionVsBCID";
     title = "Abort Fraction Vs BCID";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionVsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionVsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
     m_AbortFractionVsBCID->GetXaxis()->SetTitle("BCID [25 ns]");
     m_AbortFractionVsBCID->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionROD0VsBCID";
     title = "Abort Fraction ROD0 Vs BCID";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD0VsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD0VsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
     m_AbortFractionROD0VsBCID->GetXaxis()->SetTitle("BCID [25 ns]");
     m_AbortFractionROD0VsBCID->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionROD1VsBCID";
     title = "Abort Fraction ROD1 Vs BCID";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD1VsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD1VsBCID = new TH1F(name.c_str(), title.c_str(), 3563, 0, 3563));
     m_AbortFractionROD1VsBCID->GetXaxis()->SetTitle("BCID [25 ns]");
     m_AbortFractionROD1VsBCID->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionVsECR";
     title = "Abort Fraction Vs ECR";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionVsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionVsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
     m_AbortFractionVsECR->GetXaxis()->SetTitle("ECR [5 s]");
     m_AbortFractionVsECR->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionVsLB";
     title = "Abort Fraction Vs LB";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionVsLB = new TH2F(name.c_str(), title.c_str(), lb_max, lb_start, lb_max, 100, 0, 1));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionVsLB = new TH2F(name.c_str(), title.c_str(), lb_max, lb_start, lb_max, 100, 0, 1));
     m_AbortFractionVsLB->GetXaxis()->SetTitle("LB");
     m_AbortFractionVsLB->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionROD0VsECR";
     title = "Abort Fraction ROD0 Vs ECR";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD0VsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD0VsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
     m_AbortFractionROD0VsECR->GetXaxis()->SetTitle("ECR [5 s]");
     m_AbortFractionROD0VsECR->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "AbortFractionROD1VsECR";
     title = "Abort Fraction ROD1 Vs ECR";
-    registerHist(monGr_GlobalHistograms,m_AbortFractionROD1VsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
+    status &= registerHist(monGr_GlobalHistograms,m_AbortFractionROD1VsECR = new TH1F(name.c_str(), title.c_str(), 256, 0, 256));
     m_AbortFractionROD1VsECR->GetXaxis()->SetTitle("BCID [5 s]");
     m_AbortFractionROD1VsECR->GetYaxis()->SetTitle("Abort Fraction %");
 
     name = "timewalkAll";
     title = "timewalk All";
-    registerHist(monGr_GlobalHistograms,m_timewalk_all = new TH2F(name.c_str(),title.c_str(),64, 0, 64, 32, 0, 32));
+    status &= registerHist(monGr_GlobalHistograms,m_timewalk_all = new TH2F(name.c_str(),title.c_str(),64, 0, 64, 32, 0, 32));
     m_timewalk_all->GetXaxis()->SetTitle("pulse pos in time bins [25/64 ns]");
     m_timewalk_all->GetYaxis()->SetTitle("pulse width in time bins [25/64 ns]");
 
     name = "NumberHighOccupancyEventsVsLB";
     title = "Number of High Occupancy Events Vs LB";
-    registerHist(monGr_GlobalHistograms, m_highocc = new TH1F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max));
+    status &= registerHist(monGr_GlobalHistograms, m_highocc = new TH1F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max));
     m_highocc->GetXaxis()->SetTitle("LB number");
     m_highocc->GetYaxis()->SetTitle("Number of High Occupancy Events");
 
@@ -233,151 +233,151 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 
 	name = "PulsePositionAll";
 	title = "Pulse Position All";
-	registerHist(monGr_GlobalHistograms,m_pulse_position_all[gain_value] = new TH1F(name.c_str(),title.c_str(),64, 0, 64));
+	status &= registerHist(monGr_GlobalHistograms,m_pulse_position_all[gain_value] = new TH1F(name.c_str(),title.c_str(),64, 0, 64));
 	m_pulse_position_all[gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	m_pulse_position_all[gain_value]->GetYaxis()->SetTitle("# of hits");
 
 	name = "PulseWidthAll";
 	title = "Pulse Width All";
-	registerHist(monGr_GlobalHistograms,m_pulse_width_all[gain_value] = new TH1F(name.c_str(),title.c_str(),32, 0, 32));
+	status &= registerHist(monGr_GlobalHistograms,m_pulse_width_all[gain_value] = new TH1F(name.c_str(),title.c_str(),32, 0, 32));
 	m_pulse_width_all[gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	m_pulse_width_all[gain_value]->GetYaxis()->SetTitle("# of hits");
 	
 	name = "HitDistribution" + gain + "Gain";
 	title = "Hits vs Channel " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_hitdistribution[gain_value] = new TH1F(name.c_str(),title.c_str(),8,0,8));
+	status &= registerHist(monGr_GlobalHistograms,m_hitdistribution[gain_value] = new TH1F(name.c_str(),title.c_str(),8,0,8));
 	m_hitdistribution[gain_value]->GetXaxis()->SetTitle("detector");
 	m_hitdistribution[gain_value]->GetYaxis()->SetTitle("# of hits");
 
 	name = "HitsVsLvl1A" + gain + "Gain";
 	title = "Hits vs LVL1 A  " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_hits_lvl1a[gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	status &= registerHist(monGr_GlobalHistograms,m_hits_lvl1a[gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	m_hits_lvl1a[gain_value]->GetXaxis()->SetTitle("lvl1a [25 ns]");
 	m_hits_lvl1a[gain_value]->GetYaxis()->SetTitle("# of hits");
        
 	name = "HitsVsBCID" + gain + "Gain";
 	title = "Hits vs BCID  " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_hits_bcid[gain_value] = new TH1F(name.c_str(),title.c_str(), bcids_displayed, bcid_start, bcid_start+bcids_displayed));
+	status &= registerHist(monGr_GlobalHistograms,m_hits_bcid[gain_value] = new TH1F(name.c_str(),title.c_str(), bcids_displayed, bcid_start, bcid_start+bcids_displayed));
 	m_hits_bcid[gain_value]->GetXaxis()->SetTitle("BCID [25 ns]");
 	m_hits_bcid[gain_value]->GetYaxis()->SetTitle("# of hits");\
 	
 	name = "StrangeSignals" + gain + "Gain";
 	title = "Strange Signals  " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_strange_signals[gain_value] = new TH1F(name.c_str(),title.c_str(),16,0,16));
+	status &= registerHist(monGr_GlobalHistograms,m_strange_signals[gain_value] = new TH1F(name.c_str(),title.c_str(),16,0,16));
 	m_strange_signals[gain_value]->GetXaxis()->SetTitle("Channel");
 	m_strange_signals[gain_value]->GetYaxis()->SetTitle("# of hits");
 
 	name = "PulsePosition" + gain + "Gain";
 	title = "Pulse Position  " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_pulse_position_gen[gain_value] = new TH1F(name.c_str(),title.c_str(),64, 0, 64));
+	status &= registerHist(monGr_GlobalHistograms,m_pulse_position_gen[gain_value] = new TH1F(name.c_str(),title.c_str(),64, 0, 64));
 	m_pulse_position_gen[gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	m_pulse_position_gen[gain_value]->GetYaxis()->SetTitle("# of hits");
 
 	name = "PulseWidth" + gain + "Gain";
 	title = "Pulse Width  " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms,m_pulse_width_gen[gain_value] = new TH1F(name.c_str(),title.c_str(),32, 0, 32));
+	status &= registerHist(monGr_GlobalHistograms,m_pulse_width_gen[gain_value] = new TH1F(name.c_str(),title.c_str(),32, 0, 32));
 	m_pulse_width_gen[gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	m_pulse_width_gen[gain_value]->GetYaxis()->SetTitle("# of hits");
 
 	name = "Deltat" + gain + "Gain";
 	title = "#Delta t " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_hits[gain_value] = new TH1F(name.c_str(),title.c_str(),50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_hits[gain_value] = new TH1F(name.c_str(),title.c_str(),50,-25,25));
 	m_deltat_vs_hits[gain_value]->GetXaxis()->SetTitle("#Delta t [ns]");
 	m_deltat_vs_hits[gain_value]->GetYaxis()->SetTitle("# of hits");
 	
 	name = "DeltatAligned" + gain + "Gain";
 	title = "#Delta t Aligned " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_hits[gain_value] = new TH1F(name.c_str(),title.c_str(),50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_hits[gain_value] = new TH1F(name.c_str(),title.c_str(),50,-25,25));
 	m_deltat_aligned_vs_hits[gain_value]->GetXaxis()->SetTitle("#Delta t [ns]");
 	m_deltat_aligned_vs_hits[gain_value]->GetYaxis()->SetTitle("# of hits");
 	
 	name = "DeltatVsBCID" + gain + "Gain";
 	title = "#Delta t vs BCID " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_bcid[gain_value] = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed,50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_bcid[gain_value] = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed,50,-25,25));
 	m_deltat_vs_bcid[gain_value]->GetXaxis()->SetTitle("BCID [25 ns]");
 	m_deltat_vs_bcid[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatAlignedVsBCID" + gain + "Gain";
 	title = "#Delta t Aligned vs BCID " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_bcid[gain_value] = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed,50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_bcid[gain_value] = new TH2F(name.c_str(),title.c_str(), bcids_displayed,bcid_start, bcid_start+bcids_displayed,50,-25,25));
 	m_deltat_aligned_vs_bcid[gain_value]->GetXaxis()->SetTitle("BCID [25 ns]");
 	m_deltat_aligned_vs_bcid[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatVsLB" + gain + "Gain";
 	title = "#Delta t vs LB " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_lb[gain_value] = new TH2F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_lb[gain_value] = new TH2F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max, 50,-25,25));
 	m_deltat_vs_lb[gain_value]->GetXaxis()->SetTitle("LB number");
 	m_deltat_vs_lb[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatAlignedVsLB" + gain + "Gain";
 	title = "#Delta t Aligned vs LB " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_lb[gain_value] = new TH2F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_lb[gain_value] = new TH2F(name.c_str(),title.c_str(), lb_max, lb_start, lb_max, 50,-25,25));
 	m_deltat_aligned_vs_lb[gain_value]->GetXaxis()->SetTitle("LB number");
 	m_deltat_aligned_vs_lb[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatVsECR" + gain + "Gain";
 	title = "#Delta t vs ECR " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_ecr[gain_value] = new TH2F(name.c_str(),title.c_str(), ecrs_displayed,ecr_start, ecr_start+ecrs_displayed,50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_ecr[gain_value] = new TH2F(name.c_str(),title.c_str(), ecrs_displayed,ecr_start, ecr_start+ecrs_displayed,50,-25,25));
 	m_deltat_vs_ecr[gain_value]->GetXaxis()->SetTitle("ECR");
 	m_deltat_vs_ecr[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatAlignedVsECR" + gain + "Gain";
 	title = "#Delta t Aligned vs ECR " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_ecr[gain_value] = new TH2F(name.c_str(),title.c_str(), ecrs_displayed,ecr_start, ecr_start+ecrs_displayed,50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_aligned_vs_ecr[gain_value] = new TH2F(name.c_str(),title.c_str(), ecrs_displayed,ecr_start, ecr_start+ecrs_displayed,50,-25,25));
 	m_deltat_aligned_vs_ecr[gain_value]->GetXaxis()->SetTitle("ECR");
 	m_deltat_aligned_vs_ecr[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatVsPrVertex" + gain + "Gain";
 	title = "#Delta t vs Primary Vertex " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_PrVertex[gain_value] = new TH2F(name.c_str(),title.c_str(),100,-200,200,50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_PrVertex[gain_value] = new TH2F(name.c_str(),title.c_str(),100,-200,200,50,-25,25));
 	m_deltat_vs_PrVertex[gain_value]->GetXaxis()->SetTitle("Primary Vertex z position [mm] ");
 	m_deltat_vs_PrVertex[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "DeltatVsPixelHits" + gain + "Gain";
 	title = "#Delta t vs NumberPixelHits " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhits[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhits[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
 	m_deltat_vs_pixhits[gain_value]->GetXaxis()->SetTitle("Number Pixel Hits");
 	m_deltat_vs_pixhits[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 	  
 	name = "DeltatVsPixelHitsBR" + gain + "Gain";
 	title = "#Delta t vs NumberPixelHits in Barrel " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhitsBR[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhitsBR[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
 	m_deltat_vs_pixhitsBR[gain_value]->GetXaxis()->SetTitle("Number Barrel Pixel Hits");
 	m_deltat_vs_pixhitsBR[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 	  
 	name = "DeltatVsPixelHitsEC" + gain + "Gain";
 	title = "#Delta t vs NumberPixelHits in Endcap " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhitsEC[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_pixhitsEC[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 10000, 50,-25,25));
 	m_deltat_vs_pixhitsEC[gain_value]->GetXaxis()->SetTitle("Number Endcap Pixel Hits");
 	m_deltat_vs_pixhitsEC[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 	  
 	name = "DeltatVsSctHits" + gain + "Gain";
 	title = "#Delta t vs NumberSctHits " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_scthits[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_scthits[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
 	m_deltat_vs_scthits[gain_value]->GetXaxis()->SetTitle("Number Sct Hits");
 	m_deltat_vs_scthits[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 	  
 	name = "DeltatVsSctHitsBR" + gain + "Gain";
 	title = "#Delta t vs NumberSctHits in Barrel " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_scthitsBR[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_scthitsBR[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
 	m_deltat_vs_scthitsBR[gain_value]->GetXaxis()->SetTitle("Number Barrel Sct Hits");
 	m_deltat_vs_scthitsBR[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 	  
 	name = "DeltatVsSctHitsEC" + gain + "Gain";
 	title = "#Delta t vs NumberSctHits in Endcap " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_deltat_vs_scthitsEC[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
+	status &= registerHist(monGr_GlobalHistograms, m_deltat_vs_scthitsEC[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 50,-25,25));
 	m_deltat_vs_scthitsEC[gain_value]->GetXaxis()->SetTitle("Number Endcap Sct Hits");
 	m_deltat_vs_scthitsEC[gain_value]->GetYaxis()->SetTitle("#Delta t [ns]");
 
 	name = "SctVsPixHitsCol" + gain + "Gain";
 	title = "#NumberSctHits vs NumberPixHits w/ Collison delta t " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_sct_vs_pix_col[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 100, 0, 10000));
+	status &= registerHist(monGr_GlobalHistograms, m_sct_vs_pix_col[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 100, 0, 10000));
 	m_sct_vs_pix_col[gain_value]->GetXaxis()->SetTitle("Number Pixel Hits");
 	m_sct_vs_pix_col[gain_value]->GetYaxis()->SetTitle("Number Sct Hits");
 	  
 	name = "SctVsPixHitsBkg" + gain + "Gain";
 	title = "#NumberSctHits vs NumberPixHits w/ Background delta t " + gain + " Gain";
-	registerHist(monGr_GlobalHistograms, m_sct_vs_pix_bkg[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 100, 0, 10000));
+	status &= registerHist(monGr_GlobalHistograms, m_sct_vs_pix_bkg[gain_value] = new TH2F(name.c_str(),title.c_str(), 100, 0, 20000, 100, 0, 10000));
 	m_sct_vs_pix_bkg[gain_value]->GetXaxis()->SetTitle("Number Pixel Hits");
 	m_sct_vs_pix_bkg[gain_value]->GetYaxis()->SetTitle("Number Sct Hits");
 	  
@@ -388,19 +388,19 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 	    
 	  name="Pulse"+pulse+"Width"+gain+"Gain";
 	  title="Pulse"+ pulse +"Width" + gain  + "Gain";
-	  registerHist(monGr_GlobalHistograms, m_pulse_width[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	  status &= registerHist(monGr_GlobalHistograms, m_pulse_width[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	  m_pulse_width[gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/32 ns]");
 	  m_pulse_width[gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 
 	  name= "Pulse"+pulse+"Position"+ gain+"Gain";
 	  title = "Pulse " + pulse + " Position  " + gain + " Gain";
-	  registerHist(monGr_GlobalHistograms, m_pulse_position[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
+	  status &= registerHist(monGr_GlobalHistograms, m_pulse_position[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
 	  m_pulse_position[gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	  m_pulse_position[gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 
 	  name = "HitDistributionPulse"+pulse+gain+"Gain";
 	  title = "Hitdistribution Pulse " + pulse + " " + gain + " Gain";
-	  registerHist(monGr_GlobalHistograms, m_hitdistribution_pulse[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),8,0,8));
+	  status &= registerHist(monGr_GlobalHistograms, m_hitdistribution_pulse[gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),8,0,8));
 	  m_hitdistribution_pulse[gain_value][pulse_nr]->GetXaxis()->SetTitle("detector");
 	  m_hitdistribution_pulse[gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 
@@ -423,19 +423,19 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 	        
 	    name="HitsVsLvl1A"+station_name+"Gain_gain";
 	    title = "" + station_name + " Hits vs LVL1 A  " + gain + " Gain";
-	    registerHist(monGr_SideHistograms,m_stat_lvl1a[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	    status &= registerHist(monGr_SideHistograms,m_stat_lvl1a[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	    m_stat_lvl1a[station_nr][gain_value]->GetXaxis()->SetTitle("lvl1a [25 ns]");
 	    m_stat_lvl1a[station_nr][gain_value]->GetYaxis()->SetTitle("# of hits");
 	        
 	    name="PulsePosition"+station_name+"Gain_"+gain;
 	    title = "" + station_name + " Pulse Position  " + gain + " Gain";
-	    registerHist(monGr_SideHistograms, m_stat_pulse_position_gen[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),64,0,64));
+	    status &= registerHist(monGr_SideHistograms, m_stat_pulse_position_gen[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),64,0,64));
 	    m_stat_pulse_position_gen[station_nr][gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	    m_stat_pulse_position_gen[station_nr][gain_value]->GetYaxis()->SetTitle("# of hits");
 	        
 	    name="PulseWidth"+station_name+"Gain_"+gain;
 	    title = "" + station_name + " Pulse Width  " + gain + " Gain";
-	    registerHist(monGr_SideHistograms,m_stat_pulse_width_gen[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	    status &= registerHist(monGr_SideHistograms,m_stat_pulse_width_gen[station_nr][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	    m_stat_pulse_width_gen[station_nr][gain_value]->GetXaxis()->SetTitle("time bins [25/32 ns]");
 	    m_stat_pulse_width_gen[station_nr][gain_value]->GetYaxis()->SetTitle("# of hits");
 
@@ -446,13 +446,13 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 		
 		name="Pulse"+station_name+"Position"+pulse+"Gain_"+gain;
 		title=station_name+" Pulse "+pulse+" Position "+gain+" Gain";
-		registerHist(monGr_SideHistograms, m_stat_pulse_position[station_nr][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
+		status &= registerHist(monGr_SideHistograms, m_stat_pulse_position[station_nr][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
 		m_stat_pulse_position[station_nr][gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 		m_stat_pulse_position[station_nr][gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 		
 		name="Pulse"+station_name+"Width"+pulse+"Gain_"+gain;
 		title=station_name+" Pulse "+pulse+" Width "+gain+" Gain";
-		registerHist(monGr_SideHistograms,m_stat_pulse_width[station_nr][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+		status &= registerHist(monGr_SideHistograms,m_stat_pulse_width[station_nr][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 		m_stat_pulse_width[station_nr][gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/32 ns]");
 		m_stat_pulse_width[station_nr][gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 			
@@ -504,25 +504,25 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 	    
 	  name="HitsVsLvl1A"+station_name+"Gain_"+detector_name+gain;
 	  title= station_name+ " "+ detector_name +" Hits vs LVL1 A "+ gain +" Gain";
-	  registerHist(monGr_DetectorHistograms,m_det_lvl1a[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	  status &= registerHist(monGr_DetectorHistograms,m_det_lvl1a[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	  m_det_lvl1a[detector][gain_value]->GetXaxis()->SetTitle("lvl1a [25 ns]");
 	  m_det_lvl1a[detector][gain_value]->GetYaxis()->SetTitle("# of hits");
 	    
 	  name="PulsePosition"+station_name+"Gain_"+detector_name+gain;
 	  title=station_name+" "+detector_name+" Pulse Position "+gain +" Gain";
-	  registerHist(monGr_DetectorHistograms, m_det_pulse_position_gen[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),64,0,64));
+	  status &= registerHist(monGr_DetectorHistograms, m_det_pulse_position_gen[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),64,0,64));
 	  m_det_pulse_position_gen[detector][gain_value]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	  m_det_pulse_position_gen[detector][gain_value]->GetYaxis()->SetTitle("# of hits");
 	    
 	  name="PulseWidth"+station_name+"Gain_"+detector_name+gain;
 	  title=station_name+" "+detector_name+" Pulse Width "+gain+" Gain";
-	  registerHist(monGr_DetectorHistograms,m_det_pulse_width_gen[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
+	  status &= registerHist(monGr_DetectorHistograms,m_det_pulse_width_gen[detector][gain_value] = new TH1F(name.c_str(),title.c_str(),32,0,32));
 	  m_det_pulse_width_gen[detector][gain_value]->GetXaxis()->SetTitle("time bins [25/32 ns]");
 	  m_det_pulse_width_gen[detector][gain_value]->GetYaxis()->SetTitle("# of hits");
 	  
 	  name="timewalk"+station_name+"_"+detector_name+gain;
 	  title=station_name+" "+detector_name+" timewalk "+ gain +" Gain";
-	  registerHist(monGr_GlobalHistograms,m_det_timewalk[detector][gain_value] = new TH2F(name.c_str(),title.c_str(),64, 0, 64, 32, 0, 32));
+	  status &= registerHist(monGr_GlobalHistograms,m_det_timewalk[detector][gain_value] = new TH2F(name.c_str(),title.c_str(),64, 0, 64, 32, 0, 32));
 	  m_det_timewalk[detector][gain_value]->GetXaxis()->SetTitle("pulse pos in time bins [25/64 ns]");
 	  m_det_timewalk[detector][gain_value]->GetYaxis()->SetTitle("pulse width in time bins [25/64 ns]");    
 	  
@@ -532,21 +532,22 @@ StatusCode InDetGlobalBCMTool::bookHistogramsRecurrent()
 	        
 	    name="Pulse"+station_name+"Position"+detector_name+"Gain_"+pulse+gain;
 	    title=station_name+" "+ detector_name +" Pulse "+pulse+" Position "+ gain +" Gain";
-	    registerHist(monGr_DetectorHistograms, m_det_pulse_position[detector][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
+	    status &= registerHist(monGr_DetectorHistograms, m_det_pulse_position[detector][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),64,0,64));
 	    m_det_pulse_position[detector][gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/64 ns]");
 	    m_det_pulse_position[detector][gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 	        
 	    name="Pulse"+station_name+"Width"+detector_name+"Gain_"+pulse+gain;
 	    title=station_name + " " + detector_name + " Pulse " + pulse + "  Width " + gain + " Gain";
-	    registerHist(monGr_DetectorHistograms,m_det_pulse_width[detector][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,33));
+	    status &= registerHist(monGr_DetectorHistograms,m_det_pulse_width[detector][gain_value][pulse_nr] = new TH1F(name.c_str(),title.c_str(),32,0,33));
 	    m_det_pulse_width[detector][gain_value][pulse_nr]->GetXaxis()->SetTitle("time bins [25/32 ns]");
 	    m_det_pulse_width[detector][gain_value][pulse_nr]->GetYaxis()->SetTitle("# of hits");
 	  }//end of pulse loop
 	}//end of gain loop 
     }//end of detector loop
   } 
-  
-  return StatusCode::SUCCESS;
+
+  if (status) return StatusCode::SUCCESS;
+  else return StatusCode::FAILURE;
 }
 
 //---------------------------------------------------------
diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTopBottomMonTool.cxx b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTopBottomMonTool.cxx
index 51f73b0aa34a8bc4a9584c48a78afe2611ef5c55..2ca21d7d5a6248d97e0c016e94659b7b87e73710 100755
--- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTopBottomMonTool.cxx
+++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTopBottomMonTool.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
 */
 
 /** @file InDetGlobalTopBottomMonTool.cxx
@@ -12,7 +12,6 @@
 * Thomas Burgess <Thomas.Burgess@cern.ch> @n
 * Alex Kastanas <Alex.Kastanas@cern.ch>       
 *
-* $Id: InDetGlobalTopBottomMonTool.cxx,v 1.27 2008-12-17 17:31:15 sandaker Exp $
 *
 *****************************************************************************/
 
@@ -127,137 +126,140 @@ StatusCode InDetGlobalTopBottomMonTool::bookHistogramsRecurrent()
 {  
     MonGroup monGr_shift ( this, "InDetGlobal/TopBottom",  run);
     MonGroup monGr_exp   ( this, "InDetGlobal/TopBottom", run);
-  
+
+    bool status = true;
+
     if (newRunFlag()) {
 	// Number of tracks
 
-	registerHist(
+	status &= registerHist(
 	    monGr_shift,m_nBottomTrks=
 	    new TH1F("m_nBottomTrks","number of bottom segments",5,0,5));
-	registerHist(
+	status &= registerHist(
 	    monGr_shift,m_nTopTrks=
 	    new TH1F("m_nTopTrks","number of top segments",5,0,5));
  
 	// Track parameters at perigee
     
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_phi=
 	    new TH1F("m_top_phi","phi of top segment",100,-M_PI,M_PI));
-	registerHist(monGr_exp,m_top_eta=
+	status &= registerHist(monGr_exp,m_top_eta=
 		     new TH1F("m_top_eta","eta of top segment",100,-1.,1.));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_d0=
 	    new TH1F("m_top_d0","transverse impact parameter of top segment",
 		     200,-500,500));
-	registerHist(monGr_exp,m_top_z0=
+	status &= registerHist(monGr_exp,m_top_z0=
 		     new TH1F("m_top_z0","z0 of top segment",200,-1000,1000));
-	registerHist(monGr_exp,m_top_chi2=
+	status &= registerHist(monGr_exp,m_top_chi2=
 		     new TH1F("m_top_chi2","chi2 of top segment",100,0,100));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_phi=new TH1F(
 		"m_bottom_phi","phi of bottom segment",100,-M_PI,M_PI));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_eta=
 	    new TH1F("m_bottom_eta","eta of bottom segment",100,-1.,1.));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_d0=new TH1F(
 		"m_bottom_d0","transverse impact parameter of bottom segment",
 		200,-500,500));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_z0=
 	    new TH1F("m_bottom_z0","z0 of bottom segment",200,-1000,1000));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_chi2=
 	    new TH1F("m_bottom_chi2","chi2 of bottom segment",100,0,100));
   
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_phi_1trk=new TH1F(
 		"m_top_phi_1trk",
 		"phi of top segment-only 1 segment per event",
 		100,-M_PI,M_PI));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_eta_1trk=new TH1F(
 		"m_top_eta_1trk",
 		"eta of top segment-only 1 segment per event",
 		100,-1.,1.));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_d0_1trk=new TH1F(
 		"m_top_d0_1trk","transverse impact parameter of top segment"
 		"-only 1 segment per event",200,-500,500));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_z0_1trk=
 	    new TH1F("m_top_z0_1trk",
 		     "z0 of top segment-only 1 segment per event",
 		     200,-1000,1000));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_chi2_1trk=new TH1F(
 		"m_top_chi2_1trk",
 		"chi2 of top segment-only 1 segment per event"
 		,100,0,100));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_phi_1trk=new TH1F(
 		"m_bottom_phi_1trk","phi of bottom segment-"
 		"only 1 segment per event",100,-M_PI,M_PI));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_eta_1trk=new TH1F(
 		"m_bottom_eta_1trk",
 		"eta of bottom segment-only 1 segment per event",
 		100,-1.,1.));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_d0_1trk=new TH1F(
 		"m_bottom_d0_1trk",
 		"transverse impact parameter of bottom segment "
 		"- only 1 segment per event",200,-500,500));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_z0_1trk=new TH1F(
 		"m_bottom_z0_1trk",
 		"z0 of bottom segment-only 1 segment per event"
 		,200,-1000,1000));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_bottom_chi2_1trk=new TH1F(
 		"m_bottom_chi2_1trk",
 		"chi2 of bottom segment-only 1 segment per event",
 		100,0,100));   
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_dphi=new TH1F(
 		"m_top_bottom_dphi",
 		"Delta(phi) between top and bottom segments",
 		100,-0.05,0.05));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_deta=new TH1F(
 		"m_top_bottom_deta",
 		"Delta(eta) between top and bottom segments",
 		100,-0.2,0.2));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_dd0=new TH1F(
 		"m_top_bottom_dd0","Delta(d0) between top and bottom segments",
 		400,-10,10));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_dz0=new TH1F(
 		"m_top_bottom_dz0","Delta(z0) between top and bottom segments",
 		200,-100,100));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_phi_pull=new TH1F(
 		"m_top_bottom_phi_pull",
 		"Delta(phi) pull between top and bottom segments",
 		200,-100,100));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_eta_pull=new TH1F(
 		"m_top_bottom_eta_pull",
 		"Delta(eta) pull between top and bottom segments",
 		200,-0.1,0.1));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_d0_pull=new TH1F(
 		"m_top_bottom_d0_pull",
 		"Delta(d0) pull between top and bottom segments",100,-50,50));
-	registerHist(
+	status &= registerHist(
 	    monGr_exp,m_top_bottom_z0_pull=new TH1F(
 		"m_top_bottom_z0_pull",
 		"Delta(z0) pull between top and bottom segments",
 		200,-30,30));   
     }
 
-    return StatusCode::SUCCESS;
+    if (status) return StatusCode::SUCCESS;
+    else return StatusCode::FAILURE;
 }
 
 
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/EventAnalysis.cxx b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/EventAnalysis.cxx
index d98cb4c66e24ff97100963c44e981404dfa03b7a..a1037ddf209a0673a8eaf5243d47881a48c846d4 100644
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/EventAnalysis.cxx
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/EventAnalysis.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 "InDetPerformanceMonitoring/EventAnalysis.h"
@@ -16,7 +16,7 @@ namespace{
     unsigned int u = 1;
     const std::string titleRoot{"/ESD/" + sampleName + suffix};
     for ( auto & thisHisto:h ){
-      PerfMonServices::getHistogramService()->regHist( titleRoot + std::to_string(u), thisHisto.second );
+      PerfMonServices::getHistogramService()->regHist( titleRoot + std::to_string(u), thisHisto.second ).ignore();
       ++u;
     }
   }
diff --git a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Navigator.h b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Navigator.h
index cc26727d27f82f9cb29746bdfe3e603805901563..9f797a7d8ebeaef61fa90be71458034d3aed7f0e 100755
--- a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Navigator.h
+++ b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Navigator.h
@@ -134,7 +134,7 @@ namespace Trk {
          (void)trackPar;
       } 
     
-      StatusCode                               updateTrackingGeometry() const; 
+      void updateTrackingGeometry() const;
       
       
       bool                                               m_validationMode; //!<This becomes a dummy option for now    
diff --git a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx
index 2a030f56854de12d808a3a8175cb9b46d063fa82..7b390a96b407686b82517057a6405ee49b0b7253 100755
--- a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx
+++ b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx
@@ -605,16 +605,13 @@ Trk::Navigator::trackingGeometry() const {
   return m_trackingGeometry;
 }
 
-StatusCode
+void
 Trk::Navigator::updateTrackingGeometry() const {
   // -------------------- public TrackingGeometry (from DetectorStore) ----------------------------
 
-  StatusCode s = StatusCode::SUCCESS;
-  s = detStore()->retrieve(m_trackingGeometry, m_trackingGeometryName);
-  if (s.isFailure()) {
+  if (detStore()->retrieve(m_trackingGeometry, m_trackingGeometryName).isFailure()) {
     ATH_MSG_FATAL("Could not retrieve TrackingGeometry '" << m_trackingGeometryName << "' from DetectorStore.");
     ATH_MSG_FATAL("  - probably the chosen layout is not supported / no cool tag exists. ");
     throw Trk::NavigatorException();
   }
-  return s;
 }
diff --git a/Tracking/TrkValidation/TrkValTools/src/BasicValTrkParticleNtupleTool.cxx b/Tracking/TrkValidation/TrkValTools/src/BasicValTrkParticleNtupleTool.cxx
index d784fc15a18013c930d3b7c38861554af679d981..060ea4b52e065b6875594fa241e0a3061dcf9822 100644
--- a/Tracking/TrkValidation/TrkValTools/src/BasicValTrkParticleNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/BasicValTrkParticleNtupleTool.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
 */
 
 //////////////////////////////////////////////////////////////////
@@ -106,7 +106,7 @@ StatusCode Trk::BasicValTrkParticleNtupleTool::initialize() {
         return sc;
     }
     // add the ntuple branches (this function has to be called by the client of this tool, if m_bookNewNtuple is set to false...)
-    addNtupleItems(m_nt);
+    ATH_CHECK(addNtupleItems(m_nt));
   }
    
     m_TrackIDcounter = 0;