Refactor SciFiTrackForwarding
Primarily motivated by adding some more vectorization and reducing the amount of branches, this MR refactors the entire codebase of the SciFiTrackForwarding
.
Now there are no more constructs like iteration==0 ? blah : blub
but the main search logic has been moved into its own function find_track
.
Whether this function performs a search corresponding to the previously called 1st
or 2nd
loop depends on the passed configuration struct config_loop_1
or config_loop_2
.
During the procedure of generalizing the find_track
function I noticed that some of the parameters weren't being properly adjusted (e.g. the initial search window) for the configuration of the second loop so I also retuned these parameters.
This leads to a better turn on curve now, whereas previously the second loop would reconstruct quite a few tracks with a lower transverse momentum then defined by the minPT
property.
I imagine that further vectorization of this algorithm is possible but this isn't a priority for me right now as the algorithm itself isn't really taking up a large chunk of HLT1. Any interested party is welcome to try though :)
The amount of counters had grown significantly especially with the addition of the 2nd loop in a previous MR. This MR removed most of them and only left a small meaningful subset.
The option PreSelectionPT
has been removed, thus this MR needs Moore!455 (merged)