WIP: remove SPD/PRS from CaloFuture[ESL]Correction
-
removed SPD/PRS, and did some minor polishing of the code => Note, that due to removal of SPD/PRS, related counters disappear from the qmt test output logs
-
in addition, there was a concern ("Methods are const but modify objects passed through pointers!") related to signatures of private helper functions calcECorrection() and calcSCorrection(), called from process(). As far as I understand, however, this is actually thread-safe b/c that object passed through pointer is a local (stack) variable of process(). I added more comments to clarify this point but also included 2 more variants of calcSCorrecion12 in CaloFutureSCorrection.cpp . To me
- the old C-style variant with a pointer looks most simple and optimal,
- option (1) looks also readable, but I'm not sure how to make sure that it does not invoke unnecessary copy of the returned structure.
- Option (2) I don't like because it requires to always pass the reference to the "results" parameter even when it should not be recalculated and updated. So, dear experts, could you please tell which is the best signature (or suggest anything else).
- for the time being I kept IIncidentListener in CaloFutureCorrectionBase - will submit soon a version without IIncidentListener in a separate MR