ECCE @ 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/master/Core/include/Acts/Vertexing/ImpactPointEstimator.hpp>

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

Classes

struct  Config
 

Public Member Functions

 ImpactPointEstimator (const Config &cfg)
 Constructor.
 
Result< double > calculate3dDistance (const GeometryContext &gctx, const BoundParameters &trkParams, const Vector3D &vtxPos) const
 Calculates 3D distance between a track and a 3D point.
 
Result< std::unique_ptr< const
BoundParameters > > 
estimate3DImpactParameters (const GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const BoundParameters &trkParams, const Vector3D &vtxPos) 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 BoundParameters *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 BoundParameters &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< voidgetDistanceAndMomentum (const GeometryContext &gctx, const BoundParameters &trkParams, const Vector3D &vtxPos, Vector3D &deltaR, Vector3D &momDir) 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 77 of file ImpactPointEstimator.hpp.

View newest version in sPHENIX GitHub at line 77 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 BoundParameters trkParams,
const Vector3D vtxPos 
) const

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

Parameters
gctxThe geometry context
trkParamsTrack parameters
vtxPosPosition to calculate distance to
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().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename input_track_t , typename propagator_t , typename propagator_options_t >
Acts::Result< std::unique_ptr< const Acts::BoundParameters > > Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::estimate3DImpactParameters ( const GeometryContext gctx,
const Acts::MagneticFieldContext mctx,
const BoundParameters trkParams,
const Vector3D vtxPos 
) 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)
Returns
New track params

Definition at line 39 of file ImpactPointEstimator.ipp.

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

References Acts::backward, and deltaR().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller 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 BoundParameters 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 246 of file ImpactPointEstimator.ipp.

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

References Acts::backward, Acts::Vertex< input_track_t >::covariance(), Acts::eLOC_D0, Acts::eLOC_Z0, Acts::ePHI, Acts::eTHETA, Acts::eZ, 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, theta(), and G4InuclParticleNames::z0.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller 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 BoundParameters 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 90 of file ImpactPointEstimator.ipp.

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

References Acts::SingleTrackParameters< ChargePolicy >::covariance(), Acts::eX, Acts::eY, Acts::SingleTrackParameters< ChargePolicy >::parameters(), Acts::SingleBoundTrackParameters< ChargePolicy >::referenceSurface(), and Acts::Surface::transform().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller 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 BoundParameters trkParams,
const Vector3D vtxPos,
Vector3D deltaR,
Vector3D momDir 
) 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

Definition at line 188 of file ImpactPointEstimator.ipp.

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

References kdfinder::abs(), Acts::Surface::center(), Acts::eLOC_D0, Acts::eLOC_Z0, Acts::ePHI, Acts::eQOP, Acts::eTHETA, Acts::eZ, Acts::SingleTrackParameters< ChargePolicy >::parameters(), phi, r, Acts::SingleBoundTrackParameters< ChargePolicy >::referenceSurface(), theta(), and G4InuclParticleNames::z0.

+ 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 132 of file ImpactPointEstimator.ipp.

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

References kdfinder::abs(), phi, and G4InuclParticleNames::z0.

+ 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 136 of file ImpactPointEstimator.hpp.

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


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