Skip to content
15 changes: 7 additions & 8 deletions Steer/DigitizerWorkflow/src/FDDDigitizerSpec.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -102,33 +102,32 @@ class FDDDPLDigitizerTask
auto& eventParts = context->getEventParts();
std::vector<o2::fdd::Digit> digitsAccum; // accumulator for digits
o2::dataformats::MCTruthContainer<o2::fdd::MCLabel> labelsAccum;

o2::dataformats::MCTruthContainer<o2::fdd::MCLabel> labels;
mDigitizer->setMCLabels(&labels);
// loop over all composite collisions given from context
// (aka loop over all the interaction records)
for (int collID = 0; collID < irecords.size(); ++collID) {
mDigitizer->SetEventTime(irecords[collID].timeNS);
mDigitizer->SetInteractionRecord(irecords[collID]);

o2::fdd::Digit digit; // digits which get filled
// for each collision, loop over the constituents event and source IDs
// (background signal merging is basically taking place here)
for (auto& part : eventParts[collID]) {
mDigitizer->SetEventID(part.entryID);
mDigitizer->SetSrcID(part.sourceID);
labels.clear();

// get the hits for this event and this source
std::vector<o2::fdd::Hit> hits;
retrieveHits(mSimChains, "FDDHit", part.sourceID, part.entryID, &hits);
LOG(INFO) << "For collision " << collID << " eventID " << part.entryID << " found FDD " << hits.size() << " hits ";

o2::fdd::Digit digit; // digits which get filled
o2::dataformats::MCTruthContainer<o2::fdd::MCLabel> labels;
mDigitizer->process(&hits, &digit);
//std::copy(digits.begin(), digits.end(), std::back_inserter(digitsAccum));
labelsAccum.mergeAtBack(labels);
mDigitizer->SetTriggers(&digit);
digitsAccum.push_back(digit); // we should move it there actually
LOG(INFO) << "Have " << digitsAccum.back().GetChannelData().size() << " fired channels ";
}
mDigitizer->SetTriggers(&digit);
digitsAccum.push_back(digit);
LOG(INFO) << "Have " << digitsAccum.back().GetChannelData().size() << " fired channels ";
}

LOG(INFO) << "FDD: Sending " << digitsAccum.size() << " digits";
Expand Down