From 51a3c82b3145f725029c73578378b0cffe6bb622 Mon Sep 17 00:00:00 2001
From: Federico <federicoscutti@gmail.com>
Date: Tue, 19 Jun 2018 13:36:32 +0000
Subject: [PATCH] avoid copying elements when performing loops in tau EDM

Former-commit-id: fdea2993b67cd8b55ee566cd05939c2abedaa452
---
 Event/xAOD/xAODTau/Root/TauJet_v3.cxx | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Event/xAOD/xAODTau/Root/TauJet_v3.cxx b/Event/xAOD/xAODTau/Root/TauJet_v3.cxx
index 47ac71a5f42..43885bcf01e 100644
--- a/Event/xAOD/xAODTau/Root/TauJet_v3.cxx
+++ b/Event/xAOD/xAODTau/Root/TauJet_v3.cxx
@@ -454,7 +454,7 @@ namespace xAOD {
 
   const TauJet_v3::TauTrackLinks_t TauJet_v3::tauTrackLinksWithMask(unsigned int mask) const{
     TauJet_v3::TauTrackLinks_t links;
-    for(const ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){
+    for(const ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
       if( (*link)->flagWithMask(mask))
 	links.push_back(link);
     }
@@ -474,7 +474,7 @@ namespace xAOD {
   const TauTrack* TauJet_v3::trackWithMask( size_t i, unsigned int mask, int* container_index ) const {
     uint tracks_pass_mask=0;
 
-    for(const ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){
+    for(const ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
       const TauTrack* trk = *link;
       if(trk->flagWithMask(mask)){
 	if(tracks_pass_mask==i) {
@@ -541,7 +541,7 @@ namespace xAOD {
   /// Get the v<pointer> to all tracks associated with this tau, regardless of classification
   std::vector<TauTrack*> TauJet_v3::allTracks() {
     std::vector<TauTrack*> trks;
-    for(ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){
+    for(ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
       const TauTrack* c_trk = *link;
       xAOD::TauTrackContainer* tauTrackContainer = link.getDataNonConstPtr();
       TauTrack* trk=tauTrackContainer->at(link.index());
@@ -571,7 +571,7 @@ namespace xAOD {
   //number of tracks with a given classification
   size_t TauJet_v3::nTracksWithMask(unsigned int flags) const{
     size_t n(0);
-    for(const ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){
+    for(const ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
       const TauTrack* trk = *link;
       if(trk->flagWithMask(flags)) n++;
     }    
-- 
GitLab