EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Estimator for impact point calculations. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Vertexing/ImpactPointEstimator.hpp>
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< 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. | |
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. | |
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
|
private |
Definition at line 40 of file ImpactPointEstimator.hpp.
View newest version in sPHENIX GitHub at line 40 of file ImpactPointEstimator.hpp
|
inline |
Constructor.
cfg | Configuration object |
Definition at line 86 of file ImpactPointEstimator.hpp.
View newest version in sPHENIX GitHub at line 86 of file ImpactPointEstimator.hpp
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.
gctx | The geometry context |
trkParams | Track parameters |
vtxPos | Position to calculate distance to |
state | The state object |
Definition at line 19 of file ImpactPointEstimator.ipp.
View newest version in sPHENIX GitHub at line 19 of file ImpactPointEstimator.ipp
References deltaR().
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).
gctx | The geometry context |
mctx | The magnetic field context |
trkParams | Track parameters |
vtxPos | Reference position (vertex) |
state | The state object |
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.
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.
track | Track to estimate IP from |
vtx | Vertex the track belongs to |
gctx | The geometry context |
mctx | The 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().
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.
gctx | The Geometry context |
track | Track parameters at point of closest approach in 3d as retrieved by estimate3DImpactParameters |
vertexPos | The vertex position |
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().
|
private |
Helper function to calculate relative distance between track and vtxPos and the direction of the momentum.
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 |
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().
|
private |
Performs a Newton approximation to retrieve a point of closest approach in 3D to a reference position.
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 |
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.
|
private |
Configuration object.
Definition at line 150 of file ImpactPointEstimator.hpp.
View newest version in sPHENIX GitHub at line 150 of file ImpactPointEstimator.hpp