diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h
index 384c9bbc27c771f8d3ba817e2d2c04ee316380cf..abfcc899678a15476a2361d9adf49328d6830953 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h
@@ -27,6 +27,8 @@
 #include "CxxUtils/CachedValue.h"
 #include "AthLinks/tools/findInContainer.h"
 
+#include <unordered_map>
+
 namespace LVL1 {
 
 class eTowerContainer : public DataVector<LVL1::eTower>
@@ -74,7 +76,7 @@ class eTowerContainer : public DataVector<LVL1::eTower>
   IMessageSvc* msgSvc() const;
 
   //* @brief Keeps track of the towerID of each eTower associated to each MAP index *.
-  std::map<int,int> m_map_towerID_containerIndex;
+  std::unordered_map<int,int> m_map_towerID_containerIndex;
 };
 
 }
diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
index fa33867d63a1c01999f1a5821eecf6a43041a17f..e67927a06de78d4b2fa9b2774c16d67f1f3a7c2a 100644
--- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
+++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx
@@ -29,24 +29,24 @@ void eTowerContainer::print() const {
 }
 
 
-const LVL1::eTower * eTowerContainer::findTower(int towerID) const
-{
-  int container_index = -1;
-  container_index = m_map_towerID_containerIndex.find(towerID)->second;
-  if(container_index >= 0){
+const LVL1::eTower * eTowerContainer::findTower(int towerID) const{
+    const auto it = m_map_towerID_containerIndex.find(towerID);
+
+    const int container_index = it->second;
+    if (container_index < 0) {
+        return nullptr;
+    }
     return (*this)[container_index];
-  }
-  return nullptr;
 }
 
-LVL1::eTower * eTowerContainer::findTower(int towerID)
-{
-  int container_index = -1;
-  container_index = m_map_towerID_containerIndex.find(towerID)->second;
-  if(container_index >= 0){
+LVL1::eTower * eTowerContainer::findTower(int towerID){
+    const auto it = m_map_towerID_containerIndex.find(towerID);
+
+    const int container_index = it->second;
+    if (container_index < 0) {
+        return nullptr;
+    }
     return (*this)[container_index];
-  }
-  return nullptr;
 }
 
 void eTowerContainer::clearContainerMap()