ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Class to model tracks as 2D density functions based on their d0 and z0 perigee parameters (mean value) and covariance matrices (determining the width of the function) More...
#include <acts/blob/master/Core/include/Acts/Vertexing/TrackDensity.hpp>
Classes | |
struct | Config |
The Config struct. More... | |
struct | State |
The State struct. More... | |
class | TrackDensityStore |
struct | TrackEntry |
Struct to store information for a single track. More... | |
Public Member Functions | |
TrackDensity ()=default | |
Default constructor. | |
TrackDensity (const Config &cfg) | |
Constructor with config. | |
void | addTrack (State &state, const BoundParameters &trk, double d0SignificanceCut, double z0SignificanceCut) const |
Add a track to the set being considered. | |
std::pair< double, double > | globalMaximumWithWidth (State &state) const |
Calculates z position of global maximum with Gaussian width for density function. Strategy: The global maximum must be somewhere near a track. Since we can calculate the first and second derivatives, at each point we can determine a) whether the function is curved up (minimum) or down (maximum) b) the distance to nearest maximum, assuming either Newton (parabolic) or Gaussian local behavior. For each track where the second derivative is negative, find step to nearest maximum, take that step and then do one final refinement. The largest density encountered in this procedure (after checking all tracks) is considered the maximum. | |
double | globalMaximum (State &state) const |
Calculates the z position of the global maximum. | |
double | trackDensity (State &state, double z) const |
Evaluate the density function at the specified coordinate along the beamline. | |
double | trackDensity (State &state, double z, double &firstDerivative, double &secondDerivative) const |
Evaluate the density function and its two first derivatives at the specified coordinate along the beamline. | |
Private Member Functions | |
void | updateMaximum (double newZ, double newValue, double newSecondDerivative, double &maxZ, double &maxValue, double &maxSecondDerivative) const |
Update the current maximum values. | |
double | stepSize (double y, double dy, double ddy) const |
Calculates the step size. | |
Private Attributes | |
Config | m_cfg |
The configuration. | |
Class to model tracks as 2D density functions based on their d0 and z0 perigee parameters (mean value) and covariance matrices (determining the width of the function)
Definition at line 22 of file TrackDensity.hpp.
View newest version in sPHENIX GitHub at line 22 of file TrackDensity.hpp
|
default |
Default constructor.
|
inline |
Constructor with config.
Definition at line 71 of file TrackDensity.hpp.
View newest version in sPHENIX GitHub at line 71 of file TrackDensity.hpp
void Acts::TrackDensity::addTrack | ( | State & | state, |
const BoundParameters & | trk, | ||
double | d0SignificanceCut, | ||
double | z0SignificanceCut | ||
) | const |
Add a track to the set being considered.
state | The track density state |
trk | Track parameters. |
d0SignificanceCut | Significance cut on d0. |
z0SignificanceCut | Significance cut on z0. |
Definition at line 12 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 12 of file TrackDensity.cpp
References Acts::SingleTrackParameters< ChargePolicy >::covariance(), Acts::eLOC_D0, Acts::eLOC_Z0, M_PI, Acts::SingleTrackParameters< ChargePolicy >::parameters(), Acts::TrackDensity::State::trackEntries, and G4InuclParticleNames::z0.
Referenced by Acts::GaussianTrackDensity::addTracks().
double Acts::TrackDensity::globalMaximum | ( | State & | state | ) | const |
Calculates the z position of the global maximum.
state | The track density state |
Definition at line 92 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 92 of file TrackDensity.cpp
Referenced by Acts::GaussianTrackDensity::globalMaximum().
std::pair< double, double > Acts::TrackDensity::globalMaximumWithWidth | ( | State & | state | ) | const |
Calculates z position of global maximum with Gaussian width for density function. Strategy: The global maximum must be somewhere near a track. Since we can calculate the first and second derivatives, at each point we can determine a) whether the function is curved up (minimum) or down (maximum) b) the distance to nearest maximum, assuming either Newton (parabolic) or Gaussian local behavior. For each track where the second derivative is negative, find step to nearest maximum, take that step and then do one final refinement. The largest density encountered in this procedure (after checking all tracks) is considered the maximum.
state | The track density state |
Definition at line 55 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 55 of file TrackDensity.cpp
References track, and Acts::TrackDensity::State::trackEntries.
Referenced by Acts::GaussianTrackDensity::globalMaximumWithWidth().
|
private |
Calculates the step size.
y | Position value |
dy | First derivative |
ddy | Second derivative |
Definition at line 126 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 126 of file TrackDensity.cpp
double Acts::TrackDensity::trackDensity | ( | State & | state, |
double | z | ||
) | const |
Evaluate the density function at the specified coordinate along the beamline.
state | The track density state |
z | z-position along the beamline |
Definition at line 96 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 96 of file TrackDensity.cpp
double Acts::TrackDensity::trackDensity | ( | State & | state, |
double | z, | ||
double & | firstDerivative, | ||
double & | secondDerivative | ||
) | const |
Evaluate the density function and its two first derivatives at the specified coordinate along the beamline.
state | The track density state | |
z | z-position along the beamline | |
[out] | firstDerivative | The first derivative |
[out] | secondDerivative | The second derivative |
Definition at line 102 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 102 of file TrackDensity.cpp
References Acts::TrackDensity::TrackDensityStore::addTrackToDensity(), Acts::TrackDensity::TrackDensityStore::density(), Acts::TrackDensity::TrackDensityStore::firstDerivative(), Acts::TrackDensity::TrackDensityStore::secondDerivative(), and Acts::TrackDensity::State::trackEntries.
|
private |
Update the current maximum values.
newZ | The new z value | |
newValue | The new value at z position | |
newSecondDerivative | The new second derivative | |
[out] | maxZ | The max z value |
[out] | maxValue | The max value at z position |
[out] | maxSecondDerivative | The max second derivative |
Definition at line 115 of file TrackDensity.cpp.
View newest version in sPHENIX GitHub at line 115 of file TrackDensity.cpp
|
private |
The configuration.
Definition at line 152 of file TrackDensity.hpp.
View newest version in sPHENIX GitHub at line 152 of file TrackDensity.hpp