68 {
69
70 ATH_MSG_INFO(
"Creating Acts proto-tracks from FPGA tracks...");
71
72 std::multimap<xAOD::DetectorIdentType, const xAOD::PixelCluster*> pixelClusterMap;
74 pixelClusterMap.emplace(cluster->identifier(), cluster);
75 }
76
77 std::multimap<xAOD::DetectorIdentType, const xAOD::StripCluster*> stripClusterMap;
79 stripClusterMap.emplace(cluster->identifier(), cluster);
80 }
81 for (const FPGATrackSimTrack& track : tracks) {
82 if (not
track.passedOR())
continue;
83 std::vector<ActsTrk::ATLASUncalibSourceLink> points;
84 const std::vector <FPGATrackSimHit>&
hits =
track.getFPGATrackSimHits();
86 if (points.size()) {
87 ATH_MSG_DEBUG(
"\tMaking a proto-track with " << points.size() <<
" clusters");
88 std::unique_ptr<Acts::BoundTrackParameters> inputPerigee =
makeParams(track);
89 foundProtoTracks.emplace_back(points, std::move(inputPerigee));
90 }
91 }
92 return StatusCode::SUCCESS;
93}
StatusCode findPrototrackMeasurements(const EventContext &ctx, const xAOD::PixelClusterContainer &pixelClusterContainer, const xAOD::StripClusterContainer &stripClusterContainer, const std::multimap< xAOD::DetectorIdentType, const xAOD::PixelCluster * > &pixelClusterMap, const std::multimap< xAOD::DetectorIdentType, const xAOD::StripCluster * > &stripClusterMap, std::vector< ActsTrk::ATLASUncalibSourceLink > &measurements, const std::vector< FPGATrackSimHit > &hits) const
std::unique_ptr< Acts::BoundTrackParameters > makeParams(const FPGATrackSimRoad &road) const
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.