Use mixed ranges for LAr HV Scale Correction
Following the discussion in ATLASRECTS-6909 and !53320 (merged), switching the condition objects holding LAr HV Scale Corrections to a mixed ConditionsContainer
.
The following classes derive from ILArHVScaleCorr
:
-
LArHVScaleCorrFlat
produced byLArFlatConditionsAlg<LArHVScaleCorrFlat>
out of a blob stored in COOL. Same data used by the DSP online. -
LArHVScaleCorrSC
same as above for SuperCells -
LArHVScaleCorrComplete
semi-stable correction stored in conditions POOL files. Used in Run 1 and during digitization -
LArHVCorr
transient conditions object, produced by theLArHVCondAlg
base on DCS data + cable-maps.
Only the latter is really a mixed CondCont, it depends on DCS (time-stamped) and cablle-maps that are run-lumi indexed. The semi-stable corrections stored in the database are only run-lumi indexed.
Since the entire inheritance chain has to be mixed conditions container, all these classes become mixed containers. A few more changes are necessary to get this working:
-
CondCond::insertMixed
: If no time-stamp, assume infinite time-IOV instead of reporting an ERROR -
IOVSvc::createCondObj
: For mixedConditionsContainers
the range needs to be outfitted with an artificial time-stamp (assuming infinite time-range). This is necessary for simulation and run-1 reco that reads pool-based LArHVScaleCorrComplete from the database.
Aside: My work on IOVSvc
was somewhat delayed due to confusion btw Gaudi's EventIDRange
and athena's IOVRange
. Can't we get rid of AthenaKernel/IOVRange.h
in favor of EventIDRange
from Gaudi?