|
ACTS
Experiment-independent tracking
|
Flags seeds whose measurements one accepted track already holds. More...
#include <Acts/TrackFinding/SeedDeduplicator.hpp>
Classes | |
| struct | Config |
| Configuration of the duplicate threshold. More... | |
Public Types | |
| using | MeasurementKey = std::uint32_t |
| Type of the dense measurement key. | |
| using | Score = std::uint32_t |
| Type of a summed weight. | |
| using | Weight = std::uint8_t |
| Type of the weight of a key. | |
Public Member Functions | |
| SeedDeduplicator (const Config &config) | |
| Constructor. | |
| void | addTrack (std::span< const MeasurementKey > measKeys) |
| Accept a track. | |
| bool | isDuplicate (std::span< const MeasurementKey > measKeys) const |
| Check if one accepted track holds enough of the seed keys. | |
| std::size_t | nTracks () const |
| void | reset (std::size_t nMeasKeys) |
| Remove all tracks and set the key range. | |
| void | setWeight (MeasurementKey measKey, Weight weight) |
| Set the weight of a key. | |
| Weight | weight (MeasurementKey measKey) const |
Flags seeds whose measurements one accepted track already holds.
Measurements are dense keys in [0, nMeasKeys). The caller chooses which keys a seed contributes. The keys are plain indices and not SourceLinks, because a SourceLink has no hash and no equality comparison.
Each key has a weight, 1 by default. The weight can for example be the number of measured local coordinates, so that a pixel measurement counts 2 and a strip measurement counts 1. A seed with the summed weight seedScore is a duplicate if one track holds keys of the summed weight
min(seedScore, max(1, minScore, seedScore - maxMissingScore)).
The scores of different tracks do not add up. Seeds can be queried in any order.
|
explicit |
Constructor.
| config | The threshold configuration |
| void Acts::SeedDeduplicator::addTrack | ( | std::span< const MeasurementKey > | measKeys | ) |
Accept a track.
| measKeys | The keys of the measurements on the track |
| bool Acts::SeedDeduplicator::isDuplicate | ( | std::span< const MeasurementKey > | measKeys | ) | const |
Check if one accepted track holds enough of the seed keys.
| measKeys | The keys of the seed, each key at most once |
| std::size_t Acts::SeedDeduplicator::nTracks | ( | ) | const |
| void Acts::SeedDeduplicator::reset | ( | std::size_t | nMeasKeys | ) |
Remove all tracks and set the key range.
Every weight becomes 1.
| nMeasKeys | The number of measurement keys, every key must be below this number |
| void Acts::SeedDeduplicator::setWeight | ( | MeasurementKey | measKey, |
| Weight | weight ) |
Set the weight of a key.
| measKey | The measurement key |
| weight | The weight of the key |
| Weight Acts::SeedDeduplicator::weight | ( | MeasurementKey | measKey | ) | const |
| measKey | The measurement key |