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

This is an executable showing QC Task's usage in Data Processing Layer. More...

#include <DataSampling/DataSampling.h>
#include "QualityControl/InfrastructureGenerator.h"
#include <string>
#include <Framework/runDataProcessing.h>
#include <Configuration/ConfigurationFactory.h>
#include "QualityControl/CheckRunner.h"
#include "QualityControl/runnerUtils.h"
#include "QualityControl/ExamplePrinterSpec.h"
#include "QualityControl/DataProducer.h"
#include "QualityControl/TaskRunner.h"
Include dependency graph for runBasic.cxx:

Functions

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

Detailed Description

This is an executable showing QC Task's usage in Data Processing Layer.

Author
Piotr Konopka

This is an executable showing QC Task's usage in Data Processing Layer. The workflow consists of data producer, which generates arrays of random size and content. Its output is dispatched to QC task using Data Sampling infrastructure. QC Task runs exemplary user code located in SkeletonDPL. The checker performs a simple check of the histogram shape and colorizes it. The resulting histogram contents are shown in logs by printer.

QC task and CheckRunner are instantiated by respectively TaskFactory and CheckRunnerFactory, which use preinstalled config file, that can be found in ${QUALITYCONTROL_ROOT}/etc/basic.json or Framework/basic.json (original one).

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-basic

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.