Skip to content

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-class CaloClusterCorrection
  • Retrieve the CaloDetDescrManager inside CaloClusterCorrectionCommon::makeCorrection. Caveat: The retrieve with the implict EventContext-lookup happens more frequently than necessary and is potentially slow.
  • Pass a pointer to the CaloDetDescrManager through the call-chain of CaloClusterCorrectionCommon::DDHelper
  • The dummy DetDescrElements (for the 'missing' strip at eta=0) are still built when the DDHelper using whatever version of the CaloDetDescrManager is valid at this point in time (and put in a CachedUniquePtr) At least in theory, subsequent calls to the DDHelper may use a version of the CaloDetDescrManager 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

Merge request reports