9 #include "GaudiKernel/IPartPropSvc.h"
14 #include "HepPDT/ParticleData.hh"
15 #include "HepPDT/ParticleDataTable.hh"
16 #include "CLHEP/Geometry/Point3D.h"
17 #include "CLHEP/Geometry/Vector3D.h"
18 #include "CLHEP/Units/SystemOfUnits.h"
49 return StatusCode::SUCCESS;
68 if ( !evtStore()->contains<TrackRecordCollection>( CollNameItr )){
continue; }
69 if (evtStore()->
retrieve(TrackRecordColl, CollNameItr).isSuccess()) break ;
73 if (TrackRecordColl == NULL ) {
75 return StatusCode::RECOVERABLE;
82 DataVect rhoVertex; rhoVertex.reserve(TrackRecordColl->
size());
83 DataVect phiVertex; phiVertex.reserve(TrackRecordColl->
size());
84 DataVect zVertex; zVertex.reserve(TrackRecordColl->
size());
89 for (
auto record : *TrackRecordColl ) {
92 int pdgCode = record.GetPDGCode();
95 if (abs(pdgCode) != 13) {
96 ATH_MSG_DEBUG(
"Reject non-muon track with PDG ID " << pdgCode );
101 HepGeom::Point3D<double>
vertex = record.GetPosition();
102 HepGeom::Vector3D<double>
momentum = record.GetMomentum();
120 dataMap[
"rhoVertex"] = rhoVertex;
121 dataMap[
"phiVertex"] = phiVertex;
133 std::string emptyStr=
"";