Calocounterswitch
From @deschamp : Implement counter switch in calo reco packages
From @jonrob (via !122 (merged) ) : Some proposed changes to CaloRec to speed up the running in HLT. This update does two main things
- Speed up CaloCorrectionBase::getParams, which is a significant contribution to the total time taken by several Calo algorithms, by removing the map look up for parameters. Map look ups are not super fast at the best of times, and this was made worse as the key was a string. In this case a map is not required, as the keys are all known before hand and in fact just a series of enums, numerating from 0. So instead I use a simple pre-filled vector (with a status flag to say which are 'active').
- Another large contribution was from math functions, so exp, log, atan etc. This update just changes these to use the fast vectorised VDT versions. The precision of these methods is almost as good as the IEEE standards, differing in a few of the least significant bits. Should be more than enough for the precision of the numbers being processed, but this should be confirmed by a CALO expert. Together, these updates should save O(a few %) on the total HLT2 time. Full profiling results will follow when I have them.