File MeasurementSelector.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

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.

Parameters

config – a config instance

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

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

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

  • isOutlier – The indicator for outlier or not

  • logger – The logger wrapper

Returns

Pair of iterators into candidates marking the range of selected candidates

Private Functions

double calculateChi2(TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Measurement fullCalibrated, TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::MeasurementCovariance fullCalibratedCovariance, TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Parameters predicted, TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Covariance predictedCovariance, TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Projector projector, unsigned int calibratedSize) const

Private Members

Config m_config

Private Static Functions

template<typename traj_t, typename cut_value_t>
static inline cut_value_t VariableCut(const typename Acts::MultiTrajectory<traj_t>::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.