diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx
index 421d8e0cee07858844661b18fb2946b172e8b878..6d529b49e0136ac28c0e2adb884f80774e35e55c 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.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
  *   */
 
 
@@ -168,7 +168,7 @@ StatusCode TrigEgammaEmulationTool::initialize() {
     ATH_MSG_INFO("Initialising trigMap...");
     auto trigList = m_trigList;
 
-    for(const auto trigName : trigList){
+    for(const auto& trigName : trigList){
       ATH_MSG_DEBUG("Trigger " << trigName <<" to TrigInfo");
       if(m_trigInfo.count(trigName) != 0){
       }else{
@@ -183,12 +183,12 @@ StatusCode TrigEgammaEmulationTool::initialize() {
 
 
     ATH_MSG_INFO("Supporting trigger before cleaner...");
-    for(const auto trigName:m_supportingTrigList){
+    for(const auto& trigName:m_supportingTrigList){
       ATH_MSG_INFO("    Suppot: " << trigName);
     }
 
     // All support triggers must be inside of the xaod
-    for(const auto trigName:m_supportingTrigList){
+    for(const auto& trigName:m_supportingTrigList){
       if (std::find(chains.begin(), chains.end(), trigName) != chains.end()){
         if(m_trigInfo.count(trigName) == 0){
           ATH_MSG_INFO("Append " << trigName << " as support trigger");
@@ -207,7 +207,7 @@ StatusCode TrigEgammaEmulationTool::initialize() {
     m_supportingTrigList.insert(m_supportingTrigList.end(), supportingTrigList.begin(), supportingTrigList.end());
 
     ATH_MSG_INFO("Supporting trigger after cleaner...");
-    for(const auto trigName:m_supportingTrigList){
+    for(const auto& trigName:m_supportingTrigList){
       ATH_MSG_INFO("    Suppot: " << trigName);
     }
 
diff --git a/Trigger/TrigAnalysis/TrigEgammaMatchingTool/Root/TrigEgammaMatchingTool.cxx b/Trigger/TrigAnalysis/TrigEgammaMatchingTool/Root/TrigEgammaMatchingTool.cxx
index 59e2c648583a3ec1ce947e0d1f1d1558253ff0e8..7a15db3a93c4faa34c3f2fdc8556077c9094d20c 100644
--- a/Trigger/TrigAnalysis/TrigEgammaMatchingTool/Root/TrigEgammaMatchingTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaMatchingTool/Root/TrigEgammaMatchingTool.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
 */
 
 #include "TrigEgammaMatchingTool/TrigEgammaMatchingTool.h"
@@ -126,7 +126,7 @@ namespace Trig {
             const auto vec = fc.get<xAOD::ElectronContainer>("egamma_Electrons");
 #endif // XAOD_ANALYSIS
             ATH_MSG_DEBUG("Container Feature");
-            for(const auto feat : vec){
+            for(const auto& feat : vec){
                 const xAOD::ElectronContainer *cont = feat.cptr();
                 if(cont == nullptr) {
                     ATH_MSG_DEBUG("Electron container from TE nullptr");
@@ -155,7 +155,7 @@ namespace Trig {
 #else
             const auto vec = fc.get<xAOD::PhotonContainer>(key);
 #endif // XAOD_ANALYSIS
-            for(const auto feat : vec){
+            for(const auto& feat : vec){
                 const xAOD::PhotonContainer *cont = feat.cptr();
                 if(cont == nullptr) {
                     ATH_MSG_DEBUG("Photon Container from TE nullptr");
diff --git a/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltEmulationTool.cxx b/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltEmulationTool.cxx
index 2cd8816130facaefe705773ca1a699abb6c6c444..d1a966d91332a7a936674d5f93cbad9b3c33d05f 100644
--- a/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltEmulationTool.cxx
+++ b/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltEmulationTool.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
 */
 
 // vim: ts=2 sw=2
@@ -229,7 +229,7 @@ namespace TrigTauEmul {
       registry = new ToolsRegistry("ToolsRegistry");
     }
     
-    for (const auto hlt_tau : hlt_taus) {
+    for (const auto& hlt_tau : hlt_taus) {
       //for (auto it: m_hlt_tau_tools) {
       for (auto it: registry->selectTools<HltTauSelectionTool*>()){
         hlt_tau.getHltTau()->auxdecor<bool>(it->name()) = false;
@@ -268,7 +268,7 @@ namespace TrigTauEmul {
           }
 
           // 3 -- loop over the hlt taus
-          for (const auto decoratedTau : hlt_taus) {
+          for (const auto& decoratedTau : hlt_taus) {
             const auto hlt_tau = decoratedTau.getHltTau();
 
             MY_MSG_DEBUG("\t\t HLT TAU "<< hlt_tau->index() 
@@ -345,7 +345,7 @@ namespace TrigTauEmul {
         int n_item2_alone = 0;
         int n_doublets = 0;
 
-        for (const auto decoratedTau : hlt_taus) {
+        for (const auto& decoratedTau : hlt_taus) {
           const auto hlt_tau = decoratedTau.getHltTau();
           bool pass_item1 = false;
           bool pass_item2 = false;
diff --git a/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltL1MatchingTool.cxx b/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltL1MatchingTool.cxx
index 36cdc0a824c7377491a7c4c69b2b24b19dfd9b4f..1162932d2461b67ac9f5436cc9bf735c6df14ebf 100644
--- a/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltL1MatchingTool.cxx
+++ b/Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauEmulation/Root/HltL1MatchingTool.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
 */
 
 // vim: ts=2 sw=2
@@ -26,7 +26,7 @@ StatusCode HltL1MatchingTool::initialize() {
 
 
 StatusCode HltL1MatchingTool::execute(const std::vector<DecoratedHltTau>& hlt_taus, const xAOD::EmTauRoIContainer * l1_taus) {
-  for (const auto tau: hlt_taus) {
+  for (const auto& tau: hlt_taus) {
     ATH_CHECK(match(tau.getHltTau(), l1_taus));
   }
 
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
index 8e5d7a0b387c4f6fa89c2cfadea5793a29d69974..f58dd715e56c860e0255e70829583f8e5ca17e85 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 // -------------------------------------------------------------
@@ -161,8 +161,8 @@ namespace TrigCostRootAnalysis {
       }
     }
 
-    for (const auto chainItem : m_chainItemsHLT) chainItem.second->classifyLumiAndRandom();
-    for (const auto chainItem : m_chainItemsL1) chainItem.second->classifyLumiAndRandom();
+    for (const auto& chainItem : m_chainItemsHLT) chainItem.second->classifyLumiAndRandom();
+    for (const auto& chainItem : m_chainItemsL1) chainItem.second->classifyLumiAndRandom();
 
     if (Config::config().getVecSize(kListOfNoLumiWeightChains) > 0) {
       Info("MonitorRates::populateChainItemMaps",
@@ -186,7 +186,7 @@ namespace TrigCostRootAnalysis {
     }
 
     // Get the common factor of all the CPS groups
-    for (const auto cpsGroup : m_cpsGroups) cpsGroup.second->calculateCPSFactor();
+    for (const auto& cpsGroup : m_cpsGroups) cpsGroup.second->calculateCPSFactor();
   }
 
   /**
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
index 6d0533b0095cdfa65689a147aac081c3fe476adc..c5214673f25a922475592b7982eacbb48b8d9776 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 // -------------------------------------------------------------
@@ -305,9 +305,9 @@ namespace TrigCostRootAnalysis {
     }
 
 
-    for (const auto chainItem : m_chainItemsL1) chainItem.second->classifyLumiAndRandom();
+    for (const auto& chainItem : m_chainItemsL1) chainItem.second->classifyLumiAndRandom();
     //Should not be needed, do different lumi scaling here
-    for (const auto chainItem : m_chainItemsL2) chainItem.second->classifyLumiAndRandom();
+    for (const auto& chainItem : m_chainItemsL2) chainItem.second->classifyLumiAndRandom();
   }
 
   /**
@@ -389,7 +389,7 @@ namespace TrigCostRootAnalysis {
     // }
 
 
-    for (const auto item : m_upgradeChains) {
+    for (const auto& item : m_upgradeChains) {
       if (item.m_level != 1) continue; // not doing HLT here
 
       const std::string chainName = item.m_name;
@@ -450,7 +450,7 @@ namespace TrigCostRootAnalysis {
    * L2 are like L1, but with another hardware layer added
    */
   void MonitorRatesUpgrade::createL2Counters(CounterMap_t* counterMap) {
-    for (const auto item : m_upgradeChains) {
+    for (const auto& item : m_upgradeChains) {
       if (item.m_level != 1) continue; // Note should be 1, L2 stored in L1 info
 
       std::string chainName = item.m_l2name;
@@ -738,8 +738,8 @@ namespace TrigCostRootAnalysis {
     // m_eventsToMix -= (Int_t)m_eventsToMix; // Remove whole integer events mixed. Leave fractional part to accumulate
     // for next event.
 
-    for (const auto chainItem : m_chainItemsL1) chainItem.second->beginEvent(m_thisEventPtr);
-    for (const auto chainItem : m_chainItemsL2) chainItem.second->beginEvent(m_thisEventPtr);
+    for (const auto& chainItem : m_chainItemsL1) chainItem.second->beginEvent(m_thisEventPtr);
+    for (const auto& chainItem : m_chainItemsL2) chainItem.second->beginEvent(m_thisEventPtr);
 
     //Now loop over the counter collections;
     for (CounterMapSetIt_t cmsIt = m_collectionsToProcess.begin(); cmsIt != m_collectionsToProcess.end(); ++cmsIt) {
@@ -759,8 +759,8 @@ namespace TrigCostRootAnalysis {
       endEvent(0);
     }
 
-    for (const auto chainItem : m_chainItemsL1) chainItem.second->endEvent();
-    for (const auto chainItem : m_chainItemsL2) chainItem.second->endEvent();
+    for (const auto& chainItem : m_chainItemsL1) chainItem.second->endEvent();
+    for (const auto& chainItem : m_chainItemsL2) chainItem.second->endEvent();
 
     delete thisEventPtr;
     thisEventPtr = nullptr;
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
index 37a2b0197519e42a2d2e6f26d16b0326f7ea1212..e9d767c0948f0f55c54e3a9b63cda83289acf082 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 // -------------------------------------------------------------
@@ -147,10 +147,10 @@ namespace TrigCostRootAnalysis {
    * Look at which LB each keyset was being used in
    */
   void TrigConfInterface::populateLBPerKeysetStrings() {
-    for (const auto keyset : m_seenKeys) {
+    for (const auto& keyset : m_seenKeys) {
       // Set of my LB
       std::set<UInt_t> myLB;
-      for (const auto it : m_lumiToKeyMap) {
+      for (const auto& it : m_lumiToKeyMap) {
         if (it.second == keyset) {
           myLB.insert(it.first);
         }