Skip to content
Snippets Groups Projects
Commit d4883bba authored by James Beacham's avatar James Beacham Committed by Atlas Nightlybuild
Browse files

Merge branch 'b21-fix-copies' into '21.0'

Avoid copying elements when performing loops in tau EDM

See merge request atlas/athena!12239

(cherry picked from commit c7e97f41b642a1258b98950c78ff3069a34fa5ff)

fdea2993 avoid copying elements when performing loops in tau EDM
parent 50822657
No related branches found
No related tags found
No related merge requests found
File mode changed from 100644 to 100755
...@@ -465,7 +465,7 @@ namespace xAOD { ...@@ -465,7 +465,7 @@ namespace xAOD {
const TauJet_v3::TauTrackLinks_t TauJet_v3::tauTrackLinksWithMask(unsigned int mask) const{ const TauJet_v3::TauTrackLinks_t TauJet_v3::tauTrackLinksWithMask(unsigned int mask) const{
TauJet_v3::TauTrackLinks_t links; 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)) if( (*link)->flagWithMask(mask))
links.push_back(link); links.push_back(link);
} }
...@@ -485,7 +485,7 @@ namespace xAOD { ...@@ -485,7 +485,7 @@ namespace xAOD {
const TauTrack* TauJet_v3::trackWithMask( size_t i, unsigned int mask, int* container_index ) const { const TauTrack* TauJet_v3::trackWithMask( size_t i, unsigned int mask, int* container_index ) const {
uint tracks_pass_mask=0; 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; const TauTrack* trk = *link;
if(trk->flagWithMask(mask)){ if(trk->flagWithMask(mask)){
if(tracks_pass_mask==i) { if(tracks_pass_mask==i) {
...@@ -552,7 +552,7 @@ namespace xAOD { ...@@ -552,7 +552,7 @@ namespace xAOD {
/// Get the v<pointer> to all tracks associated with this tau, regardless of classification /// Get the v<pointer> to all tracks associated with this tau, regardless of classification
std::vector<TauTrack*> TauJet_v3::allTracks() { std::vector<TauTrack*> TauJet_v3::allTracks() {
std::vector<TauTrack*> trks; std::vector<TauTrack*> trks;
for(ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){ for(ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
const TauTrack* c_trk = *link; const TauTrack* c_trk = *link;
xAOD::TauTrackContainer* tauTrackContainer = link.getDataNonConstPtr(); xAOD::TauTrackContainer* tauTrackContainer = link.getDataNonConstPtr();
TauTrack* trk=tauTrackContainer->at(link.index()); TauTrack* trk=tauTrackContainer->at(link.index());
...@@ -582,7 +582,7 @@ namespace xAOD { ...@@ -582,7 +582,7 @@ namespace xAOD {
//number of tracks with a given classification //number of tracks with a given classification
size_t TauJet_v3::nTracksWithMask(unsigned int flags) const{ size_t TauJet_v3::nTracksWithMask(unsigned int flags) const{
size_t n(0); size_t n(0);
for(const ElementLink< xAOD::TauTrackContainer > link : tauTrackAcc(*this) ){ for(const ElementLink< xAOD::TauTrackContainer >& link : tauTrackAcc(*this) ){
const TauTrack* trk = *link; const TauTrack* trk = *link;
if(trk->flagWithMask(flags)) n++; if(trk->flagWithMask(flags)) n++;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment