Extending the bookkeeping to support SMOG2
This is in follow up to the discussion we had on Friday, hopefully this matches with what everyone had in mind. Once everybody agrees, I'll assign this to @azhelezo to start work on it. This is only for the SMOG2 part, for the data quality part see #24 .
cc @samarian @fpolci @mstahl @clemenci @sklaver
Requirements:
- During proton-proton running for physics, some runs with have SMOG2 injected.
- This only applies to real data, MC will have it as part of the "conditions description" (e.g.
pAr-Beam6800GeV-0GeV-2022-MagDown-SMOG2-Nu0.37-EPOS
) - SMOG1 will never be used along side standard proton-proton running for physics so we won't do anything special for it.
- There will only ever be one SMOG2 state per run.
- For each gas (e.g. Hydrogen), there are two possible SMOG2 states in addition to the
NoGas
state:-
HydrogenUnstable
: The beginning of the run while the pressure in the SMOG2 cell is stabilising -
Hydrogen
: The pressure has stabilised to a steady state
-
- When exporting data from point 8, we can extract the SMOG2 status from the conditions DB and register it in the bookkeeping.
- By default users will get data from a bookkeeping path regardless of SMOG2 state.
- Users interested in SMOG2 can refine their bookkeeping queries with something like
SMOG2=Hydrogen
orSMOG2=Hydrogen,HydrogenUnstable
in a similar way to which users can currently specifyRunNumber
andDQFlag
. - There will be a separate
ExtendedDQFlag=SMOG2
option that people will likely want to set (see #24).
Technical details
-
Add a table ( SMOG2State
) to the bookkeeping database with the column(RunNumber,State)
- The primary key can be
RunNumber
as there will only ever be oneState
per run
- The primary key can be
-
Add a method to the bookkeeping client to get the list of runs for a given state getSMOG2State(runs=[], states=[])
-
Adapt the point 8 data export to collect this information and register it in the bookkeeping -
Adapt the BookkeepingWatchAgent
to respect theSMOG2State
in the input data query -
Adapt the Production Request YAML schema to accept SMOG2State
-
Adapt the Analysis Productions YAML schema to accept SMOG2State
Edited by Chris Burr