FTF: HitDV optimisation + timers fix
1)For every spacepoint in findHitDV, we are creating a temporary 2-element vector to store one or two clusters. This can be avoided, although not very neatly since there isn't an easy way to iterate over pairs in C++ (they aren't an iterable collection). Hence some lambda functions. There might be a neater way to do this.
2)std::unordered_map<Identifier, int> umap_sp_identifier
can be reserved since it's an unordered_map and takes up a contiguous area in memory. I reserve 1.3x number of spacepoints, based on tests with ttbar. The absolute maximum is 2 (2x Identifier per spacepoint).
3)The Python configuration was not adding the UTT histograms for a TrigFastTrackFinder_fullScan
instance, since it was expecting jet
as the name. Fix this and don't rely on a particular naming convention.
4)Move the total time to the end of findTracks
. This way we count UTT processing if it's being done.
- and 2) save about 10% of the
findHitDV
method time, from 99 ms to 91 ms on ttbar.