28 {
29 if (prds.empty()) {
31 return nullptr;
32 }
33
34 std::vector<std::unique_ptr<const MuonClusterOnTrack>>rios{};;
35 auto assocProbs = std::vector<double>();
36 const double prob = 1. / (errorScaleFactor * errorScaleFactor);
37 for (const Trk::PrepRawData* prd : prds) {
38 Identifier id = prd->identify();
39 const Trk::TrkDetElementBase* detEl = prd->detectorElement();
41 std::unique_ptr<const Muon::MuonClusterOnTrack> cluster{
m_clusterCreator->createRIO_OnTrack(*prd, gHitPos)};
42 if (!cluster) {
44 continue;
45 }
46 rios.push_back(std::move(cluster));
47 assocProbs.push_back(prob);
48 }
49 return std::make_unique<CompetingMuonClustersOnTrack>(
50 std::move(rios), std::move(assocProbs));
51}
#define ATH_MSG_WARNING(x)
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
virtual const Amg::Vector3D & center() const =0
Return the center of the element.
Eigen::Matrix< double, 3, 1 > Vector3D