File ImpactPointEstimator.hpp¶
-
namespace Acts
Set the Geometry Context PLUGIN.
Set the Calibration Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.
Set the Mangetic Field Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.
Currently implemented for the two most common formats: rz and xyz.
-
struct ImpactParametersAndSigma¶
- #include <Acts/Vertexing/ImpactPointEstimator.hpp>
-
template<typename input_track_t, typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
class ImpactPointEstimator - #include <Acts/Vertexing/ImpactPointEstimator.hpp>
Estimator for impact point calculations.
Public Functions
-
inline ImpactPointEstimator(const Config &cfg)
Constructor.
- Parameters
cfg – Configuration object
-
Result<double> calculate3dDistance(const GeometryContext &gctx, const BoundTrackParameters &trkParams, const Vector3 &vtxPos, State &state) const
Calculates 3D distance between a track and a 3D point.
- Parameters
gctx – The geometry context
trkParams – Track parameters
vtxPos – Position to calculate distance to
state – The state object
- Returns
Distance
-
Result<std::unique_ptr<const BoundTrackParameters>> estimate3DImpactParameters(const GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const BoundTrackParameters &trkParams, const Vector3 &vtxPos, State &state) const
Creates track parameters bound to plane at point of closest approach in 3d to given reference position.
The parameters and errors are defined on the plane intersecting the track at point of closest approach, with track orthogonal to the plane and center of the plane defined as the given reference point (vertex).
- Parameters
gctx – The geometry context
mctx – The magnetic field context
trkParams – Track parameters
vtxPos – Reference position (vertex)
state – The state object
- Returns
New track params
-
Result<ImpactParametersAndSigma> estimateImpactParameters(const BoundTrackParameters &track, const Vertex<input_track_t> &vtx, const GeometryContext &gctx, const MagneticFieldContext &mctx) const
Estimates the impact parameters and their errors of a given track w.r.t.
a vertex by propagating the trajectory state towards the vertex position.
- Parameters
track – Track to estimate IP from
vtx – Vertex the track belongs to
gctx – The geometry context
mctx – The magnetic field context
-
Result<double> get3dVertexCompatibility(const GeometryContext &gctx, const BoundTrackParameters *trkParams, const Vector3 &vertexPos) const
Estimates the compatibility of a track to a vertex position based on the 3d distance between the track and the vertex.
- Parameters
gctx – The Geometry context
trkParams – Track parameters at point of closest approach in 3d as retrieved by estimate3DImpactParameters
vertexPos – The vertex position
- Returns
The compatibility value
Private Functions
-
Result<void> getDistanceAndMomentum(const GeometryContext &gctx, const BoundTrackParameters &trkParams, const Vector3 &vtxPos, Vector3 &deltaR, Vector3 &momDir, State &state) const¶
Helper function to calculate relative distance between track and vtxPos and the direction of the momentum.
- Parameters
gctx – The geometry context
trkParams – Track parameters
vtxPos – The vertex position
deltaR – Relative position between track and vtxPos, to be determined by method
momDir – Momentum direction, to be determined by method
state – The state object
-
Result<double> performNewtonApproximation(const Vector3 &trkPos, const Vector3 &vtxPos, double phi, double theta, double r) const¶
Performs a Newton approximation to retrieve a point of closest approach in 3D to a reference position.
- Parameters
trkPos – Initial position
vtxPos – Reference position
phi – Phi along the helix which will be changed by the Newton method
theta – Track theta
r – Helix radius
- Returns
New phi value
-
struct Config
- #include <Acts/Vertexing/ImpactPointEstimator.hpp>
Public Functions
Config constructor if magnetic field is present.
- Parameters
bIn – The magnetic field
prop – The propagator
Config constructor without B field -> uses NullBField provided)
- Parameters
prop – The propagator
Public Members
-
std::shared_ptr<const MagneticFieldProvider> bField
Magnetic field.
-
int maxIterations = 20
Max. number of iterations in Newton method.
-
double maxRho = 1e+15
Maximum curvature value.
-
double minQoP = 1e-15
Minimum q/p value.
-
double precision = 1.e-10
Desired precision in deltaPhi in Newton method.
-
std::shared_ptr<const propagator_t> propagator
Propagator.
-
struct State
- #include <Acts/Vertexing/ImpactPointEstimator.hpp>
State struct.
Public Functions
-
inline State(MagneticFieldProvider::Cache fieldCacheIn)
The state constructor.
- Parameters
fieldCacheIn – The magnetic field cache
Public Members
-
MagneticFieldProvider::Cache fieldCache
Magnetic field cache.
-
inline State(MagneticFieldProvider::Cache fieldCacheIn)
-
inline ImpactPointEstimator(const Config &cfg)
-
struct ImpactParametersAndSigma¶