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

Implements a 1D (no time seeding) / 2D (time seeding) grid that is filled with track densities. More...

#include <Acts/Vertexing/AdaptiveGridTrackDensity.hpp>

Classes

struct  Config
 The configuration struct. More...

Public Types

using Bin = std::pair<std::int32_t, std::int32_t>
 The first (second) integer indicates the bin's z (t) position.
using DensityMap = boost::container::flat_map<Bin, float>
 Mapping between bins and track densities.
using GridSizeRange
 Optional grid size range.
using ZTPosition = std::pair<double, double>
 Coordinates in the z-t plane; the t value will be set to 0 if time vertex seeding is disabled.
using ZTPositionAndWidth = std::pair<ZTPosition, double>
 z-t position of a maximum and its width

Public Member Functions

 AdaptiveGridTrackDensity (const Config &cfg)
 Constructor.
DensityMap addTrack (const BoundTrackParameters &trk, DensityMap &mainDensityMap) const
 Adds a single track to the overall grid density.
Result< ZTPositiongetMaxZTPosition (DensityMap &densityMap) const
 Returns the z and t coordinate of maximum (surrounding) track density.
Result< ZTPositionAndWidthgetMaxZTPositionAndWidth (DensityMap &densityMap) const
 Returns the z-t position of maximum track density and the estimated z-width of the maximum.
void subtractTrack (const DensityMap &trackDensityMap, DensityMap &mainDensityMap) const
 Removes a track from the overall grid density.

Static Public Member Functions

static double getBinCenter (std::int32_t bin, double binExtent)
 Calculates the bin center from the bin number.

Detailed Description

Implements a 1D (no time seeding) / 2D (time seeding) grid that is filled with track densities.

Each track is modelled by a 2D / 3D Gaussian distribution in the d0-z0 / d0-z0-t0 plane, which is evaluated at d0=0. Therefore, each track effectively lives in 1D / 2D. 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 in the GaussianGridTrackDensity, the overall density map grows adaptively when tracks densities are added to the grid.

Member Typedef Documentation

◆ Bin

using Acts::AdaptiveGridTrackDensity::Bin = std::pair<std::int32_t, std::int32_t>

The first (second) integer indicates the bin's z (t) position.

◆ DensityMap

using Acts::AdaptiveGridTrackDensity::DensityMap = boost::container::flat_map<Bin, float>

Mapping between bins and track densities.

◆ GridSizeRange

Initial value:
std::pair<std::optional<std::uint32_t>, std::optional<std::uint32_t>>

Optional grid size range.

◆ ZTPosition

using Acts::AdaptiveGridTrackDensity::ZTPosition = std::pair<double, double>

Coordinates in the z-t plane; the t value will be set to 0 if time vertex seeding is disabled.

◆ ZTPositionAndWidth

z-t position of a maximum and its width

Constructor & Destructor Documentation

◆ AdaptiveGridTrackDensity()

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

Constructor.

Parameters
cfgThe configuration parameters

Member Function Documentation

◆ addTrack()

DensityMap Acts::AdaptiveGridTrackDensity::addTrack ( const BoundTrackParameters & trk,
DensityMap & mainDensityMap ) const

Adds a single track to the overall grid density.

Parameters
trkThe track to be added
mainDensityMapMap between bins and corresponding density
Returns
The density map of the track that was added

◆ getBinCenter()

double Acts::AdaptiveGridTrackDensity::getBinCenter ( std::int32_t bin,
double binExtent )
static

Calculates the bin center from the bin number.

Parameters
binBin number
binExtentBin extent
Returns
Bin center

◆ getMaxZTPosition()

Result< ZTPosition > Acts::AdaptiveGridTrackDensity::getMaxZTPosition ( DensityMap & densityMap) const

Returns the z and t coordinate of maximum (surrounding) track density.

Note
if time vertex seeding is not enabled, the t coordinate will be set to 0.
Parameters
densityMapMap between bins and corresponding density values
Returns
The z and t coordinates of maximum track density

◆ getMaxZTPositionAndWidth()

Result< ZTPositionAndWidth > Acts::AdaptiveGridTrackDensity::getMaxZTPositionAndWidth ( DensityMap & densityMap) const

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

Parameters
densityMapMap between bins and corresponding density values
Returns
The z-t position of the maximum track density and its width

◆ subtractTrack()

void Acts::AdaptiveGridTrackDensity::subtractTrack ( const DensityMap & trackDensityMap,
DensityMap & mainDensityMap ) const

Removes a track from the overall grid density.

Parameters
trackDensityMapMap between bins and corresponding density
Note
The track density comes from a single track
Parameters
mainDensityMapMap between bins and corresponding density
Note
The track density comes from an arbitrary number of tracks