Skip to content

Commit c02f1ad

Browse files
committed
Fix subspect for CTF data, simplify headers creation
1 parent 165757f commit c02f1ad

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

Detectors/CTF/workflow/src/CTFReaderSpec.cxx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class CTFReaderSpec : public o2::framework::Task
8282
void stopReader();
8383
template <typename C>
8484
void processDetector(DetID det, const CTFHeader& ctfHeader, ProcessingContext& pc) const;
85-
void setMessageHeader(ProcessingContext& pc, const CTFHeader& ctfHeader, const std::string& lbl, unsigned subspec = 0) const;
85+
void setMessageHeader(ProcessingContext& pc, const CTFHeader& ctfHeader, const std::string& lbl, unsigned subspec) const; // keep just for the reference
8686
void tryToFixCTFHeader(CTFHeader& ctfHeader) const;
8787
CTFReaderInp mInput{};
8888
std::unique_ptr<o2::utils::FileFetcher> mFileFetcher;
@@ -245,8 +245,7 @@ void CTFReaderSpec::processTF(ProcessingContext& pc)
245245
timingInfo.runNumber = ctfHeader.run;
246246

247247
// send CTF Header
248-
pc.outputs().snapshot({"header"}, ctfHeader);
249-
setMessageHeader(pc, ctfHeader, "header");
248+
pc.outputs().snapshot({"header", mInput.subspec}, ctfHeader);
250249

251250
processDetector<o2::itsmft::CTF>(DetID::ITS, ctfHeader, pc);
252251
processDetector<o2::itsmft::CTF>(DetID::MFT, ctfHeader, pc);
@@ -271,7 +270,6 @@ void CTFReaderSpec::processTF(ProcessingContext& pc)
271270
stfDist.id = uint64_t(mCurrTreeEntry);
272271
stfDist.firstOrbit = ctfHeader.firstTForbit;
273272
stfDist.runNumber = uint32_t(ctfHeader.run);
274-
setMessageHeader(pc, ctfHeader, "TFDist", 0xccdb);
275273
}
276274

277275
auto entryStr = fmt::format("({} of {} in {})", mCurrTreeEntry, mCTFTree->GetEntries(), mCTFFile->GetName());
@@ -328,13 +326,13 @@ void CTFReaderSpec::processDetector(DetID det, const CTFHeader& ctfHeader, Proce
328326
{
329327
if (mInput.detMask[det]) {
330328
const auto lbl = det.getName();
331-
auto& bufVec = pc.outputs().make<std::vector<o2::ctf::BufferType>>({lbl}, ctfHeader.detectors[det] ? sizeof(C) : 0);
329+
auto& bufVec = pc.outputs().make<std::vector<o2::ctf::BufferType>>({lbl, mInput.subspec}, ctfHeader.detectors[det] ? sizeof(C) : 0);
332330
if (ctfHeader.detectors[det]) {
333331
C::readFromTree(bufVec, *(mCTFTree.get()), lbl, mCurrTreeEntry);
334332
} else if (!mInput.allowMissingDetectors) {
335333
throw std::runtime_error(fmt::format("Requested detector {} is missing in the CTF", lbl));
336334
}
337-
setMessageHeader(pc, ctfHeader, lbl);
335+
// setMessageHeader(pc, ctfHeader, lbl);
338336
}
339337
}
340338

@@ -390,7 +388,7 @@ DataProcessorSpec getCTFReaderSpec(const CTFReaderInp& inp)
390388
{
391389
std::vector<OutputSpec> outputs;
392390

393-
outputs.emplace_back(OutputLabel{"header"}, "CTF", "HEADER", 0, Lifetime::Timeframe);
391+
outputs.emplace_back(OutputLabel{"header"}, "CTF", "HEADER", inp.subspec, Lifetime::Timeframe);
394392
for (auto id = DetID::First; id <= DetID::Last; id++) {
395393
if (inp.detMask[id]) {
396394
DetID det(id);

0 commit comments

Comments
 (0)