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?
Merge request reports
Activity
- Resolved by Walter Lampl
added 1 commit
- 73cfdc7e - CaloClusterCorrectionCommon: retrieve with context
Sounds ok to me.
At some point, i guess it would be nice to fix ddman so that the hacks in DDHelper aren't needed --- but that's out of scope for this work.
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?
That should probably be an option for CaloAlignCondAlg. Note that in today's nightly, this was failing:
athena.py -c 'EvtMax=3' G4AtlasTests/test_AtlasG4_ParticleGun_electrons.py
because G4TestAlg now wants to get dd from the cond store, but the CaloAlignCondAlg is disabled for simulation jobs. It should probably instead be configured to produce an unaligned dd.
mentioned in merge request !47033 (merged)
That should probably be an option for CaloAlignCondAlg.
Please have a look at !47033 (merged) . If we pass empty keys to read condition handles of
CaloAlignCondAlg
, then it will build an unaligned Calo Det manager and write it into Cond Store with infinite validity range.After that it will still be required to fix ref for the
CaloScaleCluster_test
because theCaloAlignCondAlg
will show up in the log, and few other printouts will be reordered, but hopefully that's OK.As for the failures in
G4TestAlg
, they have been fixed by switchingLArHitsTestTool
to readingCaloDetDescrManager
from the Detector Store. See !46989 (merged). As a wrote in the description of that MR, in the long term, though, we need to revisit theCaloDetDescrManager
usage patterns in Simulation in order to determine whether it is really needed to construct it by the converter at initialization.Thanks @tsulaia. Once !47033 (merged) is accepted, I'll un-draft this one.
added 167 commits
-
73cfdc7e...ea9e410e - 165 commits from branch
atlas:master
- 2088b907 - Merge remote-tracking branch 'upstream/master' into CaloClusterCorrection_DetDescr_CondStore
- 96af9ca1 - update reference file CaloScaleCluster_test.ref, since we have now more CondAlgs in the Log-file
-
73cfdc7e...ea9e410e - 165 commits from branch
This merge request affects 1 package:
- Calorimeter/CaloClusterCorrection
This merge request affects 5 files:
- Calorimeter/CaloClusterCorrection/CaloClusterCorrection/CaloClusterCorrection.h
- Calorimeter/CaloClusterCorrection/CaloClusterCorrection/CaloClusterCorrectionCommon.h
- Calorimeter/CaloClusterCorrection/share/CaloScaleCluster_test.ref
- Calorimeter/CaloClusterCorrection/src/CaloClusterCorrection.cxx
- Calorimeter/CaloClusterCorrection/src/CaloClusterCorrectionCommon.cxx
Adding @pavol as watcher
added Calorimeter JetEtmiss master review-pending-level-1 labels
CI Result SUCCESS (hash 96af9ca1)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 40081]added review-approved label and removed review-pending-level-1 label
mentioned in commit 1aba44fb
added sweep:ignore label