QualityControl  1.5.1
O2 Data Quality Control Framework
o2::quality_control::core::TaskRunner Class Reference

A class driving the execution of a QC task inside DPL. More...

#include <TaskRunner.h>

Inheritance diagram for o2::quality_control::core::TaskRunner:
Collaboration diagram for o2::quality_control::core::TaskRunner:

Public Member Functions

 TaskRunner (const std::string &taskName, const std::string &configurationSource, size_t id=0)
 Constructor. More...
 
void init (framework::InitContext &iCtx) override
 TaskRunner's init callback.
 
void run (framework::ProcessingContext &pCtx) override
 TaskRunner's process callback.
 
std::string getDeviceName ()
 
const framework::Inputs & getInputsSpecs ()
 
const framework::OutputSpec getOutputSpec ()
 
const framework::Options getOptions ()
 
void setResetAfterPublish (bool)
 
void endOfStream (framework::EndOfStreamContext &eosContext) override
 Callback for CallbackService::Id::EndOfStream.
 

Static Public Member Functions

static framework::CompletionPolicy::CompletionOp completionPolicyCallback (o2::framework::CompletionPolicy::InputSet inputs)
 TaskRunner's completion policy callback.
 
static std::string createTaskRunnerIdString ()
 ID string for all TaskRunner devices.
 
static header::DataOrigin createTaskDataOrigin ()
 Unified DataOrigin for Quality Control tasks.
 
static header::DataDescription createTaskDataDescription (const std::string &taskName)
 Unified DataDescription naming scheme for all tasks.
 

Detailed Description

A class driving the execution of a QC task inside DPL.

It is responsible for retrieving details about the task via the Configuration system and the Task (indirectly). It then steers the execution of the task and provides it with O2 Data Model data, provided by framework. It finally publishes the MonitorObjects owned and filled by the QC task and managed by the ObjectsManager. Usage:

TaskRunner qcTask{taskName, configurationSource, id};
DataProcessorSpec newTask{
taskName,
qcTask.getInputsSpecs(),
Outputs{ qcTask.getOutputSpec() },
AlgorithmSpec{},
qcTask.getOptions()
};
// this needs to be at the end
newTask.algorithm = adaptFromTask<TaskRunner>(std::move(qcTask));
Author
Piotr Konopka
Barthelemy von Haller

Constructor & Destructor Documentation

o2::quality_control::core::TaskRunner::TaskRunner ( const std::string &  taskName,
const std::string &  configurationSource,
size_t  id = 0 
)

Constructor.

Parameters
taskName- name of the task, which exists in tasks list in the configuration file
configurationSource- absolute path to configuration file, preceded with backend (f.e. "json://")
id- subSpecification for taskRunner's OutputSpec, useful to avoid outputs collisions one more complex topologies

The documentation for this class was generated from the following files: