EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t > Class Template Reference

Estimator for impact point calculations. More...

#include <acts/blob/sPHENIX/Core/include/Acts/Vertexing/ImpactPointEstimator.hpp>

+ Collaboration diagram for Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >:

Classes

struct  Config
 
struct  State
 

Public Member Functions

 ImpactPointEstimator (const Config &cfg)
 Constructor.
 
Result< double > calculate3dDistance (const GeometryContext &gctx, const BoundTrackParameters &trkParams, const Vector3D &vtxPos, State &state) const
 Calculates 3D distance between a track and a 3D point.
 
Result< std::unique_ptr< const
BoundTrackParameters > > 
estimate3DImpactParameters (const GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const BoundTrackParameters &trkParams, const Vector3D &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).
 
Result< double > get3dVertexCompatibility (const GeometryContext &gctx, const BoundTrackParameters *trkParams, const Vector3D &vertexPos) const
 Estimates the compatibility of a track to a vertex position based on the 3d distance between the track and the vertex.
 
Result< ImpactParametersAndSigmaestimateImpactParameters (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.
 

Private Types

using BField_t = typename propagator_t::Stepper::BField
 

Private Member Functions

Result< double > performNewtonApproximation (const Vector3D &trkPos, const Vector3D &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.
 
Result< void > getDistanceAndMomentum (const GeometryContext &gctx, const BoundTrackParameters &trkParams, const Vector3D &vtxPos, Vector3D &deltaR, Vector3D &momDir, State &state) const
 Helper function to calculate relative distance between track and vtxPos and the direction of the momentum.
 

Private Attributes

const Config m_cfg
 Configuration object.
 

Detailed Description

template<typename input_track_t, typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
class Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >

Estimator for impact point calculations.

Definition at line 39 of file ImpactPointEstimator.hpp.

View newest version in sPHENIX GitHub at line 39 of file ImpactPointEstimator.hpp

Member Typedef Documentation

template<typename input_track_t, typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
using Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::BField_t = typename propagator_t::Stepper::BField
private

Definition at line 40 of file ImpactPointEstimator.hpp.

View newest version in sPHENIX GitHub at line 40 of file ImpactPointEstimator.hpp

Constructor & Destructor Documentation

template<typename input_track_t, typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::ImpactPointEstimator ( const Config cfg)
inline

Constructor.

Parameters
cfgConfiguration object

Definition at line 86 of file ImpactPointEstimator.hpp.

View newest version in sPHENIX GitHub at line 86 of file ImpactPointEstimator.hpp

Member Function Documentation

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< double > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::calculate3dDistance ( const GeometryContext gctx,
const BoundTrackParameters trkParams,
const Vector3D vtxPos,
State state 
) const

Calculates 3D distance between a track and a 3D point.

Parameters
gctxThe geometry context
trkParamsTrack parameters
vtxPosPosition to calculate distance to
stateThe state object
Returns
Distance

Definition at line 19 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 19 of file ImpactPointEstimator.ipp

References deltaR().

+ Here is the call graph for this function:

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< std::unique_ptr< const Acts::BoundTrackParameters > > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::estimate3DImpactParameters ( const GeometryContext gctx,
const Acts::MagneticFieldContext mctx,
const BoundTrackParameters trkParams,
const Vector3D 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
gctxThe geometry context
mctxThe magnetic field context
trkParamsTrack parameters
vtxPosReference position (vertex)
stateThe state object
Returns
New track params

Definition at line 40 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 40 of file ImpactPointEstimator.ipp

References Acts::backward, deltaR(), Acts::getDefaultLogger(), and INFO.

+ Here is the call graph for this function:

template<typename input_track_t, typename propagator_t , typename propagator_options_t >
Acts::Result< Acts::ImpactParametersAndSigma > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::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
trackTrack to estimate IP from
vtxVertex the track belongs to
gctxThe geometry context
mctxThe magnetic field context

Definition at line 251 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 251 of file ImpactPointEstimator.ipp

References Acts::backward, cos(), Acts::Vertex< input_track_t >::covariance(), Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundTheta, Acts::eZ, Acts::getDefaultLogger(), INFO, Acts::ImpactParametersAndSigma::IPd0, Acts::ImpactParametersAndSigma::IPz0, Acts::ImpactParametersAndSigma::IPz0SinTheta, phi, Acts::Vertex< input_track_t >::position(), Acts::ImpactParametersAndSigma::PVsigmad0, Acts::ImpactParametersAndSigma::PVsigmaz0, Acts::ImpactParametersAndSigma::PVsigmaz0SinTheta, Acts::ImpactParametersAndSigma::sigmad0, Acts::ImpactParametersAndSigma::sigmaz0, Acts::ImpactParametersAndSigma::sigmaz0SinTheta, and theta().

+ Here is the call graph for this function:

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< double > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::get3dVertexCompatibility ( const GeometryContext gctx,
const BoundTrackParameters trkParams,
const Vector3D vertexPos 
) const

Estimates the compatibility of a track to a vertex position based on the 3d distance between the track and the vertex.

Parameters
gctxThe Geometry context
trackTrack parameters at point of closest approach in 3d as retrieved by estimate3DImpactParameters
vertexPosThe vertex position
Returns
The compatibility value

Definition at line 92 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 92 of file ImpactPointEstimator.ipp

References Acts::Test::cov, Acts::SingleBoundTrackParameters< charge_t >::covariance(), Acts::eX, Acts::eY, Acts::SingleBoundTrackParameters< charge_t >::parameters(), Acts::SingleBoundTrackParameters< charge_t >::referenceSurface(), and Acts::Surface::transform().

+ Here is the call graph for this function:

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< void > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::getDistanceAndMomentum ( const GeometryContext gctx,
const BoundTrackParameters trkParams,
const Vector3D vtxPos,
Vector3D deltaR,
Vector3D momDir,
State state 
) const
private

Helper function to calculate relative distance between track and vtxPos and the direction of the momentum.

Parameters
gctxThe geometry context
trkParamsTrack parameters
vtxPosThe vertex position
deltaRRelative position between track and vtxPos, to be determined by method
momDirMomentum direction, to be determined by method
stateThe state object

Definition at line 190 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 190 of file ImpactPointEstimator.ipp

References kdfinder::abs(), Acts::Surface::center(), cos(), Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eZ, Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::State::fieldCache, Acts::SingleBoundTrackParameters< charge_t >::parameters(), phi, Acts::SingleBoundTrackParameters< charge_t >::referenceSurface(), and theta().

+ Here is the call graph for this function:

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< double > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::performNewtonApproximation ( const Vector3D trkPos,
const Vector3D vtxPos,
double  phi,
double  theta,
double  r 
) const
private

Performs a Newton approximation to retrieve a point of closest approach in 3D to a reference position.

Parameters
trkPosInitial position
vtxPosReference position
phiPhi along the helix which will be changed by the Newton method
thetaTrack theta
rHelix radius
Returns
New phi value

Definition at line 134 of file ImpactPointEstimator.ipp.

View newest version in sPHENIX GitHub at line 134 of file ImpactPointEstimator.ipp

References kdfinder::abs(), cos(), and phi.

+ Here is the call graph for this function:

Member Data Documentation

template<typename input_track_t, typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
const Config Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::m_cfg
private

Configuration object.

Definition at line 150 of file ImpactPointEstimator.hpp.

View newest version in sPHENIX GitHub at line 150 of file ImpactPointEstimator.hpp


The documentation for this class was generated from the following files: