diff --git a/MuonSpectrometer/MuonGeoModelTest/src/MuonHitRelocation.cxx b/MuonSpectrometer/MuonGeoModelTest/src/MuonHitRelocation.cxx index fcec4757a47e7b21a0ce6e999f66f636ccd0030d..14a7e6f70310eb29f4749e0cd4564c8ec02ced40 100644 --- a/MuonSpectrometer/MuonGeoModelTest/src/MuonHitRelocation.cxx +++ b/MuonSpectrometer/MuonGeoModelTest/src/MuonHitRelocation.cxx @@ -154,16 +154,15 @@ StatusCode MuonHitRelocation::execute() { Amg::Vector3D direction(0., 0., 0.); for (e=mcEvent->begin();e!=mcEvent->end(); e++) { - for (HepMC::GenEvent::particle_const_iterator p= (**e).particles_begin(); - p!= (**e).particles_end(); p++) { - - float xv = (**p).production_vertex()->position().x(); - float yv = (**p).production_vertex()->position().y(); - float zv = (**p).production_vertex()->position().z(); - float xd = (**p).momentum().px(); - float yd = (**p).momentum().py(); - float zd = (**p).momentum().pz(); - float mag = sqrt(xd*xd + yd*yd + zd*zd); + for (auto p: (**e)) { + + float xv = p->production_vertex()->position().x(); + float yv = p->production_vertex()->position().y(); + float zv = p->production_vertex()->position().z(); + float xd = p->momentum().px(); + float yd = p->momentum().py(); + float zd = p->momentum().pz(); + float mag = sqrt(xd*xd + yd*yd + zd*zd); direction[0] = xd/mag; direction[1] = yd/mag; direction[2] = zd/mag; diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx index b3dce30d5df7408742e1bff6a0133ab2b221e8bf..40ee9271de3c12a1874e21c2a9fd3db6264af156 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx @@ -355,13 +355,13 @@ void MDTPRDValAlg::addMcEventCollection( MDTPRDValAlg::TruthMap& truthMap ) cons } if( msgLvl(MSG::VERBOSE) ) ATH_MSG_VERBOSE(" looping over MC particles "); for (e=mcEvent->begin();e!=mcEvent->end(); e++) { - for (HepMC::GenEvent::particle_const_iterator p= (**e).particles_begin(); p!= (**e).particles_end(); p++) { + for (auto p: (**e)) { - int pdg = (**p).pdg_id(); - if( abs(pdg) != 13 && pdg !=0 && abs(pdg) != 998) continue; - if( !(**p).production_vertex() ) continue; + int pdg = p->pdg_id(); + if( std::abs(pdg) != 13 && pdg !=0 && std::abs(pdg) != 998) continue; + if( !p->production_vertex() ) continue; - int barcode = (**p).barcode(); + int barcode = HepMC::barcode(p); ATH_MSG_VERBOSE(" pdg " << pdg << " barcode " << barcode); TruthInfo* info; @@ -392,10 +392,10 @@ void MDTPRDValAlg::addMcEventCollection( MDTPRDValAlg::TruthMap& truthMap ) cons // Fix geantino if(pdg==-998) particle->charge = -1.; if(pdg==0) particle->charge = 1.; - particle->momentum = Amg::Vector3D( (**p).momentum().px(),(**p).momentum().py(),(**p).momentum().pz()); - particle->position = Amg::Vector3D( (**p).production_vertex()->position().x(), - (**p).production_vertex()->position().y(), - (**p).production_vertex()->position().z() ); + particle->momentum = Amg::Vector3D( p->momentum().px(),p->momentum().py(),p->momentum().pz()); + particle->position = Amg::Vector3D( p->production_vertex()->position().x(), + p->production_vertex()->position().y(), + p->production_vertex()->position().z() ); particle->pars= new Trk::Perigee( particle->position, particle->momentum, particle->charge, Amg::Vector3D(0.,0.,0.) ); diff --git a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/src/RPC_SimHitToPrdCBNTAlgo.cxx b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/src/RPC_SimHitToPrdCBNTAlgo.cxx index 0fd5a9b033285e2326ced73d98863b8c9bc16bcb..ffe0e69d62ef5a12f700a98c934d6a4b3742e1e3 100755 --- a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/src/RPC_SimHitToPrdCBNTAlgo.cxx +++ b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/src/RPC_SimHitToPrdCBNTAlgo.cxx @@ -459,7 +459,7 @@ StatusCode RPC_SimHitToPrdCBNTAlgo::doMCtruth() ATH_MSG_DEBUG ("McEvent n. " <<eventCounter ) ; int particleCounter=0; - for (HepMC::GenEvent::particle_const_iterator p= (**e).particles_begin(); p!= (**e).particles_end(); ++p) { + for (auto p: (**e)) { ++particleCounter; ATH_MSG_DEBUG ("McEvent n. " <<eventCounter << " particle # "<<particleCounter) ; float xv = -999999.; @@ -467,18 +467,18 @@ StatusCode RPC_SimHitToPrdCBNTAlgo::doMCtruth() float zv = -999999.; float tv = -999999.; // the following lines give troubles - protect them - if ((**p).production_vertex()) + if (p->production_vertex()) { - xv = (**p).production_vertex()->position().x(); - yv = (**p).production_vertex()->position().y(); - zv = (**p).production_vertex()->position().z(); - tv = (**p).production_vertex()->position().t(); + xv = p->production_vertex()->position().x(); + yv = p->production_vertex()->position().y(); + zv = p->production_vertex()->position().z(); + tv = p->production_vertex()->position().t(); } - float xd = (**p).momentum().px(); - float yd = (**p).momentum().py(); - float zd = (**p).momentum().pz(); - float mag = sqrt(xd*xd + yd*yd + zd*zd); - if (fabs(mag)>0.001) + float xd = p->momentum().px(); + float yd = p->momentum().py(); + float zd = p->momentum().pz(); + float mag = std::sqrt(xd*xd + yd*yd + zd*zd); + if (std::fabs(mag)>0.001) { direction[0]=(xd/mag); @@ -486,11 +486,11 @@ StatusCode RPC_SimHitToPrdCBNTAlgo::doMCtruth() direction[2]=(zd/mag); } - int status = (**p).status(); - int barcode = (**p).barcode(); - double generatedMass = (**p).generated_mass(); + int status = p->status(); + int barcode = HepMC::barcode(p); + double generatedMass = p->generated_mass(); - float pdgId = (**p).pdg_id(); + float pdgId = p->pdg_id(); m_c->m_partVertX [ipart] =xv ; m_c->m_partVertY [ipart] =yv ; diff --git a/Reconstruction/MissingETPerformance/src/FakeMissingETTool.cxx b/Reconstruction/MissingETPerformance/src/FakeMissingETTool.cxx index 1efeecece8fe3635f248e6eb7dbee3d6eefcfa51..2a6002fee7cb2d5137d45db7ced2ba2b9f7410c7 100755 --- a/Reconstruction/MissingETPerformance/src/FakeMissingETTool.cxx +++ b/Reconstruction/MissingETPerformance/src/FakeMissingETTool.cxx @@ -369,7 +369,7 @@ StatusCode FakeMissingETTool::fakeMissingET(MissingETData *data, MissingETMuonDa float calculated_truth_metx = 0.; float calculated_truth_mety = 0.; - for (std::vector<const HepMC::GenParticle*>::const_iterator it = truth_muons.begin(); it != truth_muons.end(); ++it ) { + for (auto it = truth_muons.begin(); it != truth_muons.end(); ++it ) { calculated_truth_metx -= (*it)->momentum().px(); calculated_truth_mety -= (*it)->momentum().py(); } @@ -794,12 +794,12 @@ StatusCode FakeMissingETTool::fakeMissingET(MissingETData *data, MissingETMuonDa if ((*irec)->perp() < 40.0*GeV) { continue; } - for (std::vector<const HepMC::GenParticle*>::const_iterator it = truth_muons.begin(); it != truth_muons.end(); ++it ) { + for (auto it = truth_muons.begin(); it != truth_muons.end(); ++it ) { if ((*it)->momentum().perp() < 10.0*GeV) { continue; } double deta = (*it)->momentum().eta() - (*irec)->eta(); - double dphi = fabs((*it)->momentum().phi() - (*irec)->phi()); + double dphi = std::fabs((*it)->momentum().phi() - (*irec)->phi()); if (dphi > M_PI) dphi = fabs(dphi - 2*M_PI); double dR = sqrt(deta*deta + dphi*dphi); if (dR < 0.1) { diff --git a/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx b/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx index 014a9c3f5ea0e54a6327d69c2a42a2c6f8d19066..bf6ddcac7906934d7dcccf208d649eefcaf80157 100644 --- a/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx +++ b/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx @@ -110,9 +110,9 @@ StatusCode MissingETMuonData::retrieveMuons() { if (foundMCCOLL) { IsGenStable istab; - for (HepMC::GenEvent::particle_const_iterator it = (mcEventCol->at(0))->particles_begin(); it != (mcEventCol->at(0))->particles_end(); ++it) { - if ( istab(*it) && abs((*it)->pdg_id()) == 13) { - m_truth_Muons.push_back(*it); + for (auto it: *(mcEventCol->at(0))) { + if ( istab(it) && std::abs(it->pdg_id()) == 13) { + m_truth_Muons.push_back(it); }//found truth muon }//loop over mc parts }//if foundMCCOLL diff --git a/Reconstruction/MissingETPerformance/src/MuonTool.cxx b/Reconstruction/MissingETPerformance/src/MuonTool.cxx index 6746f89c0283e4f28713016b8d1809fb88d8d8f7..30cdb5fdc3a062f7baaae24f9fc26962ab50ff96 100644 --- a/Reconstruction/MissingETPerformance/src/MuonTool.cxx +++ b/Reconstruction/MissingETPerformance/src/MuonTool.cxx @@ -405,7 +405,7 @@ StatusCode MuonTool::muonSetup(MissingETMuonData *muondata) { HepLorentzVector muonHLV = (*muonBoyItr)->hlv(); truthMatched = false; jetMatched = false; - for (std::vector<const HepMC::GenParticle*>::const_iterator it = truth_muons.begin(); it != truth_muons.end(); ++it ) { + for (auto it = truth_muons.begin(); it != truth_muons.end(); ++it ) { HepLorentzVector t1((*it)->momentum().px(),(*it)->momentum().py(),(*it)->momentum().pz(),(*it)->momentum().e()); if(t1.deltaR(muonHLV) < .02) truthMatched = true; }//end of truth loop @@ -504,7 +504,7 @@ StatusCode MuonTool::muonSetup(MissingETMuonData *muondata) { truthMatched = false; jetMatched = false; - for (std::vector<const HepMC::GenParticle*>::const_iterator it = truth_muons.begin(); it != truth_muons.end(); ++it ) { + for (auto it = truth_muons.begin(); it != truth_muons.end(); ++it ) { HepLorentzVector t1((*it)->momentum().px(),(*it)->momentum().py(),(*it)->momentum().pz(),(*it)->momentum().e()); if(t1.deltaR(caloMuonHLV) < .02) truthMatched = true; }//end of truth loop @@ -562,7 +562,7 @@ StatusCode MuonTool::muonSetup(MissingETMuonData *muondata) { } }//end of the jet loop - for (std::vector<const HepMC::GenParticle*>::const_iterator it = truth_muons.begin(); it != truth_muons.end(); ++it ) { + for (auto it = truth_muons.begin(); it != truth_muons.end(); ++it ) { if(fabs((*it)->momentum().eta()) < 2.5 && sqrt(pow((*it)->momentum().px(),2)+pow((*it)->momentum().py(),2))/GeV > 2.0) { m_h_MC_eta_dist_Truth->Fill((*it)->momentum().eta()); m_h_MC_phi_dist_Truth->Fill((*it)->momentum().phi()); diff --git a/Simulation/G4Atlas/G4AtlasTests/src/MuonHitTestToolBase.cxx b/Simulation/G4Atlas/G4AtlasTests/src/MuonHitTestToolBase.cxx index c3a4fc00f3bf3bd1ea49a151e0944afb6704ae8d..e72e3a44fb1c256fe0bc7d36ddea7b4de6ae5d5e 100644 --- a/Simulation/G4Atlas/G4AtlasTests/src/MuonHitTestToolBase.cxx +++ b/Simulation/G4Atlas/G4AtlasTests/src/MuonHitTestToolBase.cxx @@ -55,12 +55,11 @@ StatusCode MuonHitTestToolBase::executeCheckEventInfo() // changed it to take the gen particle DataVector<HepMC::GenEvent>::const_iterator e; for (e=mcEvent->begin();e!=mcEvent->end(); e++) { - HepMC::GenEvent::particle_const_iterator p; - for (p= (**e).particles_begin(); p!= (**e).particles_end(); p++) { - if ( HepMC::barcode(*p)<200000) { - Amg::Vector3D temp_momentum((**p).momentum().px(), - (**p).momentum().py(), - (**p).momentum().pz()); + for (auto p: (**e)) { + if ( HepMC::barcode(p)<200000) { + Amg::Vector3D temp_momentum(p->momentum().px(), + p->momentum().py(), + p->momentum().pz()); m_direction = temp_momentum.unit(); break; } diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx index 1c75ccd21158f5115158c802c4bd58a0f8e9e6e9..42882f7170e65f827c74147740dd5dd67b97fadd 100755 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/src/ISF_HitAnalysis.cxx @@ -977,27 +977,27 @@ StatusCode ISF_HitAnalysis::execute() if(mcEvent->size()) { int particleIndex=0; int loopEnd = m_NtruthParticles; - if(loopEnd==-1) { - loopEnd = (*mcEvent->begin())->particles_size(); //is this the correct thing? - } - //std::cout <<"ISF_HitAnalysis: MC first truth event size: "<<(*mcEvent->begin())->particles_size()<<std::endl; #ifdef HEPMC3 - for (auto part: *(*mcEvent->begin())) { + int particles_size=(*mcEvent->begin())->particles().size(); #else - for (HepMC::GenEvent::particle_const_iterator it = (*mcEvent->begin())->particles_begin(); it != (*mcEvent->begin())->particles_end(); ++it) { + int particles_size=(*mcEvent->begin())->particles_size(); #endif - ATH_MSG_DEBUG("Number truth particles="<<(*mcEvent->begin())->particles_size()<<" loopEnd="<<loopEnd); + if(loopEnd==-1) { + loopEnd = particles_size; //is this the correct thing? + } + for (auto part: *(*mcEvent->begin())) { + ATH_MSG_DEBUG("Number truth particles="<<particles_size<<" loopEnd="<<loopEnd); particleIndex++; if (particleIndex>loopEnd) break; //enough particles //UPDATE EXTRAPOLATION WITH ALGTOOL*********************************************** - TFCSTruthState truth((*it)->momentum().px(),(*it)->momentum().py(),(*it)->momentum().pz(),(*it)->momentum().e(),(*it)->pdg_id()); + TFCSTruthState truth(part->momentum().px(),part->momentum().py(),part->momentum().pz(),part->momentum().e(),part->pdg_id()); //calculate the vertex TVector3 moment; - moment.SetXYZ((*it)->momentum().px(),(*it)->momentum().py(),(*it)->momentum().pz()); + moment.SetXYZ(part->momentum().px(),part->momentum().py(),part->momentum().pz()); TVector3 direction=moment.Unit(); //does it hit the barrel or the EC? @@ -1010,8 +1010,8 @@ StatusCode ISF_HitAnalysis::execute() direction*=m_CaloBoundaryZ/abs(direction.Z()); } - if((*it)->production_vertex()) { - truth.set_vertex((*it)->production_vertex()->position().x(), (*it)->production_vertex()->position().y(), (*it)->production_vertex()->position().z()); + if((part)->production_vertex()) { + truth.set_vertex((part)->production_vertex()->position().x(), (part)->production_vertex()->position().y(), (part)->production_vertex()->position().z()); } else { truth.set_vertex(direction.X(),direction.Y(),direction.Z()); ATH_MSG_WARNING("No particle production vetext, use VERTEX from direction: x "<<direction.X()<<" y "<<direction.Y()<<" z "<<direction.Z()); @@ -1125,12 +1125,12 @@ StatusCode ISF_HitAnalysis::execute() //Amg::Vector3D mom((*it)->momentum().x(),(*it)->momentum().y(),(*it)->momentum().z()); - m_truth_energy->push_back((*it)->momentum().e()); - m_truth_px->push_back((*it)->momentum().px()); - m_truth_py->push_back((*it)->momentum().py()); - m_truth_pz->push_back((*it)->momentum().pz()); - m_truth_pdg->push_back((*it)->pdg_id()); - m_truth_barcode->push_back((*it)->barcode()); + m_truth_energy->push_back((part)->momentum().e()); + m_truth_px->push_back((part)->momentum().px()); + m_truth_py->push_back((part)->momentum().py()); + m_truth_pz->push_back((part)->momentum().pz()); + m_truth_pdg->push_back((part)->pdg_id()); + m_truth_barcode->push_back(HepMC::barcode(part)); } //for mcevent } //mcevent size diff --git a/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx b/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx index e924de32f0911240f10a864d5540c2232ccecf61..8e38bf3a4f5e471d6fa9852a4c9a1ce40f32aed7 100755 --- a/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx +++ b/Simulation/TruthJiveXML/src/TruthTrackRetriever.cxx @@ -88,11 +88,7 @@ namespace JiveXML { for ( McEvtCollItr = McEvtColl->begin(); McEvtCollItr != McEvtColl->end(); ++McEvtCollItr){ //Loop over particles in the event - HepMC::GenEvent::particle_const_iterator ParticleItr = (*McEvtCollItr)->particles_begin(); - for ( ; ParticleItr!=(*McEvtCollItr)->particles_end(); ++ParticleItr ) { - - //Get the particle - auto particle = (*ParticleItr); + for (auto particle: *(*McEvtCollItr) ) { //Additional cuts for decaying particles if ( particle->end_vertex() ) { diff --git a/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx b/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx index ffe0bd8537fd409f4ae515873da2df36e3ba9def..8d7f147ff8dbd0de83304c2213c67977c65a5479 100755 --- a/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx +++ b/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx @@ -12,14 +12,11 @@ #include "AtlasHepMC/GenParticle.h" #include "AtlasHepMC/GenVertex.h" +#include "AtlasHepMC/SimpleVector.h" #include "xAODTruth/TruthParticle.h" #include "xAODTruth/TruthVertex.h" -//#include "CLHEP/Geometry/Transform3D.h" - -//#include "TrkEventPrimitives/GlobalPosition.h" -//#include "TrkEventPrimitives/GlobalMomentum.h" #include "HepPDT/ParticleDataTable.hh" //#include "TrkParameters/Perigee.h" diff --git a/Tracking/TrkValidation/TrkValTools/src/GenParticleJetFinder.cxx b/Tracking/TrkValidation/TrkValTools/src/GenParticleJetFinder.cxx index d50201d6da710b7c0abc8937cfd6f42658a9f533..f26bbb1c707d79f43008afb509b7b82c3419af75 100644 --- a/Tracking/TrkValidation/TrkValTools/src/GenParticleJetFinder.cxx +++ b/Tracking/TrkValidation/TrkValTools/src/GenParticleJetFinder.cxx @@ -59,7 +59,7 @@ std::vector< Trk::GenParticleJet >* Trk::GenParticleJetFinder::jetMCFinder( std std::vector<Trk::GenParticleJet>::iterator iAtMin, jAtMin; - for( std::vector <const HepMC::GenParticle *>::iterator i = GenStableCharged.begin() ; i < GenStableCharged.end(); i++){ + for( auto i = GenStableCharged.begin() ; i < GenStableCharged.end(); i++){ totalEnergyFromTracks = totalEnergyFromTracks + (*i)->momentum().e(); Trk::GenParticleJet tempPJ; tempPJ.addParticle( *i, int(i - GenStableCharged.begin()) ); @@ -119,9 +119,7 @@ std::vector< Trk::GenParticleJet >* Trk::GenParticleJetFinder::jetMCFinder( std if (partsTemp.size()!=0) { std::vector<int>::iterator ki=indexTemp.begin(); - for (std::vector<const HepMC::GenParticle* >::const_iterator k =partsTemp.begin(); - k!=partsTemp.end(); ++k, ++ki) { - + for (auto k =partsTemp.begin(); k!=partsTemp.end(); ++k, ++ki) { (*iAtMin).addParticle(*k,*ki); } } else { @@ -139,8 +137,7 @@ std::vector< Trk::GenParticleJet >* Trk::GenParticleJetFinder::jetMCFinder( std if (partsTemp.size()!=0) { std::vector<int>::iterator ki=indexTemp.begin(); - for (std::vector<const HepMC::GenParticle* >::const_iterator k =partsTemp.begin(); - k!=partsTemp.end(); ++k, ++ki) { + for (auto k =partsTemp.begin(); k!=partsTemp.end(); ++k, ++ki) { // tempPartJet.addParticle(*k); (*jAtMin).addParticle(*k,*ki); } diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx index 0be4b3a4c3393721945a3307a449081d475f2cc4..2c8b3934c895150188c13f7927214e4e7192a453 100755 --- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx @@ -145,9 +145,7 @@ namespace Trk //get "intensity" (scalar sum ot p_T^2) double sum_pt2(0.0); - HepMC::GenEvent::particle_const_iterator pitr; - for (pitr = myEvent->particles_begin(); pitr != myEvent->particles_end(); ++pitr ) { - HepMC::GenParticle *part = (*pitr); + for (auto part: *myEvent) { if(!pass(part, mcEventCollection.cptr())) continue; //select stable charged particles sum_pt2 += part->momentum().perp2(); }