File GridDensityVertexFinder.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
Note
this is foreseen for the ‘Geometry’ module
-
template<int mainGridSize = 2000, int trkGridSize = 15, typename vfitter_t = DummyVertexFitter<>>
class GridDensityVertexFinder - #include <Acts/Vertexing/GridDensityVertexFinder.hpp>
Vertex finder that makes use of a track density grid.
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. All track contributions along the beam axis (main density grid) a superimposed and the z-value of the bin with the highest track density is returned as a vertex candidate.
- Template Parameters
mainGridSize – The size of the z-axis 1-dim main density grid
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 = typename GridDensity::MainGridVector
-
using TrackGridVector = typename GridDensity::TrackGridVector
Public Functions
-
template<typename T = InputTrack_t, std::enable_if_t<std::is_same<T, BoundTrackParameters>::value, int> = 0>
inline GridDensityVertexFinder(const Config &cfg) Constructor used if InputTrack_t type == BoundTrackParameters.
- Parameters
cfg – Configuration object
-
template<typename T = InputTrack_t, std::enable_if_t<std::is_same<T, BoundTrackParameters>::value, int> = 0>
inline GridDensityVertexFinder() Default constructor used if InputTrack_t type == BoundTrackParameters.
-
inline GridDensityVertexFinder(const Config &cfg, const std::function<BoundTrackParameters(InputTrack_t)> &func)
Constructor for user-defined InputTrack_t type =! BoundTrackParameters.
- Parameters
cfg – Configuration object
func – Function extracting BoundTrackParameters from InputTrack_t object
-
inline GridDensityVertexFinder(const std::function<BoundTrackParameters(InputTrack_t)> &func)
Constructor for user-defined InputTrack_t type =! BoundTrackParameters with default Config object.
- Parameters
func – Function extracting BoundTrackParameters from InputTrack_t object
-
Result<std::vector<Vertex<InputTrack_t>>> find(const std::vector<const InputTrack_t*> &trackVector, const VertexingOptions<InputTrack_t> &vertexingOptions, State &state) const
Function that finds single vertex candidate.
- Parameters
trackVector – Input track collection
vertexingOptions – Vertexing options
state – The state object to cache the density grid and density contributions of each track, to be used if cacheGridStateForTrackRemoval == true
- Returns
Vector of vertices, filled with a single vertex (for consistent interfaces)
Private Types
-
using GridDensity = GaussianGridTrackDensity<mainGridSize, trkGridSize>¶
Private Functions
-
bool doesPassTrackSelection(const BoundTrackParameters &trk) const¶
Checks if a track passes the selection criteria for seeding.
- Parameters
trk – The track
- Returns
Bool track passes selection
Private Members
-
std::function<BoundTrackParameters(InputTrack_t)> m_extractParameters¶
Function to extract track parameters, InputTrack_t objects are BoundTrackParameters by default, function to be overwritten to return BoundTrackParameters for other InputTrack_t objects.
-
struct Config
- #include <Acts/Vertexing/GridDensityVertexFinder.hpp>
The Config struct.
Public Functions
-
inline Config(float zMinMax = 100)
- Parameters
zMinMax – min and max z value of big z-axis grid
-
inline Config(const GridDensity &gDensity)
- Parameters
gDensity – The grid density
Public Members
-
bool cacheGridStateForTrackRemoval = true
-
double d0SignificanceCut = maxD0TrackSignificance * maxD0TrackSignificance
-
bool estimateSeedWidth = false
-
GridDensity gridDensity
-
double maxD0TrackSignificance = 3.5
-
double maxZ0TrackSignificance = 12.
-
double z0SignificanceCut = maxZ0TrackSignificance * maxZ0TrackSignificance
-
inline Config(float zMinMax = 100)
-
struct State
- #include <Acts/Vertexing/GridDensityVertexFinder.hpp>
The State struct.
Only needed if cacheGridStateForTrackRemoval == true
Public Members
-
std::map<const InputTrack_t*, std::pair<int, TrackGridVector>> binAndTrackGridMap
-
bool isInitialized = false
-
MainGridVector mainGrid = MainGridVector::Zero()
-
std::map<const InputTrack_t*, bool> trackSelectionMap
-
std::vector<const InputTrack_t*> tracksToRemove
-
std::map<const InputTrack_t*, std::pair<int, TrackGridVector>> binAndTrackGridMap
-
template<int mainGridSize = 2000, int trkGridSize = 15, typename vfitter_t = DummyVertexFitter<>>