37 std::vector<DataProcessorSpec> specs;
42 {
OutputSpec{
"TPC",
"CLUSTERS", 0, Lifetime::Timeframe}},
54 {
"dataTPC",
"TPC",
"CLUSTERS", 0, Lifetime::Timeframe}},
56 {
"TPC",
"CLUSTERS_P", 0, Lifetime::Timeframe}},
67 {
"dataTPC",
"TPC",
"CLUSTERS", 0, Lifetime::Timeframe},
73 {
"dataTPC-proc",
"TPC",
"CLUSTERS_P", 0, Lifetime::Timeframe},
78 inputsDataSampler.insert(std::end(inputsDataSampler), std::begin(inputsTpcProc), std::end(inputsTpcProc));
84 {
"TPC",
"CLUSTERS_S"},
85 {
"TPC",
"CLUSTERS_P_S"}},
90 for (
auto& input : inputs) {
97 size_t len = strlen(outputDescription.
str);
98 if (
len < outputDescription.
size - 2) {
99 outputDescription.
str[
len] =
'_';
100 outputDescription.
str[
len + 1] =
'S';
109 LOG(
debug) <<
"DataSampler sends data from subSpec: " << matcher.
subSpec;
111 const auto* inputHeader = DataRefUtils::getHeader<o2::header::DataHeader*>(input);
115 const char* input_ptr = input.payload;
128 {
"dataTPC-sampled",
"TPC",
"CLUSTERS_S"},
129 {
"dataTPC-proc-sampled",
"TPC",
"CLUSTERS_P_S"}},
133 const FakeCluster* inputDataTpc =
reinterpret_cast<const FakeCluster*
>(ctx.inputs().get(
"dataTPC-sampled").payload);
134const InputSpec* inputSpec = ctx.inputs().get(
"dataTPC-sampled").spec;
145 {
"dataTPC-proc",
"TPC",
"CLUSTERS_P"},
153 const FakeCluster* inputDataTpc =
reinterpret_cast<const FakeCluster*
>(ctx.inputs().get(
"dataTPC-proc").payload);
157specs.swap(dataProducers);
158specs.insert(std::end(specs), std::begin(processingStages), std::end(processingStages));
159specs.push_back(sink);
160specs.push_back(dataSampler);
161specs.push_back(qcTask);