16 #ifndef QUALITYCONTROL_POSTPROCESSINGRUNNER_H 17 #define QUALITYCONTROL_POSTPROCESSINGRUNNER_H 21 #include <Framework/ServiceRegistry.h> 22 #include <boost/property_tree/ptree_fwd.hpp> 38 using MOCPublicationCallback = std::function<void(const o2::quality_control::core::MonitorObjectCollection*, long from, long to)>;
53 void init(
const boost::property_tree::ptree& config);
66 void runOverTimestamps(
const std::vector<uint64_t>& t);
71 void setPublicationCallback(MOCPublicationCallback callback);
73 const std::string& getName();
76 void doInitialize(
Trigger trigger);
78 void doFinalize(
Trigger trigger);
80 enum class TaskState {
86 TaskState mTaskState = TaskState::INVALID;
87 std::vector<TriggerFcn> mInitTriggers;
88 std::vector<TriggerFcn> mUpdateTriggers;
89 std::vector<TriggerFcn> mStopTriggers;
91 std::unique_ptr<PostProcessingInterface> mTask;
92 framework::ServiceRegistry mServices;
93 std::shared_ptr<o2::quality_control::core::ObjectsManager> mObjectManager;
97 std::string mName =
"";
98 std::string mConfigPath =
"";
100 std::shared_ptr<o2::quality_control::repository::DatabaseInterface> mDatabase;
103 MOCPublicationCallback publishToDPL(o2::framework::DataAllocator&, std::string outputBinding);
108 #endif //QUALITYCONTROL_POSTPROCESSINGRUNNER_H Definition: Triggers.h:42
Post-processing configuration structure.
Definition: PostProcessingConfig.h:29
Definition: MonitorObjectCollection.h:25
Definition: AggregatorRunner.h:27
The interface to the MonitorObject's repository.
Definition: DatabaseInterface.h:35
A class driving the execution of a post-processing task.
Definition: PostProcessingRunner.h:46
Definition: PostProcessingConfig.h:23