Skip to content

Commit 1a866c4

Browse files
I forgor (one of the branches)
1 parent c2fb078 commit 1a866c4

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

Detectors/Upgrades/ALICE3/IOTOF/workflow/src/DigitWriterSpec.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ DataProcessorSpec getDigitWriterSpec(bool mctruth, bool dec, bool calib, o2::hea
8585
MakeRootTreeWriterSpec::TreeAttributes{"o2sim", "Digits tree"},
8686
MakeRootTreeWriterSpec::CustomClose(finishWriting),
8787
// in case of labels we first read them as std::vector<char> and process them correctly in the fillLabels hook
88-
// BranchDefinition<std::vector<char>>{InputSpec{"digitsMCTR", detOrig, "DIGITSMCTR", 0},
89-
// (detStr + "DigitMCTruth").c_str(),
90-
// (mctruth ? 1 : 0), fillLabels},
88+
BranchDefinition<std::vector<char>>{InputSpec{"digitsMCTR", detOrig, "DIGITSMCTR", 0},
89+
(detStr + "DigitMCTruth").c_str(),
90+
(mctruth ? 1 : 0), fillLabels},
9191
BranchDefinition<std::vector<itsmft::MC2ROFRecord>>{InputSpec{"digitsMC2ROF", detOrig, "DIGITSMC2ROF", 0},
9292
(detStr + "DigitMC2ROF").c_str(),
9393
(mctruth ? 1 : 0)},

Steer/DigitizerWorkflow/src/IOTOFDigitizerSpec.cxx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,12 @@ class IOTOFDPLDigitizerTask : o2::base::BaseDPLDigitizer
135135
pc.outputs().snapshot(Output{mOrigin, "DIGITS", 0}, mDigits);
136136
pc.outputs().snapshot(Output{mOrigin, "DIGITSROF", 0}, mROFRecords);
137137
if (mWithMCTruth) {
138-
pc.outputs().make<o2::dataformats::ConstMCTruthContainer<o2::MCCompLabel>>(Output{mOrigin, "DIGITSMCTR", 0});
138+
auto& sharedlabels = pc.outputs().make<o2::dataformats::ConstMCTruthContainer<o2::MCCompLabel>>(Output{mOrigin, "DIGITSMCTR", 0});
139+
mLabelsAccum.flatten_to(sharedlabels);
140+
// free space of existing label containers
141+
mLabels.clear_andfreememory();
142+
mLabelsAccum.clear_andfreememory();
143+
139144
// write dummy MC2ROF vector to keep writer/readers backward compatible
140145
// NOTE: Steer/DigitizerWorkflow/src/ITSMFTDigitizerSpec.cxx also uses dummy MC2ROF
141146
static std::vector<o2::itsmft::MC2ROFRecord> dummyMC2ROF;
@@ -164,6 +169,7 @@ class IOTOFDPLDigitizerTask : o2::base::BaseDPLDigitizer
164169
std::vector<o2::itsmft::Hit> mHits{};
165170
std::vector<o2::itsmft::Hit>* mHitsP{&mHits};
166171
o2::dataformats::MCTruthContainer<o2::MCCompLabel> mLabels{};
172+
o2::dataformats::MCTruthContainer<o2::MCCompLabel> mLabelsAccum{};
167173
std::vector<TChain*> mSimChains{};
168174
o2::parameters::GRPObject::ROMode mROMode = o2::parameters::GRPObject::PRESENT; // readout mode
169175
};

0 commit comments

Comments
 (0)