Class Acts::AmbiguityTrackClassifier

class AmbiguityTrackClassifier

Onnx model implementation for track scoring and selection.

Public Functions

inline AmbiguityTrackClassifier(const char *modelPath)

Construct the ambiguity scoring algorithm.

Parameters

modelPath – path to the model file

template<typename track_container_t, typename traj_t, template<typename> class holder_t>
inline std::vector<std::vector<float>> inferScores(std::unordered_map<int, std::vector<int>> &clusters, const Acts::TrackContainer<track_container_t, traj_t, holder_t> &tracks) const

Compute a score for each track to be used in the track selection.

Parameters
  • clusters – is a map of clusters, each cluster correspond to a vector of track ID

  • tracks – is the input track container

Returns

a vector of vector of track score. Due to the architecture of the network each track only have a size 1 score vector.

template<typename track_container_t, typename traj_t, template<typename> class holder_t>
inline std::vector<int> solveAmbuguity(std::unordered_map<int, std::vector<int>> &clusters, const Acts::TrackContainer<track_container_t, traj_t, holder_t> &tracks) const

Select the track associated with each cluster.

Parameters
  • clusters – is a map of clusters, each cluster correspond to a vector of track ID

  • tracks – is the input track container

Returns

a vector of trackID corresponding tho the good tracks

inline std::vector<int> trackSelection(std::unordered_map<int, std::vector<int>> &clusters, std::vector<std::vector<float>> &outputTensor) const

Select the track associated with each cluster based on the score vector.

Parameters
  • clusters – is a map of clusters, each cluster correspond to a vector of track ID

  • outputTensor – is the score vector obtained from inferScores.

Returns

a vector of trackID corresponding tho the good tracks