![]() |
Project
|
For the moment the only commonality stems from the DCS to CCDB part, as both subsystems only transmit DCS datapoints to CCDB, without any particular treatment. So we use almost the same source code, but generate separate executables, e.g. to ease the integration with dcs-proxy
-based workflows.
Note that MCH transmit both the HV and LV values to CCDB, while MID only transmit HV values.
To test the DCS to CCDB route you can use the following 3 parts workflow pipeline :
Note that the only difference (besides the mid vs mch naming) is the set of options of the processor
device (handling just hv for mid and hv+lv for mch).
o2-calibration-[mch|mid]-dcs-sim-worfklow
is just generating fake random MCH or MID DCS data pointso2-calibration-[mch|mid]-dcs-processor-workflow
gathers the received data points into a container objecto2-calibration-ccdb-populator-workflow
uploads the container object to the CCDB (in this example a local dev ccdb).
The container object that groups the datapoints is considered ready to be shipped either when the data points span a long enough duration (see the --xxx-max-duration
option(s) of the o2-calibration-[mch|mid]-dcs-processor-workflow
) or is big enough (see the --xxx-max-size
option(s)).
The MCH high voltage (HV) system is composed of 188 channels :
The MCH low voltage (LV) system is composed of 328 channels :
The MID high voltage (HV) system is composed of 72 channels, one channel per RPC.
Besides the web browsing of the CCDB, another quick check can be performed with the o2-[mch|mid]-dcs-ccdb
program to dump the DCS datapoints (hv, lv, or both) or the datapoint config valid at a given timestamp.
The same programs can be used to upload to CCDB the DCS data point configuration for the dcs-proxy :
The default objects in the CCDB can be produced as follow:
One DCS data point is created for each channel with the timestamp provided with the -t
option. The validity range of the object is set from 1 to 9999999999999 and its creation time is set to 1.
The timestamp represent the last time of validity. This is needed because the default object was added after the CCDB feeding was active and would therefore take over the old measured values.