21#include <Monitoring/Monitoring.h>
35 mOutputSpecIntegral{header::gDataOriginInvalid, header::gDataDescriptionInvalid},
36 mOutputSpecMovingWindow{header::gDataOriginInvalid, header::gDataDescriptionInvalid},
54 mTimePipeline = timepipeline;
64 mOutputSpecIntegral = outputSpec;
70 mOutputSpecMovingWindow = outputSpec;
85 merger.
inputs = mInputSpecs;
87 merger.
outputs.push_back(mOutputSpecIntegral);
103 merger.
outputs.push_back(mOutputSpecMovingWindow);
107 merger.
algorithm = framework::adaptFromTask<IntegratingMerger>(mConfig, subSpec);
109 merger.
algorithm = framework::adaptFromTask<FullHistoryMerger>(mConfig, subSpec);
113 std::vector<o2::framework::TimerSpec> timers;
115 timers.push_back({cycleDuration * 1000000000 , validity});
125 return std::move(merger);
131 return std::find(device.labels.begin(), device.labels.end(),
label) != device.labels.end();
Definition of O2 FullHistoryMerger, v0.1.
Definition of O2 IntegratingMerger, v0.1.
o2::header::DataHeader::SubSpecificationType SubSpecificationType
static std::string mergerIdString()
static header::DataOrigin mergerDataOrigin()
void setOutputSpecMovingWindow(const framework::OutputSpec &outputSpec)
void setTopologyPosition(size_t layer, size_t id)
static std::string mergerIntegralOutputBinding()
void setName(std::string)
static framework::DataProcessorLabel mergerLabel()
static header::DataHeader::SubSpecificationType mergerSubSpec(size_t layer, size_t id)
static void customizeInfrastructure(std::vector< framework::CompletionPolicy > &)
Configures mergers to consume any data immediately.
framework::DataProcessorSpec buildSpec()
MergerBuilder()
Default constructor.
void setTimePipeline(size_t timepipeline)
void setConfig(MergerConfig)
static std::string mergerMovingWindowOutputBinding()
void setOutputSpec(const framework::OutputSpec &outputSpec)
static header::DataDescription mergerDataDescription(std::string name)
void setInputSpecs(const framework::Inputs &)
GLuint const GLchar * name
GLuint GLsizei const GLchar * label
GLenum GLuint GLint GLint layer
Defining PrimaryVertex explicitly as messageable.
std::vector< InputSpec > Inputs
std::vector< ConfigParamSpec > timerSpecs(std::vector< TimerSpec > intervals)
std::string to_string(gsl::span< T, Size > span)
static CompletionPolicy consumeWhenAny(const char *name, CompletionPolicy::Matcher matcher)
When any of the parts of the record have been received, consume them.
size_t maxInputTimeslices
std::vector< DataProcessorLabel > labels
static bool validate(InputSpec const &input)
static std::optional< header::DataHeader::SubSpecificationType > getOptionalSubSpec(OutputSpec const &spec)
Get the subspec, if available.
ConfigEntry< PublicationDecision, PublicationDecisionParameter > publicationDecision
std::vector< o2::framework::DataProcessorLabel > labels
ConfigEntry< PublishMovingWindow > publishMovingWindow
ConfigEntry< InputObjectsTimespan > inputObjectTimespan