File MeasurementSelector.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

class MeasurementSelector
#include <Acts/TrackFinding/MeasurementSelector.hpp>

Measurement selection struct selecting those measurements compatible with the given track parameter against provided criteria on one surface.

The selection criteria could be allowed maximum chi2 and allowed maximum number of measurements on one surface

If there is no compatible measurement, the measurement with the mininum chi2 will be selected and the status will be tagged as an outlier

Public Types

using Config = Acts::GeometryHierarchyMap<MeasurementSelectorCuts>

Geometry-dependent cut configuration.

Different components on the geometry can require different cut settings. The configuration must either contain explicit settings for all geometry components that are used or contain a global default.

Public Functions

MeasurementSelector() = default

Default constructor.

inline MeasurementSelector(Config config)

Constructor with config and (non-owning) logger.


config – a config instance

Result<std::pair<std::vector<MultiTrajectory::TrackStateProxy>::iterator, std::vector<MultiTrajectory::TrackStateProxy>::iterator>> select(std::vector<MultiTrajectory::TrackStateProxy> &candidates, bool &isOutlier, LoggerWrapper logger) const

Function that select the measurements compatible with the given track parameter on a surface.

  • candidates – The track state candidates which already contain predicted parameters

  • isOutlier – The indicator for outlier or not

  • logger – The logger wrapper


Pair of iterators into candidates marking the range of selected candidates

Private Members

Config m_config

Private Static Functions

template<typename cut_value_t>
static cut_value_t VariableCut(const Acts::MultiTrajectory::TrackStateProxy &trackState, const Acts::MeasurementSelector::Config::Iterator selector, const std::vector<cut_value_t> &cuts, LoggerWrapper logger)
struct MeasurementSelectorCuts
#include <Acts/TrackFinding/MeasurementSelector.hpp>

Selection cuts for associating measurements with predicted track parameters on a surface.

The default configuration only takes the best matching measurement without a cut on the local chi2.

Public Members

std::vector<double> chi2CutOff = {std::numeric_limits<double>::max()}

Maximum local chi2 contribution.

std::vector<double> etaBins

bins in |eta| to specify variable selections

std::vector<size_t> numMeasurementsCutOff = {1}

Maximum number of associated measurements on a single surface.