Skip to content

Remove limit of tracks in VELO reconstruction

Daniel Campora Perez requested to merge dcampora_velo_no_limit_tracks into master

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 and ThreeHitTracksFilter.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 a template<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 and FitSeeds.cu are an old implementation of seeding (which perhaps could be removed). They used the max_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 used max_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 Campora Perez

Merge request reports