Skip to content

Resolve "Incorrect IOV range of dd4hep condition pool"

Marco Clemencic requested to merge 37-fix-iov-upper-bound into master

In #37 (closed) I mentioned that there's a discrepancy between the ways DD4hep and LHCb (including GitCondDB) treat IOVs boundaries. In particular DD4hep includes the upper bound of the IOV while LHCb does not include it, which means that two contiguous IOVs look different in the two cases, for example:

  • LHCb: 100-200, 200-inf
  • DD4hep: 100-199, 200-inf

Not entering the rationales of the two conventions, we have to deal with what DD4hep uses as it cannot be changed that easily.

Some time ago I adapted the way conditions are loaded fro GitCondDB (a01f2d4b), but !93 (merged) introduced a check with the wrong convention.

Here I modify the cache of IOV slices so that we ask the slice if it's IOV is good for the current run, switching from map to deque as store.

I also take the occasion to add a limit to the number of concurrent slices in memory (we never really need more than 2-3 slices, but it can be configured).

Closes #37 (closed)

Edited by Marco Clemencic

Merge request reports