5#ifndef INDETTRACKPERFMON_STABLEMATCHINGBASE_H
6#define INDETTRACKPERFMON_STABLEMATCHINGBASE_H
31 template<
typename T,
typename R=T >
40 virtual StatusCode
matchVectors(
const std::vector< const T* >& vTest,
41 const std::vector< const R* >& vRef,
45 virtual float distance(
const T& t,
const R&
r)
const = 0;
51 const std::vector<const R*>& vRef,
52 std::vector<std::vector<float>>& dist)
const;
55 std::vector<std::vector<int>>& testPrefs,
56 std::vector<std::vector<int>>& refRankings)
const;
58 void galeShapley(
const std::vector<std::vector<int>>& testPrefs,
59 const std::vector<std::vector<int>>& refRankings,
60 const std::vector<std::vector<float>>& dist,
61 std::vector<int>& testMatch,
62 std::vector<int>& refMatch)
const;
Class to hold for each event collections needed in the TrkAnalsis.
Look-up table (templated) class to store (internally to IDTPM) all the matches between test and refer...
void galeShapley(const std::vector< std::vector< int > > &testPrefs, const std::vector< std::vector< int > > &refRankings, const std::vector< std::vector< float > > &dist, std::vector< int > &testMatch, std::vector< int > &refMatch) const
virtual float distance(const T &t, const R &r) const =0
void buildPreferenceLists(const std::vector< std::vector< float > > &dist, std::vector< std::vector< int > > &testPrefs, std::vector< std::vector< int > > &refRankings) const
StableMatchingBase(const std::string &name)
Constructor.
virtual StatusCode matchVectors(const std::vector< const T * > &vTest, const std::vector< const R * > &vRef, ITrackMatchingLookup &matches) const
matchVectors
void buildDistanceMatrix(const std::vector< const T * > &vTest, const std::vector< const R * > &vRef, std::vector< std::vector< float > > &dist) const