@@ -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