The implemented method is based on the conformal map transformation.
It estimates the full free track parameters, i.e. (x, y, z, t, dx, dy, dz, q/p) at the bottom space point. The magnetic field (which can be along any direction) is also necessary for the momentum estimation.
It resembles the method used in ATLAS for the track parameters estimated from seed, i.e. the function InDet::SiTrackMaker_xk::getAtaPlane here: https://acode-browser.usatlas.bnl.gov/lxr/source/athena/InnerGeometry/InDetRecTools/SiTrackMakerTool_xk/src/SiTrackMaker_xk.cxx
|
| BoundMatrix | Acts::estimateTrackParamCovariance (const EstimateTrackParamCovarianceConfig &config, const BoundVector ¶ms, bool hasTime) |
| | Estimate the covariance matrix of the given track parameters based on the provided configuration.
|
| Result< BoundVector > | Acts::estimateTrackParamsFromSeed (const GeometryContext &gctx, const Surface &surface, const Vector3 &sp0, double t0, const Vector3 &sp1, const Vector3 &sp2, const Vector3 &bField) |
| | Estimate bound track parameters from three space points.
|
| template<std::ranges::range space_point_range_t> |
| Result< BoundVector > | Acts::estimateTrackParamsFromSeed (const GeometryContext &gctx, space_point_range_t spRange, const Surface &surface, const Vector3 &bField) |
| | Estimate bound track parameters from three space points.
|
| FreeVector | Acts::estimateTrackParamsFromSeed (const Vector3 &sp0, const Vector3 &sp1, const Vector3 &sp2, const Vector3 &bField) |
| | Estimate free track parameters from three space points.
|
| FreeVector | Acts::estimateTrackParamsFromSeed (const Vector3 &sp0, double t0, const Vector3 &sp1, const Vector3 &sp2, const Vector3 &bField) |
| | Estimate free track parameters from three space points.
|
| template<std::ranges::range space_point_range_t> |
| FreeVector | Acts::estimateTrackParamsFromSeed (space_point_range_t spRange, const Vector3 &bField) |
| | Estimate free track parameters from three space points.
|
◆ estimateTrackParamCovariance()
Estimate the covariance matrix of the given track parameters based on the provided configuration.
The assumption is that we can model the uncertainty of the track parameters as a diagonal matrix with the provided initial sigmas. The inflation factors are used to inflate the initial variances based on the provided configuration. The uncertainty of q/p is estimated based on the relative uncertainty of the q/pt and the theta uncertainty.
- Parameters
-
| config | is the configuration for the estimation |
| params | is the track parameters |
| hasTime | is true if the track parameters have time |
- Returns
- the covariance matrix of the track parameters
◆ estimateTrackParamsFromSeed() [1/5]
Estimate bound track parameters from three space points.
- Parameters
-
| gctx | is the geometry context |
| surface | is the surface of the bottom space point. The estimated bound track parameters will be represented at this surface. |
| sp0 | is the bottom space point |
| t0 | is the time of the bottom space point |
| sp1 | is the middle space point |
| sp2 | is the top space point |
| bField | is the magnetic field vector |
- Returns
- bound parameters
◆ estimateTrackParamsFromSeed() [2/5]
template<std::ranges::range space_point_range_t>
Estimate bound track parameters from three space points.
- Template Parameters
-
| space_point_range_t | The type of space point range |
- Parameters
-
| gctx | is the geometry context |
| spRange | is the range of space points |
| surface | is the surface of the bottom space point. The estimated bound track parameters will be represented at this surface. |
| bField | is the magnetic field vector |
- Returns
- bound parameters
◆ estimateTrackParamsFromSeed() [3/5]
Estimate free track parameters from three space points.
This is a purely spatial estimation, i.e. the time parameter will be set to 0.
- Parameters
-
| sp0 | is the bottom space point |
| sp1 | is the middle space point |
| sp2 | is the top space point |
| bField | is the magnetic field vector |
- Returns
- the free parameters
◆ estimateTrackParamsFromSeed() [4/5]
Estimate free track parameters from three space points.
- Parameters
-
| sp0 | is the bottom space point |
| t0 | is the time of the bottom space point |
| sp1 | is the middle space point |
| sp2 | is the top space point |
| bField | is the magnetic field vector |
- Returns
- the free parameters
◆ estimateTrackParamsFromSeed() [5/5]
template<std::ranges::range space_point_range_t>
| FreeVector Acts::estimateTrackParamsFromSeed |
( |
space_point_range_t | spRange, |
|
|
const Vector3 & | bField ) |
Estimate free track parameters from three space points.
- Template Parameters
-
| space_point_range_t | The type of space point range |
- Parameters
-
| spRange | is the range of space points |
| bField | is the magnetic field vector |
- Returns
- the free parameters