AggregatedRunInfo struct proposal#13555
Conversation
We are often in the need to collect global properties of a run like
run-duration, run-start, firstOrbit, lastOrbit, ...
No single CCDB source delivers all of these information. Moreover we sometimes
have multiple sources for the same information (GRPECS, RCT/Info/RunInformation)
which may not be at sync.
The proposal of this commit is to:
(a) introduce an aggregator struct "AggregatedRunInfo" in which we can
deliver all important information describing a Run.
(b) implement an authoritative and agreed-on method to fill this struct.
The goal is to set everyone (reco, MC, analysis) on the same foot/contract.
For now the struct is minimal for demonstration purposes.
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
Relates to discussion and issue described here: https://its.cern.ch/jira/browse/O2-5369 |
|
Filling of this object will need to be implemented separately for the CCDBManager and DPL fetcher. For this latter I can simply expand the GRPGeomTGeo to provide this object. |
|
Error while checking build/O2/fullCI for 56eea56 at 2024-10-02 14:45: Full log here. |
|
|
||
| // determine a good timestamp to query OrbitReset for this run | ||
| // --> the middle of the run is very appropriate and safer than just sor | ||
| auto run_mid_timestamp = sor + (eor - sor) / 2; |
There was a problem hiding this comment.
Why not just (sor + eor)/2 ?
Mm... It's not really a CCDB object by itself ... but we could still ship it such of course. But couldn't the DPL fetcher simply call the existing code? In principle it would be nice not to have separate implementations. |
Sure, I don't refer to a new CCDB object: with the DPL fetcher every device which needs your new structure would need to request a set of existing CCDB objects and then put them together. The GRPGeomTGeo allows requesting with a single line a set of CCDB objects: the utility takes care of adding the DPL inputs, extracting them and doing some pre-proprocessing. A particular case of such a pre-processing can be filling this new structure. |
|
@shahor02 : Thanks for the clarification. I agree, although the name |
|
Actually, it is GRPGeomHelper, not GRPGeomTGeo, the name reflects the set of objects it helps to fetch: The DPL fetcher itself does not extract the objects from CCDB files (except for the OrbitReset), it just sends them as binary blobs to requestor devices. |
|
@shahor02 : Ok good. Are you going to take care of finishing the development and adding the directions you indicated? |
|
@sawenzel yes, will add it once you merge this PR. |
|
Merging following @shahor02 verbal approval. |
|
Really sorry. I merged this too early not looking at the CI results. Will revert. |
We are often in the need to collect global properties of a run like run-duration, run-start, firstOrbit, lastOrbit, ...
No single CCDB source delivers all of these information. Moreover we sometimes have multiple sources for the same information (GRPECS, RCT/Info/RunInformation) which may not be at sync.
The proposal of this commit is to:
(a) introduce an aggregator struct "AggregatedRunInfo" in which we can
deliver all important information describing a Run.
(b) implement an authoritative and agreed-on method to fill this struct.
The goal is to set everyone (reco, MC, analysis) on the same foot/contract.
For now the struct is minimal for demonstration purposes.