47 const auto detName = Origin.as<std::string>();
49 auto compClusterSizes = std::make_shared<std::vector<size_t>>(nLayers, 0);
51 auto const* dh = DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
52 (*compClusterSizes)[dh->subSpecification] = compClusters.size();
54 auto logger = [detName, compClusterSizes, doStag](std::vector<o2::itsmft::ROFRecord>
const& rofs,
DataRef const&
ref) {
55 auto const* dh = DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
56 const auto i = dh->subSpecification;
57 LOG(info) << detName <<
"ClusterWriter" << ((doStag) ? std::format(
" on layer {}",
i) :
"")
58 <<
" pulled " << (*compClusterSizes)[
i] <<
" clusters, in " << rofs.size() <<
" RO frames";
60 auto getIndex = [](
DataRef const&
ref) ->
size_t {
61 auto const* dh = DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
62 return static_cast<size_t>(dh->subSpecification);
64 auto getName = [doStag](std::string base,
size_t index) -> std::string {
70 auto detNameLC = detName;
71 std::transform(detNameLC.begin(), detNameLC.end(), detNameLC.begin(), [](
unsigned char c) { return std::tolower(c); });
72 std::vector<InputSpec> vecInpSpecClus, vecInpSpecPatt, vecInpSpecROF, vecInpSpecLbl;
73 vecInpSpecClus.reserve(nLayers);
74 vecInpSpecPatt.reserve(nLayers);
75 vecInpSpecROF.reserve(nLayers);
76 vecInpSpecLbl.reserve(nLayers);
77 for (
int iLayer = 0; iLayer < nLayers; iLayer++) {
78 vecInpSpecClus.emplace_back(
getName(
"compclus", iLayer), Origin,
"COMPCLUSTERS", iLayer);
79 vecInpSpecPatt.emplace_back(
getName(
"patterns", iLayer), Origin,
"PATTERNS", iLayer);
80 vecInpSpecROF.emplace_back(
getName(
"ROframes", iLayer), Origin,
"CLUSTERSROF", iLayer);
81 vecInpSpecLbl.emplace_back(
getName(
"labels", iLayer), Origin,
"CLUSTERSMCTR", iLayer);
88 (detName +
"ClusterComp").c_str(),
"compact-cluster-branch",
90 compClustersSizeGetter,
94 (detName +
"ClusterPatt").c_str(),
"cluster-pattern-branch",
99 (detName +
"ClustersROF").c_str(),
"cluster-rof-branch",
105 (detName +
"ClusterMCTruth").c_str(),
"cluster-label-branch",
106 (useMC ? nLayers : 0),