re-working CaloClusterCorrectionCommon to retrieve CaloDetDescrManager from CondStore
An attempt to retrieve the CaloDetDesrcManager from the ConditionStore in CaloClusterCorrectionCommon. So far, this object was retreived in a somewhat hidden way and cached inside CaloClusterCorrectionCommon::DDHelper
.
The proposed way forward:
- Add a
ReadCondHandleKey<CaloDetDescrManager>
to the base-classCaloClusterCorrection
- Retrieve the CaloDetDescrManager inside
CaloClusterCorrectionCommon::makeCorrection
. Caveat: The retrieve with the implictEventContext
-lookup happens more frequently than necessary and is potentially slow. - Pass a pointer to the
CaloDetDescrManager
through the call-chain ofCaloClusterCorrectionCommon::DDHelper
- The dummy DetDescrElements (for the 'missing' strip at eta=0) are still built when the
DDHelper
using whatever version of theCaloDetDescrManager
is valid at this point in time (and put in aCachedUniquePtr
) At least in theory, subsequent calls to the DDHelper may use a version of theCaloDetDescrManager
with updated alignment. I believe in practice this is irrelevant, though it's not nice.
I'd like to hear @ssnyder's opinion ...
One unit-test (CaloScaleCluster_test.py) is still failing b/c its reference values come from an un-aligned geometry and I don't know how to obtain an unalinged CaloDetDescrManager instance with the new cond-algos. @tsulaia?
Edited by Walter Lampl