|
ACTS
Experiment-independent tracking
|
Linearizes the track parameters at the PCA to a user-provided point (linPoint). More...
#include <Acts/Vertexing/NumericalTrackLinearizer.hpp>
Classes | |
| struct | Config |
| Configuration struct. More... | |
Public Member Functions | |
| NumericalTrackLinearizer (const Config &config, std::unique_ptr< const Logger > _logger=getDefaultLogger("NumTrkLinProp", Logging::INFO)) | |
| Constructor. | |
| Result< LinearizedTrack > | linearizeTrack (const BoundTrackParameters ¶ms, double linPointTime, const Surface &perigeeSurface, const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, MagneticFieldProvider::Cache &) const |
| Function that linearizes BoundTrackParameters at the PCA to a given Perigee surface. | |
Linearizes the track parameters at the PCA to a user-provided point (linPoint).
The track parameters are written as a function of the global 4D PCA position and the momentum of the particle at the PCA (i.e., (phi, theta, q/p)). The linearization then reads (see Eq. 5.7 in Ref(1)):
q = A (r - r_0) + B (p - p_0) + c,
where q are the Perigee parameters wrt linPoint, {r_0} r is the {initial} 4D PCA position, {p_0} p is the {initial} momentum at the PCA, and c is the constant term of the expansion. A and B are matrices of derivatives, denoted hereafter as "positionJacobian" and "momentumJacobian" respectively. Note that, unlike in Ref. (1), we add the time to the parametrization, which adds a row and a column to A and a row to B.
This class computes A and B by wiggling one of the 7 parameters at the PCA and computing the new PCA wrt linPoint. The derivatives wrt the k-th parameter pk are then calculated via
(q(p1, p2, ..., pk+delta, ... p7) - q(p1, p2, ..., pk, ... p7))/delta,
where q(p1, p2, ..., pk+delta, ... p7) are the new Perigee parameters (corresponding to the new PCA to linPoint). Note that p1 corresponds to the x-position of the PCA, p2 corresponds to the y-position of the PCA, etc.
Ref.(1) - CERN-THESIS-2010-027, Giacinto Piacquadio (Freiburg U.)
|
explicit |
Constructor.
| config | Configuration object |
| _logger | Logging instance |
| Result< LinearizedTrack > Acts::NumericalTrackLinearizer::linearizeTrack | ( | const BoundTrackParameters & | params, |
| double | linPointTime, | ||
| const Surface & | perigeeSurface, | ||
| const Acts::GeometryContext & | gctx, | ||
| const Acts::MagneticFieldContext & | mctx, | ||
| MagneticFieldProvider::Cache & | ) const |
Function that linearizes BoundTrackParameters at the PCA to a given Perigee surface.
| params | Parameters to linearize |
| linPointTime | Time associated to the linearization point |
linPoint is parallel to the global x-y plane | perigeeSurface | Perigee surface belonging to linPoint |
| gctx | Geometry context |
| mctx | Magnetic field context |