diff --git a/Trigger/TrigCost/TrigCostAnalysis/ATLAS_CHECK_THREAD_SAFETY b/Trigger/TrigCost/TrigCostAnalysis/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 0000000000000000000000000000000000000000..b4394c4b807840ba822e59ef0593926c3d182532
--- /dev/null
+++ b/Trigger/TrigCost/TrigCostAnalysis/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Trigger/TrigCost/TrigCostAnalysis
diff --git a/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt b/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt
index daa9512dc39244d5667740ffe0427fb6e1e15056..5df70fcab69326a711be2f9115f2f95ceba5f53b 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt
+++ b/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt
@@ -1,16 +1,17 @@
-# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( TrigCostAnalysis )
 
 # External dependencies:
+find_package( Boost )
 find_package( ROOT COMPONENTS Core Hist RIO )
 
 # Athena algorithm to do cost analysis and produce histograms
 atlas_add_component( TrigCostAnalysis
                      src/*.cxx src/monitors/*.cxx src/counters/*.cxx src/components/TrigCostAnalysis_entries.cxx
-                     PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthAnalysisBaseCompsLib TrigDataAccessMonitoringLib TrigDecisionToolLib EnhancedBiasWeighterLib xAODEventInfo PathResolver TrigConfData TrigCompositeUtilsLib )
-
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} AsgMessagingLib AthenaBaseComps AthenaKernel EnhancedBiasWeighterLib GaudiKernel PathResolver StoreGateLib TrigCompositeUtilsLib TrigConfData TrigConfHLTUtilsLib TrigDataAccessMonitoringLib xAODTrigger )
 
 atlas_install_scripts( share/RunTrigCostAnalysis.py share/CostAnalysisPostProcessing.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 atlas_install_python_modules( python/*.py python/TableConstructors/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/CounterBase.h b/Trigger/TrigCost/TrigCostAnalysis/src/CounterBase.h
index ade44138e162da2047461d892cbe3613684cb0d3..c02c3936519a5e005d91ae78d1889832e4fec31a 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/CounterBase.h
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/CounterBase.h
@@ -7,7 +7,7 @@
 
 #include "GaudiKernel/StatusCode.h"
 #include "AthenaBaseComps/AthCheckMacros.h"
-#include "TrigConfHLTData/HLTUtils.h"
+#include "TrigConfHLTUtils/HLTUtils.h"
 
 #include "CostData.h"
 #include "Variable.h"
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.h b/Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.h
index 99c55393f15f2e767ca6a56050b7a8868e3a3697..79d06456ea92a9f953510e027f97d94d35108b23 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.h
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.h
@@ -11,7 +11,7 @@
 #include "AsgMessaging/MsgStream.h"
 #include "AthenaBaseComps/AthMsgStreamMacros.h"
 
-#include "TrigConfHLTData/HLTUtils.h"
+#include "TrigConfHLTUtils/HLTUtils.h"
 
 #include "CostData.h"
 #include "CounterBase.h"
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.cxx
index d423994f931f81cfe9c9897ed63ab20a8b56c878..4c5d020212160292357df283d611a40cfaba6d18 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.cxx
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "TrigCostAnalysis.h"
@@ -24,7 +24,7 @@ const std::string& MonitoredRange::getName() const {
 }
 
 
-TrigCostAnalysis* MonitoredRange::getParent() const {
+const TrigCostAnalysis* MonitoredRange::getParent() const {
   return m_parent;
 }
 
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.h b/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.h
index 2efab1ea61c86d3bb9f4384a031e1b4235f2ad35..c7fa4caeed8dae258bb252d03c9415354c9912ad 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.h
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/MonitoredRange.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRIGCOSTANALYSIS_MONITOREDRANGE_H
@@ -67,7 +67,7 @@ class MonitoredRange{
      * @brief Return cached non-owning ptr to this Monitor's parent TrigCostAnalysis Athena algorithm.
      * @return Cached pointer to parent TrigCostAnalysis algorithm.
      */
-    TrigCostAnalysis* getParent() const;
+    const TrigCostAnalysis* getParent() const;
 
     /**
      * @brief Appends Range's name (to histogram path) and forwards histogram book request to parent Athena algorithm.
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx
index 1fd4b187bef77ad425123183d6bb47e85dc497ef..1bfa7a3518e62674d5c493154f2a6a2119287df0 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx
@@ -1,12 +1,12 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #define BOOST_BIND_GLOBAL_PLACEHOLDERS // silence Boost pragma message (fixed in Boost 1.76)
 #include <boost/property_tree/json_parser.hpp>
 
 #include "GaudiKernel/ThreadLocalContext.h"
-#include "TrigConfHLTData/HLTUtils.h"
+#include "TrigConfHLTUtils/HLTUtils.h"
 
 #include "PathResolver/PathResolver.h"
 
@@ -165,7 +165,7 @@ float TrigCostAnalysis::getWeight(const EventContext& context) {
 }
 
 
-TH1* TrigCostAnalysis::bookGetPointer(TH1* hist, const std::string& tDir) {
+TH1* TrigCostAnalysis::bookGetPointer(TH1* hist, const std::string& tDir) const {
   std::string histName(hist->GetName());
   std::string bookingString = "/COSTSTREAM/" + tDir + "/" + histName;
 
diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h
index 8f123fb1692b50603d830ce7f1360a1bb9583bbb..12139b79ad4eb581347be599209147a2539cc641 100644
--- a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h
+++ b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRIGCOSTANALYSIS_TRIGCOSTALYSIS_H
@@ -72,7 +72,7 @@ class TrigCostAnalysis: public ::AthAlgorithm {
      * @param[in] tDir Histogram name & directory.
      * @return Cached pointer to histogram. Used to fill histogram without having to perform THishSvc lookup. 
      */
-    TH1* bookGetPointer(TH1* hist, const std::string& tDir = "");
+    TH1* bookGetPointer(TH1* hist, const std::string& tDir = "") const;
 
     ServiceHandle<ITHistSvc> m_histSvc{ this, "THistSvc", "THistSvc/THistSvc", "Histogramming svc" };