27 return StatusCode::SUCCESS;
43 if(!JetPixelCluster.isValid()){
45 return StatusCode::FAILURE;
47 if(!JetSCTCluster.isValid()){
49 return StatusCode::FAILURE;
51 if(!tracks.isValid()){
53 return StatusCode::FAILURE;
56 std::multimap<uint64_t, const xAOD::TrackParticle*> track_hits;
59 for(
const auto trk:*tracks){
60 auto trkTrk_link = trk->trackLink();
61 if (trkTrk_link.isValid()){
62 auto trkTrk = *trkTrk_link;
63 auto states = trkTrk->trackStateOnSurfaces();
64 for(
const auto state:*
states){
68 auto hitOnTrack = state->measurementOnTrack();
85 std::pair<MMAPIterator, MMAPIterator>
result = track_hits.equal_range(hit->identifier());
87 std::vector<ElementLink<xAOD::TrackParticleContainer>> vec_ElemLink_SCT;
89 JetSCTClusterHits(*hit)=0;
92 JetSCTClusterHits(*hit)=1;
97 JetSCTClusterTrackAssocs(*hit)=vec_ElemLink_SCT;
101 std::pair<MMAPIterator, MMAPIterator>
result = track_hits.equal_range(hit->identifier());
103 std::vector<ElementLink<xAOD::TrackParticleContainer>> vec_ElemLink_pix;
105 JetPixelClusterHits(*hit)=0;
108 JetPixelClusterHits(*hit)=1;
113 JetPixelClusterTrackAssocs(*hit)=vec_ElemLink_pix;
115 return StatusCode::SUCCESS;