Class Acts::AdaptiveGridTrackDensity¶
-
template<int trkGridSize = 15>
class AdaptiveGridTrackDensity¶ 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. Unlike the GaussianGridTrackDensity, the overall density vector grows adaptively with the tracks densities being added to the grid.
- Template Parameters
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 TrackGridVector = Eigen::Matrix<float, trkGridSize, 1>¶
Public Functions
-
std::pair<int, TrackGridVector> addTrack(const BoundTrackParameters &trk, std::vector<float> &mainGridDensity, std::vector<int> &mainGridZValues) const¶
Adds a single track to the overall grid density.
- Parameters
trk – The track to be added
mainGridDensity – The main 1-dim density grid along the z-axis
mainGridZValues – The corresponding z-bin values of the track densities 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(std::vector<float> &mainGridDensity, const std::vector<int> &mainGridZValues) const¶
Returns the z position of maximum track density.
- Parameters
mainGridDensity – The main 1-dim density grid along the z-axis
mainGridZValues – The corresponding z-bin values of the track densities along the z-axis
- Returns
The z position of maximum track density
-
Result<std::pair<float, float>> getMaxZPositionAndWidth(std::vector<float> &mainGridDensity, const std::vector<int> &mainGridZValues) const¶
Returns the z position of maximum track density and the estimated width.
- Parameters
mainGridDensity – The main 1-dim density grid along the z-axis
mainGridZValues – The corresponding z-bin values of the track densities along the z-axis
- Returns
The z position of maximum track density and width
-
void removeTrackGridFromMainGrid(int zBin, const TrackGridVector &trkGrid, std::vector<float> &mainGridDensity, const std::vector<int> &mainGridZValues) 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
mainGridDensity – The main 1-dim density grid along the z-axis
mainGridZValues – The corresponding z-bin values of the track densities along the z-axis