|
ACTS
Experiment-independent tracking
|
Estimator for impact point calculations A description of the underlying mathematics can be found here: https://github.com/acts-project/acts/pull/2506 TODO: Upload reference at a better place. More...
#include <Acts/Vertexing/ImpactPointEstimator.hpp>
Classes | |
| struct | Config |
| struct | State |
| State struct. More... | |
Public Member Functions | |
| ImpactPointEstimator (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("ImpactPointEstimator", Logging::INFO)) | |
| Constructor. | |
| ImpactPointEstimator (const ImpactPointEstimator &other) | |
| Copy constructor to clone logger (class owns a unique pointer to it, which can't be copied). | |
| ImpactPointEstimator (ImpactPointEstimator &&)=default | |
| Move constructor for impact point estimator. | |
| Result< double > | calculateDistance (const GeometryContext &gctx, const BoundTrackParameters &trkParams, const Vector3 &vtxPos, State &state) const |
| Calculates 3D distance between a track and a vertex. | |
| Result< BoundTrackParameters > | estimate3DImpactParameters (const GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const BoundTrackParameters &trkParams, const Vector3 &vtxPos, State &state) const |
| Estimates the track parameters at the 3D PCA (i.e., a point of minimal 3D distance) to a vertex. | |
| Result< double > | get3DLifetimeSignOfTrack (const BoundTrackParameters &track, const Vertex &vtx, const Acts::Vector3 &direction, const GeometryContext &gctx, const MagneticFieldContext &mctx) const |
| Estimates the sign of the 3D lifetime of a given track w.r.t. | |
| template<int nDim> | |
| Result< std::pair< Acts::ActsVector< nDim >, Acts::Vector3 > > | getDistanceAndMomentum (const GeometryContext &gctx, const BoundTrackParameters &trkParams, const ActsVector< nDim > &vtxPos, State &state) const |
| Calculate the distance between a track and a vertex by finding the corresponding 3D PCA. | |
| Result< ImpactParametersAndSigma > | getImpactParameters (const BoundTrackParameters &track, const Vertex &vtx, const GeometryContext &gctx, const MagneticFieldContext &mctx, bool calculateTimeIP=false) const |
| Calculates the impact parameters of a track w.r.t. | |
| Result< std::pair< double, double > > | getLifetimeSignOfTrack (const BoundTrackParameters &track, const Vertex &vtx, const Acts::Vector3 &direction, const GeometryContext &gctx, const MagneticFieldContext &mctx) const |
| Estimates the sign of the 2D and Z lifetime of a given track w.r.t. | |
| template<int nDim> | |
| Result< double > | getVertexCompatibility (const GeometryContext &gctx, const BoundTrackParameters *trkParams, const ActsVector< nDim > &vertexPos) const |
| Estimates the compatibility of a track to a vertex based on their 3D (if nDim = 3) or 4D (if nDim = 4) distance and the track covariance. | |
Estimator for impact point calculations A description of the underlying mathematics can be found here: https://github.com/acts-project/acts/pull/2506 TODO: Upload reference at a better place.
|
explicit |
Constructor.
| cfg | Configuration object |
| logger | Logging instance |
| Acts::ImpactPointEstimator::ImpactPointEstimator | ( | const ImpactPointEstimator & | other | ) |
Copy constructor to clone logger (class owns a unique pointer to it, which can't be copied).
| other | Impact point estimator to be cloned |
|
default |
Move constructor for impact point estimator.
| Result< double > Acts::ImpactPointEstimator::calculateDistance | ( | const GeometryContext & | gctx, |
| const BoundTrackParameters & | trkParams, | ||
| const Vector3 & | vtxPos, | ||
| State & | state ) const |
Calculates 3D distance between a track and a vertex.
| gctx | The geometry context |
| trkParams | Track parameters |
| vtxPos | 3D position to calculate the distance to |
| state | The state object |
| Result< BoundTrackParameters > Acts::ImpactPointEstimator::estimate3DImpactParameters | ( | const GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| const BoundTrackParameters & | trkParams, | ||
| const Vector3 & | vtxPos, | ||
| State & | state ) const |
Estimates the track parameters at the 3D PCA (i.e., a point of minimal 3D distance) to a vertex.
The track parameters are defined wrt a reference plane that has its origin at the vertex position and whose z-axis points in the direction of the track momentum. The plane's x-axis points approximately from the vertex to the 3D PCA (it is only approximate because we force it to be orthogonal to the z-axis). The y-axis is calculated as a cross product between x- and z-axis.
| gctx | The geometry context |
| mctx | The magnetic field context |
| trkParams | Track parameters |
| vtxPos | Reference position (vertex) |
| state | The state object |
| Result< double > Acts::ImpactPointEstimator::get3DLifetimeSignOfTrack | ( | const BoundTrackParameters & | track, |
| const Vertex & | vtx, | ||
| const Acts::Vector3 & | direction, | ||
| const GeometryContext & | gctx, | ||
| const MagneticFieldContext & | mctx ) const |
Estimates the sign of the 3D lifetime of a given track w.r.t.
a vertex and a direction (e.g. a jet direction)
| track | Track to estimate the IP from |
| vtx | Vertex the track belongs to |
| direction | The direction |
| gctx | The geometry context |
| mctx | The magnetic field context |
| Result< std::pair< Acts::ActsVector< nDim >, Acts::Vector3 > > Acts::ImpactPointEstimator::getDistanceAndMomentum | ( | const GeometryContext & | gctx, |
| const BoundTrackParameters & | trkParams, | ||
| const ActsVector< nDim > & | vtxPos, | ||
| State & | state ) const |
Calculate the distance between a track and a vertex by finding the corresponding 3D PCA.
Returns also the momentum direction at the 3D PCA. The template parameter nDim determines whether we calculate the 3D distance (nDim = 3) or the 4D distance (nDim = 4) to the 3D PCA.
| nDim | Number of dimensions used to compute compatibility |
nDim = 3 we only consider spatial dimensions; if nDim = 4, we also consider time. Other values are not allowed. | gctx | Geometry context |
| trkParams | Track parameters |
| vtxPos | Vertex position |
| state | The state object |
| Result< ImpactParametersAndSigma > Acts::ImpactPointEstimator::getImpactParameters | ( | const BoundTrackParameters & | track, |
| const Vertex & | vtx, | ||
| const GeometryContext & | gctx, | ||
| const MagneticFieldContext & | mctx, | ||
| bool | calculateTimeIP = false ) const |
Calculates the impact parameters of a track w.r.t.
a vertex. The corresponding errors are approximated by summing the variances of the track and the vertex.
| track | Track whose impact parameters are calculated |
| vtx | Vertex corresponding to the track |
| gctx | The geometry context |
| mctx | The magnetic field context |
| calculateTimeIP | If true, the difference in time is computed |
| Result< std::pair< double, double > > Acts::ImpactPointEstimator::getLifetimeSignOfTrack | ( | const BoundTrackParameters & | track, |
| const Vertex & | vtx, | ||
| const Acts::Vector3 & | direction, | ||
| const GeometryContext & | gctx, | ||
| const MagneticFieldContext & | mctx ) const |
Estimates the sign of the 2D and Z lifetime of a given track w.r.t.
a vertex and a direction (e.g. a jet direction) by propagating the trajectory state towards the vertex position and computing the scalar product with the direction vector
| track | Track to estimate the IP from |
| vtx | Vertex the track belongs to |
| direction | The direction |
| gctx | The geometry context |
| mctx | The magnetic field context |
| Result< double > Acts::ImpactPointEstimator::getVertexCompatibility | ( | const GeometryContext & | gctx, |
| const BoundTrackParameters * | trkParams, | ||
| const ActsVector< nDim > & | vertexPos ) const |
Estimates the compatibility of a track to a vertex based on their 3D (if nDim = 3) or 4D (if nDim = 4) distance and the track covariance.
| nDim | Number of dimensions used to compute compatibility |
nDim = 3 we only consider spatial dimensions; if nDim = 4, we also consider time. Other values are not allowed. | gctx | The Geometry context |
| trkParams | Track parameters at point of closest approach in 3D as retrieved by estimate3DImpactParameters |
| vertexPos | The vertex position |