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
CaloDetDescrManagerthrough the call-chain ofCaloClusterCorrectionCommon::DDHelper - The dummy DetDescrElements (for the 'missing' strip at eta=0) are still built when the
DDHelperusing whatever version of theCaloDetDescrManageris valid at this point in time (and put in aCachedUniquePtr) At least in theory, subsequent calls to the DDHelper may use a version of theCaloDetDescrManagerwith 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