diff --git a/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx b/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx index caff0a9d20d16b9aedf48aad428ea013fa6125cc..218855e38a998c2be26c23ed343835a468280a8a 100644 --- a/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/EMBremCollectionBuilder.cxx @@ -92,17 +92,6 @@ StatusCode EMBremCollectionBuilder::EMBremCollectionBuilder::finalize(){ StatusCode EMBremCollectionBuilder::execute() { - - // Record the final Track Particle container in StoreGate - SG::WriteHandle<xAOD::TrackParticleContainer> finalTrkPartContainer(m_OutputTrkPartContainerKey); - ATH_CHECK(finalTrkPartContainer.record(std::make_unique<xAOD::TrackParticleContainer>(), - std::make_unique<xAOD::TrackParticleAuxContainer>())); - xAOD::TrackParticleContainer* cPtrTrkPart=finalTrkPartContainer.ptr(); - //create container for the final slimmed Trk::Tracks - SG::WriteHandle<TrackCollection> finalTracks(m_OutputTrackContainerKey); - ATH_CHECK(finalTracks.record(std::make_unique<TrackCollection>())); - TrackCollection* cPtrTracks=finalTracks.ptr(); - //Read input SG::ReadHandle<xAOD::TrackParticleContainer> trackTES(m_trackParticleContainerKey); if(!trackTES.isValid()) { @@ -118,17 +107,26 @@ StatusCode EMBremCollectionBuilder::execute() } ATH_MSG_DEBUG ("Selected Track Particle container size: " <<selectedTracks->size() ); + + // Record the final Track Particle container in StoreGate + SG::WriteHandle<xAOD::TrackParticleContainer> finalTrkPartContainer(m_OutputTrkPartContainerKey); + ATH_CHECK(finalTrkPartContainer.record(std::make_unique<xAOD::TrackParticleContainer>(), + std::make_unique<xAOD::TrackParticleAuxContainer>())); + xAOD::TrackParticleContainer* cPtrTrkPart=finalTrkPartContainer.ptr(); + cPtrTrkPart->reserve(selectedTracks->size()); + //create container for the final slimmed Trk::Tracks + SG::WriteHandle<TrackCollection> finalTracks(m_OutputTrackContainerKey); + ATH_CHECK(finalTracks.record(std::make_unique<TrackCollection>())); + TrackCollection* cPtrTracks=finalTracks.ptr(); + cPtrTracks->reserve(selectedTracks->size()); /* * Struct of unsigned int, local varibale of this method * Initialization of counters is 0 */ localCounter locCounter; //Loop over the selected input tracks - xAOD::TrackParticleContainer::const_iterator track_iter=selectedTracks->begin(); - xAOD::TrackParticleContainer::const_iterator track_iter_end=selectedTracks->end(); - for(; track_iter != track_iter_end; ++track_iter){ + for(const xAOD::TrackParticle* track : *selectedTracks){ - const xAOD::TrackParticle* track=(*track_iter); ATH_MSG_DEBUG ("Attempt to Refit Track with Eta "<< track->eta() << " Phi " << track->phi()<<" Pt " <<track->pt()); //Try to refit, if failded move to next one @@ -290,8 +288,7 @@ StatusCode EMBremCollectionBuilder::refitTrack(const xAOD::TrackParticle* tmpTrk } } pgExtrapEta(*aParticle) = perigeeExtrapEta; - pgExtrapPhi(*aParticle) = perigeeExtrapPhi; - + pgExtrapPhi(*aParticle) = perigeeExtrapPhi; /* * Add qoverP from the last measurement */