Remove limit of tracks in VELO reconstruction
This MR removes the limit of tracks max_tracks
in the VELO reconstruction. Instead, a new parameter is defined max_number_of_tracks_per_cluster
which determines how many tracks can an event have as a factor of number of clusters in that event. For now, this relation is set to be 0.34f
(one track for every three clusters), which is roughly a theoretical maximum given how Search by triplet works.
List of changes:
- Removed
Velo::Constants::max_tracks
. This was used in several places and different solutions were adopted. - In
SearchByTriplet.cu
andThreeHitTracksFilter.cu
a track offset that depends on the number of clusters is used instead. - A bunch of unused functions of
PrefixSumSingleBlock.cu
that used the constant have been deleted. These functions were a leftover unused for more than a year. -
VeloCalculateNumberOfCandidates.cu
accepts now atemplate<bool mep_layout>
to avoid having two distinct implementations (this change is akin to the one that ocurred in EstimateInputSize and MaskedClustering before). -
GetSeeds.cu
andFitSeeds.cu
are an old implementation of seeding (which perhaps could be removed). They used themax_tracks
constant to set up array sizes. This has been replaced with constants of their own (eg.fit_seeds_max_velo_tracks_constant
). At present these algorithms are not used. -
HostBuffers
allocates buffers to be used in the Allen reconstruction from Gaudi, and usedmax_tracks
to set the size of some buffers. This has been replaced with a constant of its own. This constant will disappear with !431 (closed).
Edited by Daniel Hugo Campora Perez