Class Acts::GaussianGridTrackDensity

template<int mainGridSize = 2000, int trkGridSize = 15>
class Acts::GaussianGridTrackDensity

Implements a 1-dim density grid to be filled with track Gaussian distributions.

Each single track is modelled as a 2(!)-dim Gaussian distribution grid in the d0-z0 plane, but only the overlap with the z-axis (i.e. a 1-dim density vector) needs to be calculated. The position of the highest track density (of either a single bin or the sum of a certain region) can be determined. Single tracks can be cached and removed from the overall density.

tparam mainGridSize

The size of the z-axis 1-dim main density grid

tparam trkGridSize

The 2(!)-dim grid size of a single track, i.e. a single track is modelled as a (trkGridSize x trkGridSize) grid in the d0-z0 plane. Note: trkGridSize has to be an odd value.

Public Types

using MainGridVector = Eigen::Matrix<float, mainGridSize, 1>
using TrackGridVector = Eigen::Matrix<float, trkGridSize, 1>

Public Functions

inline GaussianGridTrackDensity(const Config &cfg)
std::pair<int, TrackGridVector> addTrack(const BoundTrackParameters &trk, MainGridVector &mainGrid) const

Adds a single track to the overall grid density.

Parameters
  • trk – The track to be added

  • mainGrid – The main 1-dim density grid along the z-axis

Returns

A pair storing information about the z-bin position the track was added (int) and the 1-dim density contribution of the track itself

Result<float> getMaxZPosition(MainGridVector &mainGrid) const

Returns the z position of maximum track density.

Parameters

mainGrid – The main 1-dim density grid along the z-axis

Returns

The z position of maximum track density

Result<std::pair<float, float>> getMaxZPositionAndWidth(MainGridVector &mainGrid) const

Returns the z position of maximum track density and the estimated width.

Parameters

mainGrid – The main 1-dim density grid along the z-axis

Returns

The z position of maximum track density and width

void removeTrackGridFromMainGrid(int zBin, const TrackGridVector &trkGrid, MainGridVector &mainGrid) const

Removes a track from the overall grid density.

Parameters
  • zBin – The center z-bin position the track needs to be removed from

  • trkGrid – The 1-dim density contribution of the track

  • mainGrid – The main 1-dim density grid along the z-axis

struct Config

The configuration struct.

Public Functions

inline Config(float zMinMax_ = 100)

Note

The value of zMinMax_ together with mainGridSize determines the overall bin size to be used as seen below

Parameters

zMinMax_ – The minimum and maximum z-values (in mm) that should be covered by the main 1-dim density grid along the z-axis

Public Members

float binSize
float maxRelativeDensityDev = 0.01
bool useHighestSumZPosition = false
float zMinMax