Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Vertexing/NumericalTrackLinearizer.hpp>
Classes | |
struct | Config |
Configuration struct. More... | |
struct | State |
State struct. More... | |
Public Types | |
using | Propagator_t = propagator_t |
Public Member Functions | |
NumericalTrackLinearizer (const Config &config, std::unique_ptr< const Logger > _logger=getDefaultLogger("NumTrkLinProp", Logging::INFO)) | |
Constructor. | |
Private Member Functions | |
const Logger & | logger () const |
Private Attributes | |
const Config | m_cfg |
std::unique_ptr< const Logger > | m_logger |
Linearizes the track parameters at the PCA to a user-provided point (linPoint). The track parameters are written as a function of the global 4D PCA position and the momentum of the particle at the PCA (i.e., (phi, theta, q/p)). The linearization then reads (see Eq. 5.7 in Ref(1)):
q = A (r - r_0) + B (p - p_0) + c,
where q are the Perigee parameters wrt linPoint, {r_0} r is the {initial} 4D PCA position, {p_0} p is the {initial} momentum at the PCA, and c is the constant term of the expansion. A and B are matrices of derivatives, denoted hereafter as "positionJacobian" and "momentumJacobian" respectively. Note that, unlike in Ref. (1), we add the time to the parametrization, which adds a row and a column to A and a row to B.
This class computes A and B by wiggling one of the 7 parameters at the PCA and computing the new PCA wrt linPoint. The derivatives wrt the k-th parameter pk are then calculated via
(q(p1, p2, ..., pk+delta, ... p7) - q(p1, p2, ..., pk, ... p7))/delta,
where q(p1, p2, ..., pk+delta, ... p7) are the new Perigee parameters (corresponding to the new PCA to linPoint). Note that p1 corresponds to the x-position of the PCA, p2 corresponds to the y-position of the PCA, etc.
Ref.(1) - CERN-THESIS-2010-027, Giacinto Piacquadio (Freiburg U.)
propagator_t | Propagator type |
propagator_options_t | Propagator options type |
Definition at line 63 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 63 of file NumericalTrackLinearizer.hpp
using Acts::NumericalTrackLinearizer< propagator_t, propagator_options_t >::Propagator_t = propagator_t |
Definition at line 65 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 65 of file NumericalTrackLinearizer.hpp
|
inline |
Constructor.
config | Configuration object |
_logger | Logger instance |
Definition at line 110 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 110 of file NumericalTrackLinearizer.hpp
|
inlineprivate |
Definition at line 139 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 139 of file NumericalTrackLinearizer.hpp
References Acts::NumericalTrackLinearizer< propagator_t, propagator_options_t >::m_logger.
|
private |
Definition at line 113 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 113 of file NumericalTrackLinearizer.hpp
|
private |
Definition at line 137 of file NumericalTrackLinearizer.hpp.
View newest version in sPHENIX GitHub at line 137 of file NumericalTrackLinearizer.hpp
Referenced by Acts::NumericalTrackLinearizer< propagator_t, propagator_options_t >::logger().