diff --git a/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx b/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx
index 57d776ca4fc61876d47579d2bd3f4f377a08db1c..2a54bcc5da3d8a5b0f908172b2799d43f1228b39 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/ComboHypo.cxx
@@ -230,7 +230,7 @@ StatusCode ComboHypo::execute(const EventContext& context ) const {
       // Finally, the same behaviour may also be triggered by the HypoAlg adding an an int32_t decoration called "noCombo" with value 1
       // to the Decision Object.
 
-      for (const ElementLink<DecisionContainer>& dEL : it->second){
+      for (const ElementLink<DecisionContainer> dEL : it->second){
         uint32_t featureKey = 0, roiKey = 0; // The container hash of the DecisionObject's most-recent feature, and its initial ROI
         uint16_t featureIndex = 0, roiIndex = 0; // The container index of the DecisionObject's most-recent feature, and its initial ROI
         bool roiIsFullscan = false; // Will be set to true if the DecisionObject's initial ROI is flagged as FullScan
@@ -510,7 +510,7 @@ StatusCode ComboHypo::fillDecisionsMap( Combo::LegDecisionsMap &  dmap, const Ev
       ATH_MSG_DEBUG("leg ["<<legCount<<"]: ");
       const ElementLinkVector<DecisionContainer>& decisions = entry.second;
       ATH_MSG_DEBUG(" ++++ " << HLT::Identifier( entry.first ) <<" Number Decisions: "<< decisions.size());
-      for (const ElementLink<DecisionContainer>& d : decisions){
+      for (const ElementLink<DecisionContainer> d : decisions){
         ATH_MSG_DEBUG("     Decision: (ContainerKey:"<<d.dataID()<<", DecisionElementIndex:"<<d.index()<<")");
       }
       legCount++;
diff --git a/Trigger/TrigSteer/DecisionHandling/src/ComboHypoToolBase.cxx b/Trigger/TrigSteer/DecisionHandling/src/ComboHypoToolBase.cxx
index efc062e09dce5893fb68b6aecb6cb90941ba4c6b..19fb6d792cde8e6f276eedd2e7cb5d216830c86e 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/ComboHypoToolBase.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/ComboHypoToolBase.cxx
@@ -192,7 +192,7 @@ StatusCode ComboHypoToolBase::selectLegs(const Combo::LegDecisionsMap& IDCombMap
     const Combo::LegDecisionsMap::const_iterator it = IDCombMap.find(legIdentifier.numeric());
 
     if (it != IDCombMap.end()) {
-      for (const ElementLink<DecisionContainer>& el : it->second) {
+      for (const ElementLink<DecisionContainer> el : it->second) {
         decisionObjectsOnLeg.emplace_back(legIdentifier, el);
       }
     }
diff --git a/Trigger/TrigSteer/DecisionHandling/src/HypoBase.cxx b/Trigger/TrigSteer/DecisionHandling/src/HypoBase.cxx
index 7761ac9a0cdd2dc4ad225c0c11b305e157919610..2c586871882692db62d2ea50096984fc334f8268 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/HypoBase.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/HypoBase.cxx
@@ -112,7 +112,7 @@ StatusCode HypoBase::recursiveValidateGraph(const ElementLink<DecisionContainer>
 
   // Continue upstream
   const ElementLinkVector<DecisionContainer> seeds = (*dEL)->objectCollectionLinks<DecisionContainer>(seedString());
-  for (const ElementLink<DecisionContainer>& seed : seeds) {
+  for (const ElementLink<DecisionContainer> seed : seeds) {
     if (fullyExploredFrom.count( (*seed) ) == 1) {
       continue; // Already fully explored from this seed and up
     }
@@ -186,7 +186,7 @@ StatusCode HypoBase::validateParentLinking(const ElementLink<DecisionContainer>&
     return StatusCode::FAILURE;
   }
 
-  for (const ElementLink<DecisionContainer>& seed : seeds) {
+  for (const ElementLink<DecisionContainer> seed : seeds) {
     if (expectedParentsPtr->count( (*seed)->name() ) == 0) {
       printErrorHeader(dEL, msg);
       msg << MSG::ERROR << "! Invalid linking from node with name '" << name << "' to one with name '"<< (*seed)->name() << "'." << endmsg;
@@ -258,7 +258,7 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d
   for (const DecisionID id : decisionIDSet) {
     // For each chain that I'm passing, check how many of my parents were also passing the chain
     size_t parentsWithDecision = 0;  
-    for (const ElementLink<DecisionContainer>& seed : seeds) {
+    for (const ElementLink<DecisionContainer> seed : seeds) {
       if ( not seed.isValid() ) {
         msg << MSG::ERROR << "Invalid seed element link in recursiveValidateGraph" << endmsg;
         return StatusCode::FAILURE;
@@ -288,7 +288,7 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d
       msg << MSG::ERROR << "! This Decision object is not respecting logical flow of DecisionIDs for chain: " << HLT::Identifier( id ) << endmsg;
       msg << MSG::ERROR << "! This chain's DecisionID can not be found in any parents of this Decision object:" << endmsg;
       size_t seed_n = 0;
-      for (const ElementLink<DecisionContainer>& seed : seeds) {
+      for (const ElementLink<DecisionContainer> seed : seeds) {
         msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg;
         msg << MSG::ERROR << "! " << **seed << endmsg;
         DecisionIDContainer objDecisions;      
@@ -313,7 +313,7 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d
       msg << MSG::ERROR << "! As this Decision object represents the output of a HypoAlg, it must respect logical flow on all " 
         << seeds.size() << " of its parent(s):" << endmsg;
       size_t seed_n = 0;
-      for (const ElementLink<DecisionContainer>& seed : seeds) {
+      for (const ElementLink<DecisionContainer> seed : seeds) {
         msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg;
         msg << MSG::ERROR << "! " << **seed << endmsg;
         DecisionIDContainer objDecisions;      
diff --git a/Trigger/TrigSteer/DecisionHandling/src/TestHypoTool.cxx b/Trigger/TrigSteer/DecisionHandling/src/TestHypoTool.cxx
index efec693c102f4051429d438af00644d58be52936..fee6154686c55459e6e305a1d9516121a4bc31eb 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/TestHypoTool.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/TestHypoTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 #include "TestHypoTool.h"
 #include "TrigCompositeUtils/HLTIdentifier.h"
@@ -37,7 +37,7 @@ namespace HLTTest {
       //get previous decisions
       ElementLinkVector<DecisionContainer> inputLinks = getLinkToPrevious(d);
       ATH_MSG_DEBUG("Decision "<< counter <<": Got "<<inputLinks.size()<<" input decisions");
-      for (const auto& previousDecisions: inputLinks){
+      for (const auto previousDecisions: inputLinks){
 
         TrigCompositeUtils::DecisionIDContainer objDecisions;      
         TrigCompositeUtils::decisionIDs( *previousDecisions, objDecisions );
diff --git a/Trigger/TrigSteer/DecisionHandling/src/TestInputMaker.cxx b/Trigger/TrigSteer/DecisionHandling/src/TestInputMaker.cxx
index 98bb57228a0d5582431b1404efbac6a2109a1c43..43d005b59b2cae870464e1ad0b242f599215b98d 100644
--- a/Trigger/TrigSteer/DecisionHandling/src/TestInputMaker.cxx
+++ b/Trigger/TrigSteer/DecisionHandling/src/TestInputMaker.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "TestInputMaker.h"
@@ -62,7 +62,7 @@ namespace HLTTest {
     for (const  auto outputDecision : *outputHandle){ 
       const ElementLinkVector<DecisionContainer> inputLinks = getLinkToPrevious(outputDecision);
       ATH_MSG_DEBUG("Element "<< count << " has " << inputLinks.size() <<" previous links");
-      for (const auto& input: inputLinks){
+      for (const auto input: inputLinks){
         ATH_MSG_DEBUG( " -- Got seed link to input  "<<input.dataID() <<" and index "<< input.index() );
         const Decision* inputDecision = *input;
         const auto roiELInfo = TrigCompositeUtils::findLink<TrigRoiDescriptorCollection>( inputDecision,  m_roisLink.value());