31 auto rofs = pc.
inputs().
get<gsl::span<o2::itsmft::ROFRecord>>(
"ROframes");
33 gsl::span<const o2::itsmft::MC2ROFRecord> mc2rofs;
34 gsl::span<const char> labelbuffer;
36 labelbuffer = pc.
inputs().
get<gsl::span<char>>(
"labels");
37 mc2rofs = pc.
inputs().
get<gsl::span<o2::itsmft::MC2ROFRecord>>(
"MC2ROframes");
41 std::vector<o2::trk::Cluster>
clusters;
42 std::vector<unsigned char> patterns;
43 std::vector<o2::trk::ROFRecord> clusterROFs;
44 std::unique_ptr<o2::dataformats::MCTruthContainer<o2::MCCompLabel>> clusterLabels;
45 std::vector<o2::trk::MC2ROFRecord> clusterMC2ROFs;
47 clusterLabels = std::make_unique<o2::dataformats::MCTruthContainer<o2::MCCompLabel>>();
56 mUseMC ? &
labels :
nullptr,
59 mUseMC ? &clusterMC2ROFs :
nullptr);
70 LOGP(info,
"TRKClusterer pushed {} clusters in {} ROFs",
clusters.size(), clusterROFs.size());
75 std::vector<o2::framework::InputSpec> inputs;
76 inputs.emplace_back(
"digits",
"TRK",
"DIGITS", 0, o2::framework::Lifetime::Timeframe);
77 inputs.emplace_back(
"ROframes",
"TRK",
"DIGITSROF", 0, o2::framework::Lifetime::Timeframe);
79 std::vector<o2::framework::OutputSpec> outputs;
80 outputs.emplace_back(
"TRK",
"COMPCLUSTERS", 0, o2::framework::Lifetime::Timeframe);
81 outputs.emplace_back(
"TRK",
"PATTERNS", 0, o2::framework::Lifetime::Timeframe);
82 outputs.emplace_back(
"TRK",
"CLUSTERSROF", 0, o2::framework::Lifetime::Timeframe);
85 inputs.emplace_back(
"labels",
"TRK",
"DIGITSMCTR", 0, o2::framework::Lifetime::Timeframe);
86 inputs.emplace_back(
"MC2ROframes",
"TRK",
"DIGITSMC2ROF", 0, o2::framework::Lifetime::Timeframe);
87 outputs.emplace_back(
"TRK",
"CLUSTERSMCTR", 0, o2::framework::Lifetime::Timeframe);
88 outputs.emplace_back(
"TRK",
"CLUSTERSMC2ROF", 0, o2::framework::Lifetime::Timeframe);
ConfigParamRegistry const & options()
DataAllocator & outputs()
The data allocator is used to allocate memory for the output data.
InputRecord & inputs()
The inputs associated with this processing context.
void process(gsl::span< const Digit > digits, gsl::span< const DigROFRecord > digitROFs, std::vector< o2::trk::Cluster > &clusters, std::vector< unsigned char > &patterns, std::vector< o2::trk::ROFRecord > &clusterROFs, const ConstDigitTruth *digitLabels=nullptr, ClusterTruth *clusterLabels=nullptr, gsl::span< const DigMC2ROFRecord > digMC2ROFs={}, std::vector< o2::trk::MC2ROFRecord > *clusterMC2ROFs=nullptr)