16 #ifndef QC_CHECKER_AGGREGATORRUNNER_H 17 #define QC_CHECKER_AGGREGATORRUNNER_H 20 #include <Framework/Task.h> 21 #include <Framework/DataProcessorSpec.h> 22 #include <Common/Timer.h> 24 #include "QualityControl/QualityObject.h" 41 class ConfigurationInterface;
53 class ServiceDiscovery;
61 class DatabaseInterface;
91 AggregatorRunner(
const std::string& configurationSource,
const vector<framework::OutputSpec> checkRunnerOutputs);
97 void init(framework::InitContext& ctx)
override;
100 void run(framework::ProcessingContext& ctx)
override;
102 framework::Inputs getInputs() {
return mInputs; };
103 std::string getDeviceName() {
return mDeviceName; };
105 static std::string createAggregatorRunnerIdString() {
return "QC-AGGREGATOR-RUNNER"; };
106 static std::string createAggregatorRunnerName();
107 static header::DataDescription createAggregatorRunnerDataDescription(
const std::string& aggregatorName);
117 core::QualityObjectsType aggregate();
124 void store(core::QualityObjectsType& qualityObjects);
126 inline void initDatabase();
127 inline void initMonitoring();
128 inline void initServiceDiscovery();
129 inline void initAggregators();
134 void sendPeriodicMonitoring();
137 std::string mDeviceName;
138 std::map<std::string, std::shared_ptr<Aggregator>> mAggregatorsMap;
139 std::shared_ptr<o2::quality_control::repository::DatabaseInterface> mDatabase;
140 std::shared_ptr<o2::configuration::ConfigurationInterface> mConfigFile;
141 core::QualityObjectsMapType mQualityObjects;
145 o2::framework::Inputs mInputs;
148 std::shared_ptr<o2::monitoring::Monitoring> mCollector;
149 AliceO2::Common::Timer mTimer;
150 int mTotalNumberObjectsReceived;
151 int mTotalNumberAggregatorExecuted;
152 int mTotalNumberObjectsProduced;
155 std::shared_ptr<core::ServiceDiscovery> mServiceDiscovery;
160 #endif // QC_CHECKER_AGGREGATORRUNNER_H Definition: AggregatorRunner.h:44
Definition: Aggregator.h:32
Definition: AggregatorRunner.h:34
Definition: AggregatorRunner.h:27
Definition: Aggregator.h:27
Definition: UpdatePolicyManager.h:86
The class in charge of running the aggregators on the QualityObjects.
Definition: AggregatorRunner.h:80