ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Experimental::CompositeSpacePointLineFitter Class Reference

Generic Implementation to fit a straight line to set of composite space point measurements. More...

#include <Acts/Seeding/CompositeSpacePointLineFitter.hpp>

Classes

struct  Config
 Fitter configuration object. More...
struct  DoFcounts
 Struct counting the different types of degrees of freedom. More...
struct  FitOptions
 Configuration object parsed per each fit. More...
struct  FitParameters
 Auxiliary object to store the fitted parameters, covariance, the chi2 / nDoF & the number of required iterations. More...
struct  FitResult
 Fit parameters together with the calibrated measurements. More...

Public Types

using ChiSqCache = detail::CompSpacePointAuxiliaries::ChiSqWithDerivatives
 Abrivation of the carrier object of the chi2 of the measurements w.r.t.
using CovMat_t = Acts::ActsSquareMatrix<s_nPars>
 Covariance estimation matrix on the segment line parameters.
using FastFitter_t = detail::FastStrawLineFitter
 Abrivation of the fast fitter.
using FitParIndex = detail::CompSpacePointAuxiliaries::FitParIndex
 Assignment of the parameter vector components.
using Line_t = detail::CompSpacePointAuxiliaries::Line_t
 Abrivation of the line type.
using ParamVec_t = std::array<double, s_nPars>
 Vector containing the 5 straight segment line parameters.
template<CompositeSpacePoint Sp_t>
using Selector_t = Delegate<bool(const Sp_t&)>
 During the repetitive recalibration, single hits may be invalidated under the track parameters.
template<CompositeSpacePointContainer Cont_t>
using SpacePoint_t = RemovePointer_t<typename Cont_t::value_type>
 Abrivation of the underlying space point type.
using Vector = Line_t::Vector
 Vector abrivation.

Public Member Functions

 CompositeSpacePointLineFitter (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("CompositeSpacePointLineFitter", Logging::Level::INFO))
 Class constructor.
const Configconfig () const
 Returns the instantiated configuration object.
template<CompositeSpacePointContainer Cont_t>
DoFcounts countDoF (const Cont_t &measurements) const
 Classify measurements according to whether they measure loc0, loc1, time or are straw measurements.
template<CompositeSpacePointContainer Cont_t>
DoFcounts countDoF (const Cont_t &measurements, const Selector_t< SpacePoint_t< Cont_t > > &selector) const
 Classify measurements according to whether they measure loc0, loc1, time or are straw measurements.
std::vector< FitParIndexextractFitablePars (const DoFcounts &hitCounts) const
 Helper function to extract which parameters shall be extracted from the hit counts.
template<CompositeSpacePointContainer Cont_t, CompositeSpacePointCalibrator< Cont_t, Cont_t > Calibrator_t>
FitResult< Cont_t > fit (FitOptions< Cont_t, Calibrator_t > &&fitOpts) const
 Fit a line to a set of Composite space point measurements.

Static Public Attributes

static constexpr auto s_nPars = toUnderlying(FitParIndex::nPars)

Detailed Description

Generic Implementation to fit a straight line to set of composite space point measurements.

The line is parameterized by x_{0}, y_{0}, theta, phi, where the first two parameters are the line's intercept at z=0 and the latter two are the polar and azimuthal angle in the local frame common to all space points. Optionally, the fitter may also estimate the offset in the time of arrival at the line's reference plane.

Member Typedef Documentation

◆ ChiSqCache

using Acts::Experimental::CompositeSpacePointLineFitter::ChiSqCache = detail::CompSpacePointAuxiliaries::ChiSqWithDerivatives

Abrivation of the carrier object of the chi2 of the measurements w.r.t.

the line together with the corresponding derivatives

◆ CovMat_t

Covariance estimation matrix on the segment line parameters.

◆ FastFitter_t

Abrivation of the fast fitter.

◆ FitParIndex

using Acts::Experimental::CompositeSpacePointLineFitter::FitParIndex = detail::CompSpacePointAuxiliaries::FitParIndex

Assignment of the parameter vector components.

◆ Line_t

using Acts::Experimental::CompositeSpacePointLineFitter::Line_t = detail::CompSpacePointAuxiliaries::Line_t

Abrivation of the line type.

◆ ParamVec_t

Vector containing the 5 straight segment line parameters.

◆ Selector_t

template<CompositeSpacePoint Sp_t>
using Acts::Experimental::CompositeSpacePointLineFitter::Selector_t = Delegate<bool(const Sp_t&)>

During the repetitive recalibration, single hits may be invalidated under the track parameters.

Define a Delegate to sort out the invalid hits

◆ SpacePoint_t

template<CompositeSpacePointContainer Cont_t>
using Acts::Experimental::CompositeSpacePointLineFitter::SpacePoint_t = RemovePointer_t<typename Cont_t::value_type>

Abrivation of the underlying space point type.

◆ Vector

Vector abrivation.

Constructor & Destructor Documentation

◆ CompositeSpacePointLineFitter()

Acts::Experimental::CompositeSpacePointLineFitter::CompositeSpacePointLineFitter ( const Config & cfg,
std::unique_ptr< const Logger > logger = getDefaultLogger("CompositeSpacePointLineFitter", Logging::Level::INFO) )
explicit

Class constructor.

Parameters
cfgReference to the fitter configuration object
loggerLogger object used for debug print out

Member Function Documentation

◆ config()

const Config & Acts::Experimental::CompositeSpacePointLineFitter::config ( ) const

Returns the instantiated configuration object.

◆ countDoF() [1/2]

template<CompositeSpacePointContainer Cont_t>
DoFcounts Acts::Experimental::CompositeSpacePointLineFitter::countDoF ( const Cont_t & measurements) const

Classify measurements according to whether they measure loc0, loc1, time or are straw measurements.

Parameters
measurementsCollection of composite space points of interest

◆ countDoF() [2/2]

template<CompositeSpacePointContainer Cont_t>
DoFcounts Acts::Experimental::CompositeSpacePointLineFitter::countDoF ( const Cont_t & measurements,
const Selector_t< SpacePoint_t< Cont_t > > & selector ) const

Classify measurements according to whether they measure loc0, loc1, time or are straw measurements.

Parameters
measurementsCollection of composite space points of interest
selectorDelegate to sort out the invalid measurements

◆ extractFitablePars()

std::vector< FitParIndex > Acts::Experimental::CompositeSpacePointLineFitter::extractFitablePars ( const DoFcounts & hitCounts) const

Helper function to extract which parameters shall be extracted from the hit counts.

Parameters
hitCountsFilled array representing the degrees of freedom for nonBending, bending, timeStrip, and straw measurement

◆ fit()

template<CompositeSpacePointContainer Cont_t, CompositeSpacePointCalibrator< Cont_t, Cont_t > Calibrator_t>
FitResult< Cont_t > Acts::Experimental::CompositeSpacePointLineFitter::fit ( FitOptions< Cont_t, Calibrator_t > && fitOpts) const

Fit a line to a set of Composite space point measurements.

Parameters
fitOptsAuxiliary object carrying all necessary input needed to execute the fit

Member Data Documentation

◆ s_nPars

auto Acts::Experimental::CompositeSpacePointLineFitter::s_nPars = toUnderlying(FitParIndex::nPars)
staticconstexpr