Outlier finder using a Chi2 cut.
More...
#include <FitterHelperFunctions.h>
|
| template<typename trajectory_t> |
| bool | operator() (typename Acts::MultiTrajectory< trajectory_t >::ConstTrackStateProxy state) const |
| | Classify a measurement as a valid one or an outlier.
|
Outlier finder using a Chi2 cut.
Definition at line 49 of file FitterHelperFunctions.h.
◆ operator()()
template<typename trajectory_t>
| bool ActsTrk::detail::FitterHelperFunctions::ATLASOutlierFinder::operator() |
( |
typename Acts::MultiTrajectory< trajectory_t >::ConstTrackStateProxy | state | ) |
const |
|
inline |
Classify a measurement as a valid one or an outlier.
- Template Parameters
-
| track_state_t | Type of the track state |
- Parameters
-
| state | The track state to classify |
- Return values
-
| False | if the measurement is not an outlier |
| True | if the measurement is an outlier |
Definition at line 58 of file FitterHelperFunctions.h.
58 {
59
60 if (not state.hasCalibrated() or not state.hasPredicted()) {
61 return false;
62 }
63 return Acts::visit_measurement(
64 state.calibratedSize(),
65 [&] (
auto N) ->
bool {
66 constexpr size_t kMeasurementSize = decltype(N)::value;
67
68 auto subspaceHelper = state.template projectorSubspaceHelper<kMeasurementSize>();
69
70 typename Acts::TrackStateTraits<kMeasurementSize, true>::Calibrated calibrated{
71 state.template calibrated<Acts::kMeasurementSizeMax>().data()};
72
73 typename Acts::TrackStateTraits<kMeasurementSize, true>::CalibratedCovariance
74 calibratedCovariance{state.template calibratedCovariance<Acts::kMeasurementSizeMax>().data()};
75
76
77
78 const auto H = subspaceHelper.projector();
79
80 const auto residual = calibrated -
H * state.predicted();
81 double chi2 = (
residual.transpose() * (calibratedCovariance +
H * state.predictedCovariance() *
H.transpose()).inverse() * residual).value();
83 });
84 }
double chi2(TH1 *h0, TH1 *h1)
double StateChiSquaredPerNumberDoFCut
◆ StateChiSquaredPerNumberDoFCut
| double ActsTrk::detail::FitterHelperFunctions::ATLASOutlierFinder::StateChiSquaredPerNumberDoFCut = std::numeric_limits<double>::max() |
The documentation for this struct was generated from the following file: