v0.17.0: Reduce compilation time of the QC project (#219)
Features
Merging workflows.
The DPL framework now allows to merge workflows which are configured separately. This gives us a possibility to attach a QC workflow to any other processing workflows. One can do it by adding the o2-qc-run-qc executable
after a pipe character '|' and passing a configuration file path. For example, our basic QC example (o2-qc-run-basic
) now can be also ran as follows:
o2-qc-run-producer | o2-qc-run-qc --config json://${QUALITYCONTROL_ROOT}/etc/basic.json
Keep in mind, that having unsatisfied inputs (having no corresponding output to connect) will cause a workflow to be invalid. This might happen for example if one declares a Data Sampling Policy which cannot be satisfied. In the future we plan to have all Policies inputs optional.
New data query format in Data Sampling Policies
The following JSON structure
"dataHeaders": [
{
"binding": "sum",
"dataOrigin": "TST",
"dataDescription": "SUM"
},
{
"binding": "param",
"dataOrigin": "TST",
"dataDescription": "PARAM"
}
],
"subSpec": "2",
can now be simplified to
"query" : "sum:TST/SUM/2;param:TST/PARAM/2",
We will keep the old way of configuration available for a minimum of 2 weeks, afterwards only the new format will be supported. All the code in QC (including detector code) has been updated accordingly.
Detectors' code update
Updated all the configuration files to the new Data Sampling Policy query format.
Documentation
Updated accordingly to the new features described above.
Bug fixes
Fixed DataSamplingReadoutProxy's problem of assigning forbidden subSpecs (unable to relay part).
Other
- QC build time is 12-25% faster.
- QC library has been split in order to extract the base types into a dedicated library called
QualityControlTypes
. This should help with reading and writing the QC data.