46 std::this_thread::sleep_for(std::chrono::seconds(1));
52 for (
auto& cluster : tpcClusters) {
65 for (
auto& cluster : itsClusters) {
77 "tpc-cluster-summary",
78 {
InputSpec{
"clusters",
"TPC",
"CLUSTERS"}},
82 tpcSummary[0].
inputCount = ctx.inputs().size();
88 "its-cluster-summary",
89 {
InputSpec{
"clusters",
"ITS",
"CLUSTERS"}},
95 itsSummary[0].
inputCount = ctx.inputs().size();
102 {
InputSpec{
"clusters",
"TPC",
"CLUSTERS"},
104 InputSpec{
"other_summary",
"ITS",
"SUMMARY"}},
109 auto h0 = DataRefUtils::getHeader<DataHeader*>(ctx.inputs().get(
"clusters"));
110 auto h1 = DataRefUtils::getHeader<DataHeader*>(ctx.inputs().get(
"summary"));
111 auto h2 = DataRefUtils::getHeader<DataHeader*>(ctx.inputs().get(
"other_summary"));
114 assert(h0 && h1 && h2);
116 throw std::runtime_error(
"Unexpected data origin" + std::string(h0->dataOrigin.str));
120 throw std::runtime_error(
"Unexpected data origin" + std::string(h1->dataOrigin.str));
124 throw std::runtime_error(
"Unexpected data origin" + std::string(h2->dataOrigin.str));
128 metrics.send({1,
"merger/invoked"});
129 metrics.send({(
int)ctx.inputs().size(),
"merger/inputs"});