diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXDriver.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXDriver.h
index 39c8aa68c515d52ca91238ba1ca662d82e378ac5..85b16e45499f3123fcf04ceb89a0d85e63e9818f 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXDriver.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXDriver.h
@@ -5,18 +5,12 @@
 #include <string>
 
 // Athena/Gaudi
-#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXToolInterfaces/IeFEXSysSim.h"
 #include "L1CaloFEXSim/eFEXSim.h"
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
-#include "xAODTrigger/eFexEMRoIContainer.h"
-#include "xAODTrigger/eFexTauRoIContainer.h"
-#include "L1CaloFEXSim/eFakeTower.h"
-
-class CaloIdManager;
 
 namespace LVL1 {
 
@@ -34,8 +28,6 @@ class eFEXDriver : public AthAlgorithm
 
  private:
 
-  int m_numberOfEvents = 0;
-
   SG::WriteHandleKey<eFEXOutputCollection> m_eFEXOutputCollectionSGKey {this, "MyOutputs", "eFEXOutputCollection", "MyOutputs"};
 
   ToolHandle<IeFEXSysSim> m_eFEXSysSimTool {this, "eFEXSysSimTool", "LVL1::eFEXSysSim", "Tool that creates the eFEX System Simulation"};
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGA.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGA.h
index 6c1f538b8c23a3e79cd8e8de88c106f50e7c5d21..d0bc0fd766db93cd6776a4e559dbf1c8458dee77 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGA.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGA.h
@@ -50,7 +50,7 @@ namespace LVL1 {
     virtual StatusCode init(int id, int efexid) override ;
     virtual StatusCode execute(eFEXOutputCollection* inputOutputCollection) override ;
     virtual void reset() override ;
-    virtual int getID() override {return m_id;}
+    virtual int getID() const override {return m_id;}
 
     virtual void SetTowersAndCells_SG( int [][6] ) override ;
     virtual void SetIsoWP(std::vector<unsigned int> &, std::vector<unsigned int> &, unsigned int &, unsigned int &) override ;
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGATowerIdProvider.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGATowerIdProvider.h
index 9cf225a16d4a55b9e7c4d0283ed6b240539453b0..4b0d63ace44660d21f2474da22bc5236b63a613f 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGATowerIdProvider.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFPGATowerIdProvider.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -17,7 +17,6 @@
 #define EFEXFPGATOWERIDPROVIDER_H
 
 #include "L1CaloFEXToolInterfaces/IeFEXFPGATowerIdProvider.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 #include <string>
 #include <unordered_map>
@@ -52,7 +51,7 @@ namespace LVL1 {
     StatusCode initialize() override;
 
     /// @brief set path to the csv file and load
-    StatusCode setAddress(std::string inputaddress) override;
+    StatusCode setAddress(const std::string& inputaddress) override;
 
     /**
      * @brief obtain ordered tower IDs in an FPGA
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFillEDM.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFillEDM.h
index 15453dd3240c7916fda14ae00a2a44c044268494..9fd5b735f28b7abbc30c60a1204d95ffeb4e486e 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFillEDM.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFillEDM.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***********************************************************************
@@ -47,9 +47,9 @@ namespace LVL1 {
     virtual StatusCode execute() override;
 
     /** Create and fill a new fillEmEDM object (corresponding to this window), and return a pointer to it */
-    virtual void fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXegTOB> &tobObject, bool xTOB=false) override;
+    virtual void fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXegTOB> &tobObject, bool xTOB=false) const override;
     /** Create and fill a new fillTauEDM object (corresponding to this window), and return a pointer to it */
-    virtual void fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXtauTOB> &tobObject, bool xTOB=false) override;
+    virtual void fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXtauTOB> &tobObject, bool xTOB=false) const override;
 
     /** Internal data */
   private:
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFormTOBs.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFormTOBs.h
index c29d277aad004a93fcc469ddae2869356f7a6f6e..4df86732a7e9a32a710b695325a19f6505a22983 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFormTOBs.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXFormTOBs.h
@@ -33,17 +33,16 @@ namespace LVL1 {
     virtual ~eFEXFormTOBs();
 
     
-    uint32_t doFormTauTOBWord(int, int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
-    virtual uint32_t formTauTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
-    virtual std::vector<uint32_t> formTauxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
+    uint32_t doFormTauTOBWord(int, int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) const;
+    virtual uint32_t formTauTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
+    virtual std::vector<uint32_t> formTauxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
 
+    std::vector<uint32_t>  doFormTauxTOBWords(int, int, int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) const;
+    virtual uint32_t formTauBDTTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
+    virtual std::vector<uint32_t> formTauBDTxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
 
-    std::vector<uint32_t>  doFormTauxTOBWords(int, int, int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int);
-    virtual uint32_t formTauBDTTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
-    virtual std::vector<uint32_t> formTauBDTxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
-
-    virtual uint32_t formEmTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
-    virtual std::vector<uint32_t> formEmxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) override;
+    virtual uint32_t formEmTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
+    virtual std::vector<uint32_t> formEmxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const override;
 
     /** Internal data */
   private:
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXOutputCollection.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXOutputCollection.h
index 7c082eb0894806e3d532de5cd677985580730bdb..deb2f8e355833525b468cb19b96f25f5cf321ea6 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXOutputCollection.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXOutputCollection.h
@@ -6,7 +6,7 @@
  * @file eFEXOutputCollection.h
  * @brief create ntuples output
  *
- * File contains an class which stores the output of eFEX simulation
+ * File contains a class which stores the output of eFEX simulation
  *
  * @author Tong Qiu (tong.qiu@cern.ch)
  * @date 04 Jun 2021
@@ -15,7 +15,6 @@
 #pragma once
 #include "AthenaKernel/CLASS_DEF.h"
 #include <map>
-#include <iostream>
 #include <vector>
 #include <string>
 
@@ -43,7 +42,7 @@ namespace LVL1 {
      * @param value the value
      *
      */
-    void addValue_eg(std::string key, float value);
+    void addValue_eg(const std::string& key, float value);
 
     /// @brief Save all e-gamma values. Use only after finishing defining all e-gamma values for one TOB.
     void fill_eg();
@@ -55,7 +54,7 @@ namespace LVL1 {
      * @param value value
      *
      */
-    void addValue_tau(std::string key, float value);
+    void addValue_tau(const std::string& key, float value);
 
     /// @brief Save all tau values. Use only after finishing defining all tau values for one TOB.
     void fill_tau();
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSim.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSim.h
index 6c57a093923cbb5941edcc7543bfdfed3f6f932f..4bb4806880631f02a41a8829fc24b309c0b3f3d8 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSim.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSim.h
@@ -17,9 +17,6 @@
 #include "AthenaKernel/CLASS_DEF.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eFEXFPGA.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
 #include "L1CaloFEXSim/eFEXegTOB.h"
 
@@ -53,7 +50,7 @@ namespace LVL1 {
 
     virtual void execute() override ;
 
-    virtual int ID() override {return m_id;}
+    virtual int ID() const override {return m_id;}
     
     virtual void SetTowersAndCells_SG(int tmp[10][18]) override;
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSysSim.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSysSim.h
index 14c4f6247a890c6daa9eae6c6a2fad1df2935c26..dc8cabb7729d1434184de52b626ef90c40447b2f 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSysSim.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXSysSim.h
@@ -19,9 +19,6 @@
 #include "L1CaloFEXSim/eFEXSim.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 #include "L1CaloFEXSim/eFEXFPGATowerIdProvider.h"
 #include "L1CaloFEXSim/eFEXegTOB.h"
 #include "L1CaloFEXSim/eFEXtauTOB.h"
@@ -63,7 +60,7 @@ namespace LVL1 {
 
     virtual void cleanup() override;
 
-    virtual int calcTowerID(int eta, int phi, int mod) override;
+    virtual int calcTowerID(int eta, int phi, int mod) const override;
 
     /** Internal data */
   private:
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXTOBEtTool.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXTOBEtTool.h
index e2aa1d0fb126c539fd368414bea201f37c25bf8a..a1ada70f59ba2fa51eb1c5a87f4311950d526402 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXTOBEtTool.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXTOBEtTool.h
@@ -61,7 +61,7 @@ namespace LVL1 {
 
     /** Tool to find eTower identifier from an eta, phi coordinate pair */
     virtual
-    unsigned int eTowerID(float eta, float phi) override;
+    unsigned int eTowerID(float eta, float phi) const override;
 
     /** Tool to find eFEX and FPGA numbers and eta index of a TOB within the FPGA */
     virtual
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXegAlgo.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXegAlgo.h
index 5ee03e02538b84826667bff0147559aca6a4cb9e..2b13491b61f5212982aa35ae247880a7f625ff9f 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXegAlgo.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXegAlgo.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***************************************************************************
@@ -19,11 +19,6 @@
 #include "L1CaloFEXSim/eFEXegTOB.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 
 namespace LVL1 {
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauAlgoBase.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauAlgoBase.h
index 1495225d9c6fd77d29d61d90254a435ded601ff8..e2319de178f016b1cc09dab19a2c4fac029b592f 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauAlgoBase.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauAlgoBase.h
@@ -36,11 +36,10 @@ public:
   virtual void compute() override {};
   virtual bool isCentralTowerSeed() const override;
   virtual bool isBDT() const override { return false; }
-  virtual void setThresholds(std::vector<unsigned int> rHadThreshold,
-                             std::vector<unsigned int> bdtThreshold,
-                             unsigned int etThreshold,
-                             unsigned int etThresholdForRHad) override;
-
+  virtual void setThresholds(const std::vector<unsigned int>& /*rHadThreshold*/,
+                             const std::vector<unsigned int>& /*bdtThreshold*/,
+                             unsigned int /*etThreshold*/,
+                             unsigned int /*etThresholdForRHad*/) override {};
   virtual void getRCore(std::vector<unsigned int> & rCoreVec) const override;
   virtual unsigned int rCoreCore() const override { return 0; }
   virtual unsigned int rCoreEnv() const override { return 0; }
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauBDTAlgo.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauBDTAlgo.h
index 1ef7a20573142630ad6b230e3be4d6a8f40e2d4f..9e512075c399ef5a1e7a354ef87efd72148505f2 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauBDTAlgo.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFEXtauBDTAlgo.h
@@ -50,8 +50,8 @@ public:
   virtual unsigned int getBDTScore() const override;
   virtual unsigned int getBDTCondition() const override;
   virtual bool isBDT() const override;
-  virtual void setThresholds(std::vector<unsigned int> rHadThreshold,
-                             std::vector<unsigned int> bdtThreshold,
+  virtual void setThresholds(const std::vector<unsigned int>& rHadThreshold,
+                             const std::vector<unsigned int>& bdtThreshold,
                              unsigned int etThreshold,
                              unsigned int etThresholdForRHad) override;
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFakeTower.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFakeTower.h
index 7d4b0b33600fb7fb89eb338792b384fa95f8b739..a1e19c010c945974f9d2dc4f1acd1d52c0d7bcf3 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFakeTower.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eFakeTower.h
@@ -1,5 +1,5 @@
 /*
-   Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+   Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -23,9 +23,6 @@
 #include "L1CaloFEXToolInterfaces/IeFEXSysSim.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 #include "L1CaloFEXSim/eFEXFPGATowerIdProvider.h"
 #include "L1CaloFEXToolInterfaces/IeFakeTower.h"
 #include "L1CaloFEXSim/eFEXCompression.h"
@@ -128,7 +125,7 @@ namespace LVL1 {
      * @return FPGA index
      * 
      */
-    int getFPGAnumber(int iefex, int ifpga);
+    int getFPGAnumber(int iefex, int ifpga) const;
 
     eTowerContainer* m_eTowerContainer; //the eTowerContainer object for which the Et will be replaced
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eSuperCellTowerMapper.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eSuperCellTowerMapper.h
index 64240caedcdcd97702a921fe7d119741b1339ecc..18bc89cc33de44d68b162a49170d096d7d470059 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eSuperCellTowerMapper.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eSuperCellTowerMapper.h
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+    Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -10,7 +10,6 @@
 #include <string>
 
 // Athena/Gaudi
-#include "AthenaBaseComps/AthAlgorithm.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "L1CaloFEXToolInterfaces/IeSuperCellTowerMapper.h"
 #include "CaloEvent/CaloCellContainer.h"
@@ -50,7 +49,7 @@ class eSuperCellTowerMapper: public AthAlgTool, virtual public IeSuperCellTowerM
   virtual int FindTowerIDForSuperCell(int towereta, int towerphi) override;
   virtual void PrintCellSpec(const CaloSampling::CaloSample sample, int layer, const int region, const int eta_index, const int phi_index, const int pos_neg, int iETower, int iCell, int prov, Identifier ID, bool doenergysplit) override;
   
-  std::string DectectorName(const CaloSampling::CaloSample sample);
+  std::string DectectorName(const CaloSampling::CaloSample sample) const;
 
 };
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTower.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTower.h
index 09c0356b2469bf9460e9ed9dff01415564d08ae5..517bc07d5df783eabfcfb9d3906f14a3d74fdb97 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTower.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTower.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***************************************************************************
@@ -15,11 +15,9 @@
 
 #include <vector>
 #include "AthenaKernel/CLASS_DEF.h"
-#include "CaloEvent/CaloCellContainer.h"
 #include "CaloIdentifier/CaloIdManager.h"
 #include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 
-#include "xAODBase/IParticle.h"
 #include "xAODCore/AuxStoreAccessorMacros.h"
 
 namespace LVL1 {
@@ -63,15 +61,11 @@ namespace LVL1 {
     /** Get coordinates of tower */
     int iEta() const;
     int iPhi() const;
-    float eta() {return m_eta;};
-    float phi() {return m_phi;};
     float eta() const {return m_eta;};
     float phi() const {return m_phi;};
     
     void setEta(const float thiseta){ m_eta = thiseta; }
 
-    int id() {return m_tower_id;};
-
     int id() const {return m_tower_id;}
 
     float constid() const {return m_tower_id;};
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerMakerFromSuperCells.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerMakerFromSuperCells.h
index cf7fddaf3d2c387d5a3e1d2345082aa3f3fcce08..7447b3c681c0ffe762e268445023b33695d1ea46 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerMakerFromSuperCells.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerMakerFromSuperCells.h
@@ -5,18 +5,12 @@
 #include <string>
 
 // Athena/Gaudi
-#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
-#include "CaloEvent/CaloCellContainer.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eTowerBuilder.h"
 #include "L1CaloFEXSim/eSuperCellTowerMapper.h"
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-
-class CaloIdManager;
 
 namespace LVL1 {
 
@@ -33,8 +27,6 @@ class eTowerMakerFromSuperCells : public AthAlgorithm
 
  private:
 
-  int m_numberOfEvents = 0;
-
   SG::WriteHandleKey<LVL1::eTowerContainer> m_eTowerContainerSGKey {this, "MyETowers", "eTowerContainer", "MyETowers"};
 
   ToolHandle<IeTowerBuilder> m_eTowerBuilderTool {this, "eTowerBuilderTool", "LVL1::eTowerBuilder", "Tool that builds eTowers for simulation"};
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXDriver.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXDriver.cxx
index afcfe90e006ec6f74a1b58597ad77a49859466db..7594f4ecd26a69731007e97e492f3bb940eeefe8 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXDriver.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXDriver.cxx
@@ -1,42 +1,15 @@
 /*
-    Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+    Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 
-#undef NDEBUG
-
 #include "L1CaloFEXSim/eFEXDriver.h"
-
 #include "L1CaloFEXSim/eSuperCellTowerMapper.h"
-
 #include "L1CaloFEXSim/eFEXSim.h"
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
 #include "L1CaloFEXSim/eFEXegTOB.h"
 
-#include "TROOT.h"
-#include "TH1.h"
-#include "TH1F.h"
-#include "TPad.h"
-#include "TCanvas.h"
-
 #include "StoreGate/WriteHandle.h"
-#include "StoreGate/ReadHandle.h"
-
-#include "xAODTrigger/eFexEMRoI.h"
-#include "xAODTrigger/eFexEMRoIContainer.h"
-
-#include "xAODTrigger/eFexTauRoI.h"
-#include "xAODTrigger/eFexTauRoIContainer.h"
-
-#include <cassert>
-#include "SGTools/TestStore.h"
-
-#include <ctime>
-
-#include <iostream>
-#include <fstream>
-
-#define DEBUG_VHB 1
 
 
 namespace LVL1 {
@@ -56,9 +29,6 @@ namespace LVL1 {
 
 StatusCode eFEXDriver::initialize()
 {
-
-  m_numberOfEvents = 1;
-
   ATH_CHECK( m_eFEXSysSimTool.retrieve() );
 
   ATH_CHECK( m_eFEXOutputCollectionSGKey.initialize() );
@@ -77,9 +47,6 @@ StatusCode eFEXDriver::finalize()
 
   StatusCode eFEXDriver::execute(/*const EventContext& ctx*/) //const
 {
-
-  ATH_MSG_DEBUG("Executing " << name() << ", processing event number " << m_numberOfEvents );
-
   // STEP 1 - Set up the eFEXSysSim
   m_eFEXSysSimTool->init();
 
@@ -98,10 +65,6 @@ StatusCode eFEXDriver::finalize()
   SG::WriteHandle<LVL1::eFEXOutputCollection> eFEXOutputCollectionSG(m_eFEXOutputCollectionSGKey);
   ATH_CHECK(eFEXOutputCollectionSG.record(std::move(local_eFEXOutputCollection)));
 
-  ATH_MSG_DEBUG("Executed " << name() << ", closing event number " << m_numberOfEvents );
-
-  m_numberOfEvents++;
-
   return StatusCode::SUCCESS;
 }
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGA.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGA.cxx
index d7dbceeadbfc03a3031be847e3d85cc60276fd1c..44f9478ec264a8f387d133007274d16ddc5f4f31 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGA.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGA.cxx
@@ -15,19 +15,8 @@
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
 #include "L1CaloFEXSim/eFEXtauAlgo.h"
 #include "L1CaloFEXSim/eFEXtauTOB.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/ISvcLocator.h"
-#include "GaudiKernel/ITHistSvc.h"
 #include <vector>
-#include "TH1F.h"
-#include "StoreGate/WriteHandle.h"
 #include "StoreGate/ReadHandle.h"
-#include "SGTools/TestStore.h"
 #include "TrigConfData/L1Menu.h"
 #include <unordered_map>
 
@@ -502,7 +491,6 @@ std::vector<std::unique_ptr<eFEXtauTOB>> eFEXFPGA::getTauTOBs(std::vector< std::
 
   // This copy seems to be needed - it won't let me pass m_tauTobOjects directly (to do with being a class member?)
   std::vector<std::unique_ptr<eFEXtauTOB>> tobsSort;
-  tobsSort.clear();
   for(auto &j : tauTobObjects){
       tobsSort.push_back(std::move(j));
   }
@@ -607,4 +595,3 @@ void eFEXFPGA::SetIsoWP(std::vector<unsigned int> & CoreEnv, std::vector<unsigne
 }
 
 } // end of namespace bracket
-
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGATowerIdProvider.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGATowerIdProvider.cxx
index 117a80011d638b06e2d111d9eb300ef80e490d67..6421b77e39a20d2b4e44b0ca9c634ea0c5763bd4 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGATowerIdProvider.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFPGATowerIdProvider.cxx
@@ -3,10 +3,8 @@
 */
 
 #include "L1CaloFEXSim/eFEXFPGATowerIdProvider.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
 #include <iostream>
 #include <fstream>
-#include <sstream>
 #include <algorithm>
 #include <string>
 #include "PathResolver/PathResolver.h"
@@ -40,7 +38,7 @@ LVL1::eFEXFPGATowerIdProvider::~eFEXFPGATowerIdProvider()
   m_hascsvfile = false;
 }
 
-StatusCode LVL1::eFEXFPGATowerIdProvider::setAddress(std::string inputaddress) 
+StatusCode LVL1::eFEXFPGATowerIdProvider::setAddress(const std::string& inputaddress) 
 {
   if (inputaddress.empty()) {
     m_hascsvfile = false;
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFillEDM.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFillEDM.cxx
index 6dfe3ac2843a94034501238f10b66e5b489700f3..b5aac998981380ecb61e8a38328b6055bc6157e7 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFillEDM.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFillEDM.cxx
@@ -42,7 +42,7 @@ namespace LVL1 {
     return StatusCode::SUCCESS;
   }
   
-  void eFEXFillEDM::fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFexNum, const std::unique_ptr<eFEXegTOB>& tobObject, bool xTOB)
+  void eFEXFillEDM::fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFexNum, const std::unique_ptr<eFEXegTOB>& tobObject, bool xTOB) const
   {   
     // Create the object and fill it
     xAOD::eFexEMRoI* myEmEDM = new xAOD::eFexEMRoI();    
@@ -70,9 +70,8 @@ namespace LVL1 {
 
   }
 
-  void eFEXFillEDM::fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFexNum, const std::unique_ptr<eFEXtauTOB>& tobObject, bool xTOB)
+  void eFEXFillEDM::fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFexNum, const std::unique_ptr<eFEXtauTOB>& tobObject, bool xTOB) const
   {
-
     // Create the object and fill it:
     xAOD::eFexTauRoI* myTauEDM = new xAOD::eFexTauRoI();
     container->push_back(myTauEDM);
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFormTOBs.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFormTOBs.cxx
index 31de87ab3c31bec8e0abff32b2c2f92d81474ec4..06d8a6a849acb43a4ba62d7fd2be11785b8ae9d9 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFormTOBs.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXFormTOBs.cxx
@@ -31,7 +31,7 @@ StatusCode eFEXFormTOBs::initialize()
   return StatusCode::SUCCESS;
 }
 
-uint32_t eFEXFormTOBs::doFormTauTOBWord(int fpga, int eta, int phi, unsigned int et, unsigned int rhad, unsigned int rcore, unsigned int seed, unsigned int und, unsigned int ptMinTopo, unsigned int algoVersion)
+uint32_t eFEXFormTOBs::doFormTauTOBWord(int fpga, int eta, int phi, unsigned int et, unsigned int rhad, unsigned int rcore, unsigned int seed, unsigned int und, unsigned int ptMinTopo, unsigned int algoVersion) const
 {
 
   uint32_t tobWord = 0;
@@ -52,21 +52,21 @@ uint32_t eFEXFormTOBs::doFormTauTOBWord(int fpga, int eta, int phi, unsigned int
   return tobWord;
 }
 
-uint32_t eFEXFormTOBs::formTauTOBWord(int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & rcore, unsigned int & seed, unsigned int & und, unsigned int & ptMinTopo)
+uint32_t eFEXFormTOBs::formTauTOBWord(int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & rcore, unsigned int & seed, unsigned int & und, unsigned int & ptMinTopo) const
 {
   uint32_t tobWord = doFormTauTOBWord(fpga, eta, phi, et, rhad, rcore, seed, und, ptMinTopo, 0);
   ATH_MSG_DEBUG("Tau tobword: " << std::bitset<32>(tobWord) );
   return tobWord;
 }
 
-uint32_t eFEXFormTOBs::formTauBDTTOBWord(int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & bdtCondition, unsigned int & ptMinTopo)
+uint32_t eFEXFormTOBs::formTauBDTTOBWord(int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & bdtCondition, unsigned int & ptMinTopo) const
 {
   uint32_t tobWord = doFormTauTOBWord(fpga, eta, phi, et, rhad, bdtCondition, 0, 0, ptMinTopo, 1);
   ATH_MSG_DEBUG("Tau BDT tobword: " << std::bitset<32>(tobWord) );
   return tobWord;
 }
 
-std::vector<uint32_t>  eFEXFormTOBs::doFormTauxTOBWords(int efexid, int fpga, int eta, int phi, unsigned int et, unsigned int rhad, unsigned int rcore, unsigned int seed, unsigned int und, unsigned int ptMinTopo, unsigned int algoVersion)
+std::vector<uint32_t>  eFEXFormTOBs::doFormTauxTOBWords(int efexid, int fpga, int eta, int phi, unsigned int et, unsigned int rhad, unsigned int rcore, unsigned int seed, unsigned int und, unsigned int ptMinTopo, unsigned int algoVersion) const
 {
 
   std::vector<uint32_t> tobWords = {0, 0};
@@ -90,7 +90,7 @@ std::vector<uint32_t>  eFEXFormTOBs::doFormTauxTOBWords(int efexid, int fpga, in
   return tobWords;
 }
 
-std::vector<uint32_t>  eFEXFormTOBs::formTauxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & rcore, unsigned int & seed, unsigned int & und, unsigned int & ptMinTopo)
+std::vector<uint32_t>  eFEXFormTOBs::formTauxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & rcore, unsigned int & seed, unsigned int & und, unsigned int & ptMinTopo) const
 {
   std::vector<uint32_t> tobWords = doFormTauxTOBWords(efexid, fpga, eta, phi, et, rhad, rcore, seed, und, ptMinTopo, 0);
 
@@ -99,7 +99,7 @@ std::vector<uint32_t>  eFEXFormTOBs::formTauxTOBWords(int & efexid, int & fpga,
   return tobWords;
 }
 
-std::vector<uint32_t>  eFEXFormTOBs::formTauBDTxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & bdtCondition, unsigned int & ptMinTopo, unsigned int & bdtScore)
+std::vector<uint32_t>  eFEXFormTOBs::formTauBDTxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & et, unsigned int & rhad, unsigned int & bdtCondition, unsigned int & ptMinTopo, unsigned int & bdtScore) const
 {
   std::vector<uint32_t> tobWords = doFormTauxTOBWords(efexid, fpga, eta, phi, et, rhad, bdtCondition, 0, 0, ptMinTopo, 1);
   if ( (tobWords[0] > 0) or (tobWords[1] > 0) ) {
@@ -111,7 +111,7 @@ std::vector<uint32_t>  eFEXFormTOBs::formTauBDTxTOBWords(int & efexid, int & fpg
   return tobWords;
 }
 
-uint32_t eFEXFormTOBs::formEmTOBWord(int & fpga, int & eta, int & phi, unsigned int & rhad, unsigned int & wstot, unsigned int & reta, unsigned int & seed, unsigned int & und, unsigned int & et, unsigned int & ptMinTopo)
+uint32_t eFEXFormTOBs::formEmTOBWord(int & fpga, int & eta, int & phi, unsigned int & rhad, unsigned int & wstot, unsigned int & reta, unsigned int & seed, unsigned int & und, unsigned int & et, unsigned int & ptMinTopo) const
 {
   uint32_t tobWord = 0;
 
@@ -134,7 +134,7 @@ uint32_t eFEXFormTOBs::formEmTOBWord(int & fpga, int & eta, int & phi, unsigned
 }
 
 
-std::vector<uint32_t> eFEXFormTOBs::formEmxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & rhad, unsigned int & wstot, unsigned int & reta, unsigned int & seed, unsigned int & und, unsigned int & et, unsigned int & ptMinTopo)
+std::vector<uint32_t> eFEXFormTOBs::formEmxTOBWords(int & efexid, int & fpga, int & eta, int & phi, unsigned int & rhad, unsigned int & wstot, unsigned int & reta, unsigned int & seed, unsigned int & und, unsigned int & et, unsigned int & ptMinTopo) const
 {
   std::vector<uint32_t> tobWords = {0, 0};
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXOutputCollection.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXOutputCollection.cxx
index 7a63f5f6295c270329259583e6c58026e73b4d00..70e59f120ba3399a3220949207ba84f64a725e9a 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXOutputCollection.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXOutputCollection.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
@@ -30,12 +30,12 @@ void LVL1::eFEXOutputCollection::clear()
   m_emtob.clear();
 }
 
-void LVL1::eFEXOutputCollection::addValue_eg(std::string key, float value)
+void LVL1::eFEXOutputCollection::addValue_eg(const std::string& key, float value)
 {
   m_values_tem_eg.insert(std::make_pair(key, value));
 }
 
-void LVL1::eFEXOutputCollection::addValue_tau(std::string key, float value)
+void LVL1::eFEXOutputCollection::addValue_tau(const std::string& key, float value)
 {
   m_values_tem_tau.insert(std::make_pair(key, value));
 }
@@ -101,4 +101,4 @@ void LVL1::eFEXOutputCollection::setdooutput(bool input) {
 
 bool LVL1::eFEXOutputCollection::getdooutput() const {
   return m_dooutput;
-}
\ No newline at end of file
+}
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSim.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSim.cxx
index 3c0d5c54fad991e4e86c02397c7cc2aae2f5a5d2..4492f17fedfc3ae7a1915faaedcf6118b748f44d 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSim.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSim.cxx
@@ -13,12 +13,6 @@
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eFEXFPGA.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "GaudiKernel/ServiceHandle.h"
 
 namespace LVL1 {
 
@@ -47,7 +41,6 @@ namespace LVL1 {
 
   void eFEXSim::reset()
   {
-
     int rows = sizeof m_eTowersIDs / sizeof m_eTowersIDs[0];
     int cols = sizeof m_eTowersIDs[0] / sizeof m_eTowersIDs[0][0];
 
@@ -159,7 +152,6 @@ std::vector<std::unique_ptr<eFEXegTOB>> eFEXSim::getEmTOBs()
 {
 
   std::vector<std::unique_ptr<eFEXegTOB>> tobsSort;
-  tobsSort.clear();
   //bool first = true;
 
   // concatonate tobs from the fpgas
@@ -189,7 +181,6 @@ std::vector<std::unique_ptr<eFEXtauTOB>> eFEXSim::getTauTOBs(std::vector<std::ve
 {
 
   std::vector<std::unique_ptr<eFEXtauTOB>> tobsSort;
-  tobsSort.clear();
 
   // concatenate tobs from the fpgas
   // As we're using unique_ptrs here we have to move rather than copy
@@ -273,4 +264,3 @@ void eFEXSim::SetTowersAndCells_SG(int tmp_eTowersIDs_subset[10][18]){ // METHOD
 }
 
 } // end of namespace bracket
-
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSuperCellTowerIdProvider.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSuperCellTowerIdProvider.cxx
index 0b01abe6c51700cadb3233a8b4775d874ce1df35..562b6be6cda7aab44d6a5ed41541cebb7d4717cd 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSuperCellTowerIdProvider.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSuperCellTowerIdProvider.cxx
@@ -1,12 +1,10 @@
 /*
-   Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+   Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "L1CaloFEXSim/eFEXSuperCellTowerIdProvider.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
 #include <iostream>
 #include <fstream>
-#include <sstream>
 #include <string>
 #include "PathResolver/PathResolver.h"
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSysSim.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSysSim.cxx
index bf5f1dc8b4f32e19dcb3ff23553c32e07d9c23d3..7b00692ae6e1b83b6fcdd966cbdaa6fb794aeea9 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSysSim.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXSysSim.cxx
@@ -14,13 +14,9 @@
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eFEXTOBxTOBMatching.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 
 #include "StoreGate/WriteHandle.h"
 #include "StoreGate/ReadHandle.h"
-#include "GaudiKernel/ServiceHandle.h"
 
 #include "xAODTrigger/eFexEMRoI.h"
 #include "xAODTrigger/eFexEMRoIContainer.h"
@@ -30,7 +26,6 @@
 #include "xAODTrigger/eFexTauRoIContainer.h"
 #include "xAODTrigger/eFexTauRoIAuxContainer.h"
 
-#include <ctime>
 
 namespace LVL1 {
   
@@ -89,15 +84,12 @@ namespace LVL1 {
   void eFEXSysSim::cleanup()  {
 
     m_eFEXCollection.clear();
-    //m_eTowersColl.clear();
-
   }
 
 
-  int eFEXSysSim::calcTowerID(int eta, int phi, int mod)  {
+  int eFEXSysSim::calcTowerID(int eta, int phi, int mod) const {
 
     return ((64*eta) + phi + mod);
-
   }
 
   StatusCode eFEXSysSim::execute(eFEXOutputCollection* inputOutputCollection)  {    
@@ -531,5 +523,3 @@ namespace LVL1 {
 
   }
 } // end of namespace bracket
-
-
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXTOBEtTool.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXTOBEtTool.cxx
index a1f3959f3d8a3ea6ede2f1711605f3a9f849d078..d9feaf5c7a4401be4559d9731f95be2795b21d3a 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXTOBEtTool.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXTOBEtTool.cxx
@@ -11,13 +11,7 @@
 #include "L1CaloFEXSim/eFEXTOBEtTool.h"
 #include "L1CaloFEXSim/eFEXegAlgo.h"
 #include "L1CaloFEXSim/eFEXtauAlgo.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/ISvcLocator.h"
-#include "GaudiKernel/ITHistSvc.h"
 #include <vector>
-#include "StoreGate/ReadHandle.h"
 
 namespace LVL1 {
 
@@ -135,7 +129,7 @@ StatusCode eFEXTOBEtTool::gettauSums(float etaTOB, float phiTOB, int seed, int U
 
 
 // Find eTower ID from a floating point coordinate pair
-unsigned int eFEXTOBEtTool::eTowerID(float eta, float phi) 
+unsigned int eFEXTOBEtTool::eTowerID(float eta, float phi) const
 {
   // Calculate ID by hand from coordinate
   int posneg = (eta >= 0 ? 1 : -1);
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXegAlgo.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXegAlgo.cxx
index 4fdb8758d2d0ebe01eccd050ce58fc874e1f4ebb..3c267d8764ea9672ca0f2168088454e72dd83432 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXegAlgo.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXegAlgo.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***************************************************************************
@@ -8,7 +8,6 @@
 //     begin                : 24 02 2020
 //     email                : antonio.jacques.costa@cern.ch ulla.blumenschein@cern.ch tong.qiu@cern.ch
 //  ***************************************************************************/
-#include <iostream>
 #include <vector>
 
 #include "L1CaloFEXSim/eFEXegAlgo.h"
@@ -16,11 +15,6 @@
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eTower.h"
 
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "StoreGate/StoreGateSvc.h"
 
 namespace LVL1 {
 
@@ -78,13 +72,12 @@ void eFEXegAlgo::setup(int inputTable[3][3], int efex_id, int fpga_id, int centr
 
 }
 
-void LVL1::eFEXegAlgo::getCoreEMTowerET(unsigned int & et) { 
+void LVL1::eFEXegAlgo::getCoreEMTowerET(unsigned int & et) {
 
   SG::ReadHandle<eTowerContainer> eTowerContainer(m_eTowerContainerKey/*,ctx*/);
   
   const LVL1::eTower * tmpTower = eTowerContainer->findTower(m_eFEXegAlgoTowerID[1][1]);
   et = tmpTower->getLayerTotalET(0) + tmpTower->getLayerTotalET(1) + tmpTower->getLayerTotalET(2) + tmpTower->getLayerTotalET(3);
-
 }
 
 void LVL1::eFEXegAlgo::getCoreHADTowerET(unsigned int & et) { 
@@ -93,7 +86,6 @@ void LVL1::eFEXegAlgo::getCoreHADTowerET(unsigned int & et) {
 
   const LVL1::eTower * tmpTower = eTowerContainer->findTower(m_eFEXegAlgoTowerID[1][1]);
   et = tmpTower->getLayerTotalET(4);
-
 }
 
 void LVL1::eFEXegAlgo::getRealPhi(float & phi) {
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauAlgoBase.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauAlgoBase.cxx
index 2637b3d76c4d7eeda464c78c858553d489baa71c..cbbf4a4d29bc82773504bfca64c432eb6c13d05c 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauAlgoBase.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauAlgoBase.cxx
@@ -33,17 +33,6 @@ StatusCode LVL1::eFEXtauAlgoBase::safetyTest() {
   return StatusCode::SUCCESS;
 }
 
-void LVL1::eFEXtauAlgoBase::setThresholds(
-    std::vector<unsigned int> rHadThreshold,
-    std::vector<unsigned int> bdtThreshold, unsigned int etThreshold,
-    unsigned int etThresholdForRHad) {
-  // Suppress unused parameter warning
-  (void)rHadThreshold;
-  (void)bdtThreshold;
-  (void)etThreshold;
-  (void)etThresholdForRHad;
-}
-
 // Build arrays holding cell ETs for each layer plus entire tower
 void LVL1::eFEXtauAlgoBase::buildLayers(int efex_id, int fpga_id,
                                         int central_eta) {
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauBDTAlgo.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauBDTAlgo.cxx
index 24219b1aa0bbb39e449dab9109f2217c7ea5d53a..3559f71f098fe26bc4b7c40f9fc9bb3ccb2ceebd 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauBDTAlgo.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFEXtauBDTAlgo.cxx
@@ -149,10 +149,10 @@ unsigned int LVL1::eFEXtauBDTAlgo::getBDTCondition() const {
 
 bool LVL1::eFEXtauBDTAlgo::isBDT() const { return true; }
 
-void LVL1::eFEXtauBDTAlgo::setThresholds(
-    std::vector<unsigned int> rHadThreshold,
-    std::vector<unsigned int> bdtThreshold, unsigned int etThreshold,
-    unsigned int etThresholdForRHad) {
+void LVL1::eFEXtauBDTAlgo::setThresholds(const std::vector<unsigned int>& rHadThreshold,
+					 const std::vector<unsigned int>& bdtThreshold,
+					 unsigned int etThreshold,
+					 unsigned int etThresholdForRHad) {
   for (int i = 0; i < 3; i++) {
     m_hadFracMultipliers[i] = rHadThreshold[i];
     m_bdtThresholds[i] = bdtThreshold[i];
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFakeTower.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFakeTower.cxx
index b78aa1102d11ed5a09a9c4e2e3e336d53aa37168..9f03793fe394c69f34089def241231de229e6a03 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFakeTower.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eFakeTower.cxx
@@ -5,7 +5,6 @@
 #include "L1CaloFEXSim/eFakeTower.h"
 #include <iostream>
 #include <fstream>
-#include <sstream>
 
 // draft code to load the test vector from the online simulation.
 // Each input file contains the ETs of all supercells in an FPGA.
@@ -242,6 +241,6 @@ std::vector<int>* LVL1::eFakeTower::loadBlock(std::string inputfile, int eventnu
   return output;
 }
 
-int LVL1::eFakeTower::getFPGAnumber(int iefex, int ifpga) {
+int LVL1::eFakeTower::getFPGAnumber(int iefex, int ifpga) const {
   return iefex * 10 + ifpga;
 }
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eSuperCellTowerMapper.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eSuperCellTowerMapper.cxx
index 6e54c85588f915848df948f4fc57a38e14e34f0f..1d9323cc38da21726bb1b83a3b0ef479e16719b2 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eSuperCellTowerMapper.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eSuperCellTowerMapper.cxx
@@ -10,11 +10,6 @@
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eTowerBuilder.h"
-#include "TROOT.h"
-#include "TH1.h"
-#include "TH1F.h"
-#include "TPad.h"
-#include "TCanvas.h"
 #include "L1CaloFEXSim/eSuperCellTowerMapper.h"
 #include "GaudiKernel/MsgStream.h"
 #include "AthenaKernel/errorcheck.h"
@@ -844,7 +839,7 @@ int eSuperCellTowerMapper::FindTowerIDForSuperCell(int towereta, int towerphi)
   return;
 }
 
-std::string eSuperCellTowerMapper::DectectorName(const CaloSampling::CaloSample sample){
+std::string eSuperCellTowerMapper::DectectorName(const CaloSampling::CaloSample sample) const {
     std::string sampleName ="";
     switch (sample) {
         case CaloSampling::PreSamplerB: { sampleName = "PreSamplerB";   break; }
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTower.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTower.cxx
index 2f277b45e6008e15aab9a7f0774a4096133252a7..a49045ca2470d38ea7601b64b38360105bcf16c2 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTower.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTower.cxx
@@ -11,9 +11,6 @@
 
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eFEXCompression.h"
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
 #include <cmath>
 
 
@@ -334,4 +331,3 @@ namespace LVL1 {
 
   
 } // end of namespace bracket
-
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerBuilder.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerBuilder.cxx
index dd59819cbbd555740d9866ce5bc6296c49ce0801..218bbff2aa39abafe664c11ee84c900a1206625b 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerBuilder.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerBuilder.cxx
@@ -3,15 +3,10 @@
 */
 
 
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
 
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerBuilder.h"
-
 #include "L1CaloFEXSim/eTowerContainer.h"
 
 // TOWER IS A COLLECTION OF SUPER CELLS
@@ -159,10 +154,7 @@ void eTowerBuilder::BuildTRANSeTowers(std::unique_ptr<eTowerContainer> & eTowerC
 
 void eTowerBuilder::BuildSingleTower(std::unique_ptr<eTowerContainer> & eTowerContainerRaw,float eta, float phi, float keybase, int posneg) const
 {
-
   eTowerContainerRaw->push_back(eta, phi, keybase, posneg);
-
-
 }
 
 void eTowerBuilder::BuildAllTowers(std::unique_ptr<eTowerContainer> & eTowerContainerRaw) const
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
index b8d44aa8728a7277d2e8b97fbcf53e9ce90b2092..31e332ef085ac2b4600ffc0ebc7e0677983bcddd 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 // Code stolen shamelessly from Calorimeter/CaloEvent/src/CaloCellContainer.cxx and modified
@@ -7,8 +7,6 @@
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eTower.h"
 #include "AthenaKernel/errorcheck.h"
-#include "CLHEP/Geometry/Vector3D.h"
-#include <atomic>
 
 namespace LVL1{
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.cxx
index 7b3696e2111294a180c6e5ad77d5f9874b5f27af..08fe1db227703486405cb83e03ec94fd0d371cd4 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.cxx
@@ -2,15 +2,8 @@
     Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
-
-#undef NDEBUG
-
 #include "xAODTrigL1Calo/eFexTowerContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
-#include "xAODEventInfo/EventInfo.h"
 
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerBuilder.h"
@@ -21,17 +14,6 @@
 #include "StoreGate/WriteHandle.h"
 #include "StoreGate/ReadHandle.h"
 
-#include <cassert>
-#include "SGTools/TestStore.h"
-
-#include <ctime>
-
-
-#include <iostream>
-#include <fstream>
-
-#define DEBUG_VHB 1
-
 
 namespace LVL1 {
 
@@ -44,9 +26,6 @@ namespace LVL1 {
 
 StatusCode eTowerMakerFromEfexTowers::initialize()
 {
-
-  m_numberOfEvents = 1;
-
   ATH_CHECK( m_eTowerBuilderTool.retrieve() );
   ATH_CHECK( m_eFexTowerContainerSGKey.initialize() );
   ATH_CHECK( m_eFexTowerContainer2SGKey.initialize(SG::AllowEmpty) );
@@ -65,9 +44,6 @@ StatusCode eTowerMakerFromEfexTowers::initialize()
 
   StatusCode eTowerMakerFromEfexTowers::execute(/*const EventContext& ctx*/) //const
 {
-  ATH_MSG_DEBUG("Executing " << name() << ", processing event number " << m_numberOfEvents );
-
-
   // load noise cuts .. should really only need to do this at start of runs, not every event!
   std::map<std::pair<int, int>, int> noiseCutsMap; // key is [eta,layer]
   if(!m_noiseCutsKey.empty()) {
@@ -145,10 +121,6 @@ StatusCode eTowerMakerFromEfexTowers::initialize()
   // STEP 4 - Close and clean the event
   m_eTowerBuilderTool->reset();
 
-  ATH_MSG_DEBUG("Executed " << name() << ", closing event number " << m_numberOfEvents );
-
-  m_numberOfEvents++;
-
   return StatusCode::SUCCESS;
 }
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.h
index 4604f76c38da1a0d77ceb55cbee84df894a5d7da..eff14e452eccc5076358a5d76d98c909ffeb839c 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromEfexTowers.h
@@ -9,14 +9,12 @@
 #include <string>
 
 // Athena/Gaudi
-#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+//#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "xAODTrigL1Calo/eFexTowerContainer.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 
-class CaloIdManager;
-
 namespace LVL1 {
 
 class eTowerMakerFromEfexTowers : public AthAlgorithm
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromSuperCells.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromSuperCells.cxx
index 705ddaf6452f585c991584541732fa94079c6838..4c00f9b64c7ffc04b126c4ef7f38d444d9102a41 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromSuperCells.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerMakerFromSuperCells.cxx
@@ -1,37 +1,20 @@
 /*
-    Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+    Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 
-#undef NDEBUG
-
-#include "CaloEvent/CaloCellContainer.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
-
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
 
 #include "L1CaloFEXSim/eTower.h"
 #include "L1CaloFEXSim/eTowerBuilder.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eTowerMakerFromSuperCells.h"
-
 #include "L1CaloFEXSim/eSuperCellTowerMapper.h"
 
 #include "StoreGate/WriteHandle.h"
-#include "StoreGate/ReadHandle.h"
-
-#include <cassert>
-#include "SGTools/TestStore.h"
-
-#include <ctime>
 
-#include <iostream>
 #include <fstream>
 
-#define DEBUG_VHB 1
-
-
 namespace LVL1 {
 
   eTowerMakerFromSuperCells::eTowerMakerFromSuperCells(const std::string& name, ISvcLocator* pSvcLocator)
@@ -43,9 +26,6 @@ namespace LVL1 {
 
 StatusCode eTowerMakerFromSuperCells::initialize()
 {
-
-  m_numberOfEvents = 1;
-
   ATH_CHECK( m_eTowerBuilderTool.retrieve() );
 
   ATH_CHECK( m_eSuperCellTowerMapperTool.retrieve() );
@@ -53,15 +33,11 @@ StatusCode eTowerMakerFromSuperCells::initialize()
   ATH_CHECK( m_eTowerContainerSGKey.initialize() );
 
   return StatusCode::SUCCESS;
-
 }
 
 
   StatusCode eTowerMakerFromSuperCells::execute(/*const EventContext& ctx*/) //const
 {
-
-  ATH_MSG_DEBUG("Executing " << name() << ", processing event number " << m_numberOfEvents );
-
   // STEP 0 - Make a fresh local eTowerContainer
   std::unique_ptr<eTowerContainer> local_eTowerContainerRaw = std::make_unique<eTowerContainer>();
 
@@ -76,7 +52,7 @@ StatusCode eTowerMakerFromSuperCells::initialize()
 
   // STEP 2.5 - Set up a the first CSV file if necessary (should only need to be done if the mapping changes, which should never happen unless major changes to the simulation are required)
   if(false){ // CSV CODE TO BE RE-INTRODUCED VERY SOON
-    if(m_numberOfEvents == 1){
+    //if (first event){
       std::ofstream sc_tower_map;
       sc_tower_map.open("./sc_tower_map.csv");
       sc_tower_map << "#eTowerID,scID,slot,isSplit" << "\n";
@@ -93,9 +69,8 @@ StatusCode eTowerMakerFromSuperCells::initialize()
         }
       }
       sc_tower_map.close();
-      
-    }
   }
+  
 
   // STEP 3 - Write the completed eTowerContainer into StoreGate (move the local copy in memory)
   SG::WriteHandle<LVL1::eTowerContainer> eTowerContainerSG(m_eTowerContainerSGKey/*, ctx*/);
@@ -105,13 +80,8 @@ StatusCode eTowerMakerFromSuperCells::initialize()
   m_eSuperCellTowerMapperTool->reset();
   m_eTowerBuilderTool->reset();
 
-  ATH_MSG_DEBUG("Executed " << name() << ", closing event number " << m_numberOfEvents );
-
-  m_numberOfEvents++;
-
   return StatusCode::SUCCESS;
 }
 
-  
 
 } // end of LVL1 namespace
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGA.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGA.h
index 3bb843a55f488cb28cdfa22430295c6815024b7e..c5d386b707d079ebf9213a6780b0d434749f9256 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGA.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGA.h
@@ -37,7 +37,7 @@ Interface definition for eFEXFPGA
 
     virtual void reset() = 0;
 
-    virtual int getID() = 0;
+    virtual int getID() const = 0;
 
     virtual void SetTowersAndCells_SG(int [][6]) = 0;
     
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGATowerIdProvider.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGATowerIdProvider.h
index c925055f42b3c648932884e363e7e2b138fb4906..56f4949c5f6d1199bf34a95fd53622d434c3bf6e 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGATowerIdProvider.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFPGATowerIdProvider.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef IEFEXFPGATOWERIDPROVIDER_H
@@ -16,7 +16,7 @@ namespace LVL1 {
 
   public:
     static const InterfaceID& interfaceID() { return IID_IIeFEXFPGATowerIdProvider; };
-    virtual StatusCode setAddress(std::string) = 0;
+    virtual StatusCode setAddress(const std::string&) = 0;
     virtual StatusCode getRankedTowerIDinFPGA(int, int, int(&)[10][6]) const = 0;
     virtual StatusCode getRankedTowerIDineFEX(int, int(&)[10][18]) const = 0;
     virtual bool ifhaveinputfile() const = 0;
@@ -29,4 +29,4 @@ namespace LVL1 {
   };  
 }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFillEDM.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFillEDM.h
index 680ba04b1875e3d1759fb194b5e9b833898e5182..2b711f7535a2f9e1bb69ee84beda052380f41367 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFillEDM.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFillEDM.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***************************************************************************
@@ -35,8 +35,8 @@ Interface definition for eFEXFillEDM
     virtual StatusCode initialize() = 0;
     virtual StatusCode finalize() = 0;
     virtual StatusCode execute() = 0;
-    virtual void fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXegTOB>& tobObject, bool xTOB=false) = 0;
-    virtual void fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXtauTOB>& tobObject, bool xTOB=false) = 0;
+    virtual void fillEmEDM(std::unique_ptr<xAOD::eFexEMRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXegTOB>& tobObject, bool xTOB=false) const = 0;
+    virtual void fillTauEDM(std::unique_ptr<xAOD::eFexTauRoIContainer> &container, uint8_t eFEXNumber, const std::unique_ptr<eFEXtauTOB>& tobObject, bool xTOB=false) const = 0;
 
   private:
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFormTOBs.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFormTOBs.h
index 96b5e4b8ec2b8ad4e4c4b8768e9c29d4a895f8d8..23a10d19226762e8ceba33aad55390705cfda6f6 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFormTOBs.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXFormTOBs.h
@@ -26,14 +26,14 @@ Interface definition for eFEXFormTOBs
   public:
     static const InterfaceID& interfaceID( ) ;
 
-    virtual uint32_t formTauTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
-    virtual std::vector<uint32_t> formTauxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
+    virtual uint32_t formTauTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
+    virtual std::vector<uint32_t> formTauxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
 
-    virtual uint32_t formTauBDTTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
-    virtual std::vector<uint32_t> formTauBDTxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
+    virtual uint32_t formTauBDTTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
+    virtual std::vector<uint32_t> formTauBDTxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
 
-    virtual uint32_t formEmTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
-    virtual std::vector<uint32_t> formEmxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) = 0;
+    virtual uint32_t formEmTOBWord(int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
+    virtual std::vector<uint32_t> formEmxTOBWords(int &, int &, int &, int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &, unsigned int &) const = 0;
 
   private:
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSim.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSim.h
index 39112bd59c46b95083970afeb016b34333ea5a3c..196d21b9f004bd77e8cdc06bad060802253950c0 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSim.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSim.h
@@ -37,7 +37,7 @@ Interface definition for eFEXSim
     virtual void reset() = 0;
 
     virtual void execute() = 0;
-    virtual int ID() = 0;
+    virtual int ID() const = 0;
     virtual void SetTowersAndCells_SG(int tmp[10][18]) = 0;
 
     virtual StatusCode NewExecute(int tmp[10][18], eFEXOutputCollection* inputOutputCollection) = 0;
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSysSim.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSysSim.h
index c30dfb576c4ea546a9c78a83862d4311da84c801..0379668e2a35371dc12c0295dba07ee336143af9 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSysSim.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXSysSim.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
 //***************************************************************************
@@ -15,8 +15,6 @@
 #include "GaudiKernel/IAlgTool.h"
 #include "L1CaloFEXSim/eTowerContainer.h"
 #include "L1CaloFEXSim/eFEXOutputCollection.h"
-#include "CaloIdentifier/CaloIdManager.h"
-#include "CaloEvent/CaloCellContainer.h"
 
 namespace LVL1 {
   
@@ -36,7 +34,7 @@ Interface definition for eFEXSysSim
 
     virtual void cleanup() = 0;
 
-    virtual int calcTowerID(int eta, int phi, int mod) = 0 ;
+    virtual int calcTowerID(int eta, int phi, int mod) const = 0 ;
 
   private:
 
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXTOBEtTool.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXTOBEtTool.h
index c8c3a55b491dbbe37b7a727dd698c7df99f321f7..3d6712942a7126072a07bed74f3e7d24950ae094 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXTOBEtTool.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXTOBEtTool.h
@@ -41,7 +41,7 @@ Interface definition for eFEXTOBEtTool
                                    std::vector<unsigned int> &RemSums) = 0;
 
     /** Tool to find eTower identifier from an eta, phi coordinate pair */
-    virtual unsigned int eTowerID(float eta, float phi) = 0;
+    virtual unsigned int eTowerID(float eta, float phi) const = 0;
 
     /** Tool to find eFEX and FPGA numbers and eta index of a TOB within the FPGA */
     virtual void location(float etaTOB, float phiTOB, int& eFEX, int& FPGA, int& fpgaEta) = 0;
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXtauAlgo.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXtauAlgo.h
index 27f58a50683456402c930a387330300bff4f5fff..f29611b2c23c155525fcd4ad8c00b0c883b79b73 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXtauAlgo.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXToolInterfaces/L1CaloFEXToolInterfaces/IeFEXtauAlgo.h
@@ -51,7 +51,7 @@ Interface definition for eFEXtauAlgo
     virtual unsigned int getBDTScore() const = 0;
     virtual unsigned int getBDTCondition() const = 0;
     virtual bool isBDT() const = 0;
-    virtual void setThresholds(std::vector<unsigned int> rHadThreshold, std::vector<unsigned int> bdtThreshold, unsigned int etThreshold, unsigned int etThresholdForRHad) = 0;
+    virtual void setThresholds(const std::vector<unsigned int>& rHadThreshold, const std::vector<unsigned int>& bdtThreshold, unsigned int etThreshold, unsigned int etThresholdForRHad) = 0;
 
   private: