HLT2 Tracking speedup
Milestone ID: 6337
As shown in https://indico.cern.ch/event/911373/contributions/3833308/attachments/2027847/3393042/HLT2_tracking_WP2_20200428.pdf , a significant speedup at a moderate loss of efficiency can be achieved by reducing the redundancy of tracking algorithms. As an example, the Forward tracking and the Match tracking can reconstruct tracks for the same particle or a particle can be found with a Long and Downstream track. However, this speedup ignored the algorithms which marked hits or tracks as used.
The marking of hits can be done in almost zero time if the index of a hit is stored rather than an identifier like the LHCbID.
The checking of common ancestors is difficult for some algorithms as some still use the "old" v2::Track and some the new Pr::Track classes.
The idea is to add the index of hits in a track container to all track types (Pr::Velo::Track already has it ) and to adapt the HLT2 algorithms to use Pr::Track classes and when possible the same hit containers.
As side effects, it is aimed to have a more common naming across Track classes and reduce some inconsistencies and to enable easier vectorization due to the increased use of SOA data structures.
Additionally, we can use this milestone to track improvements in individual algorithms.