ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::GaussianTrackDensity Class Reference

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/Vertexing/GaussianTrackDensity.hpp>

Classes

struct  Config
 The Config struct. More...
struct  State
 The State struct. More...
struct  TrackEntry
 Struct to store information for a single track. More...

Public Member Functions

 GaussianTrackDensity (const Config &cfg)
 Constructor with config.
Result< std::optional< double > > globalMaximum (State &state, const std::vector< InputTrack > &trackList) const
 Calculates the z position of the global maximum.
Result< std::optional< std::pair< double, double > > > globalMaximumWithWidth (State &state, const std::vector< InputTrack > &trackList) const
 Calculates z position of global maximum with Gaussian width for density function.

Detailed Description

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).

Constructor & Destructor Documentation

◆ GaussianTrackDensity()

Acts::GaussianTrackDensity::GaussianTrackDensity ( const Config & cfg)
explicit

Constructor with config.

Parameters
cfgThe configuration parameters

Member Function Documentation

◆ globalMaximum()

Result< std::optional< double > > Acts::GaussianTrackDensity::globalMaximum ( State & state,
const std::vector< InputTrack > & trackList ) const

Calculates the z position of the global maximum.

Parameters
stateThe track density state
trackListAll input tracks
Returns
z position of the global maximum

◆ globalMaximumWithWidth()

Result< std::optional< std::pair< double, double > > > Acts::GaussianTrackDensity::globalMaximumWithWidth ( State & state,
const std::vector< InputTrack > & trackList ) 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.

Parameters
stateThe track density state
trackListAll input tracks
Returns
Pair of position of global maximum and Gaussian width