QualityControl  1.5.1
O2 Data Quality Control Framework
runAdvanced.cxx File Reference

This is an executable showing a more complicated QC topology. More...

#include <Framework/CompletionPolicyHelpers.h>
#include <Framework/DataSpecUtils.h>
#include <DataSampling/DataSampling.h>
#include "QualityControl/InfrastructureGenerator.h"
#include "QualityControl/QcInfoLogger.h"
#include "QualityControl/AdvancedWorkflow.h"
#include <Framework/runDataProcessing.h>
Include dependency graph for runAdvanced.cxx:

Typedefs

using SubSpecificationType = o2::header::DataHeader::SubSpecificationType
 

Functions

void customize (std::vector< CompletionPolicy > &policies)
 
void customize (std::vector< ChannelConfigurationPolicy > &policies)
 
void customize (std::vector< ConfigParamSpec > &workflowOptions)
 
WorkflowSpec defineDataProcessing (ConfigContext const &config)
 

Detailed Description

This is an executable showing a more complicated QC topology.

Author
Piotr Konopka
Barthelemy von Haller

This is an executable showing a more complicated QC topology. It spawns 3 separate dummy processing chains, a Dispatcher, two QC Tasks which require different data and CheckRunners which run Checks on MonitorObjects produced by these QC Tasks.

qcRunAdvanced.png

To launch it, build the project, load the environment and run the executable:

1 > aliBuild build QualityControl --defaults o2
2 > alienv enter QualityControl/latest
3 > o2-qc-run-advanced

If you have glfw installed, you should see a window with the workflow visualization and sub-windows for each Data Processor where their logs can be seen. The processing will continue until the main window it is closed. Regardless of glfw being installed or not, in the terminal all the logs will be shown as well.

In case you want to run only the processing part, use the option --no-qc. In such case, the workflow can be piped to the QC or another workflow:

1 > o2-qc-run-advanced --no-qc | o2-qc --config json://${QUALITYCONTROL_ROOT}/etc/advanced.json