51 mCCDBTimeStamp = pc.inputs().get<uint64_t>(
"sacccdb");
53 auto const* tpcStackHeader = o2::framework::DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
54 const int stack = tpcStackHeader->subSpecification;
55 mSACFactorization.
setSACs(pc.inputs().get<std::vector<int32_t>>(
ref),
stack);
60 LOGP(warning,
"Received only {} out of {}", countStacks,
GEMSTACKS);
66 LOGP(info,
"dumping aggregated and factorized SACs to file");
68 mSACFactorization.
dumpToFile(fmt::format(
"SACFactorized_{:02}.root", currTF).
data());
72 sendOutput(pc.outputs());
92 const bool mDebug{
false};
94 uint64_t mCCDBTimeStamp{0};
99 const uint64_t timeStampStart = mCCDBTimeStamp;
103 if (timeStampStart != 0) {
111 LOGP(info,
"Sending object {} / {} of size {} bytes, valid for {} : {} ", ccdbInfoSAC0.getPath(), ccdbInfoSAC0.getFileName(), imageSAC0->size(), ccdbInfoSAC0.getStartValidityTimestamp(), ccdbInfoSAC0.getEndValidityTimestamp());
117 LOGP(info,
"Sending object {} / {} of size {} bytes, valid for {} : {} ", ccdbInfoSAC1.getPath(), ccdbInfoSAC1.getFileName(), imageSAC1->size(), ccdbInfoSAC1.getStartValidityTimestamp(), ccdbInfoSAC1.getEndValidityTimestamp());
123 std::unique_ptr<std::vector<char>> imageSACDelta{};
124 switch (mCompressionDeltaSAC) {
125 case SACFactorization::SACDeltaCompression::MEDIUM:
131 case SACFactorization::SACDeltaCompression::HIGH: {
136 case SACFactorization::SACDeltaCompression::NO:
137 SACDelta<float> sacDelta = std::move(mSACFactorization).getSACDeltaUncompressed();
142 LOGP(info,
"Sending object {} / {} of size {} bytes, valid for {} : {} ", ccdbInfoSACDelta.getPath(), ccdbInfoSACDelta.getFileName(), imageSACDelta->size(), ccdbInfoSACDelta.getStartValidityTimestamp(), ccdbInfoSACDelta.getEndValidityTimestamp());
146 LOGP(warning,
"Received empty data for SACs! SACs will not be stored for the current aggregation interval!");
149 mSACFactorization.
reset();
155 std::vector<OutputSpec> outputSpecs;
168 std::vector<InputSpec> inputSpecs;
173 fmt::format(
"tpc-factorize-sac-{:02}", lane).data(),
176 AlgorithmSpec{adaptFromTask<TPCFactorizeSACSpec>(timeframes, compression,
debug, lane)}};