30 int eventTimeBin = 13;
31 bool needsEmptyTimeBins =
false;
32 int nProcessedTimeBins = 0;
34 std::deque<o2::emcal::DigitTimebinTRU>
38 bool isEnd = mEndOfRun || isEndOfTimeFrame;
41 auto difference = nextInteractionRecord.
toLong() - mCurrentInteractionRecord.
toLong();
42 if (mNoPileupMode || difference >= 13 || isEnd) {
47 for (
auto&
time : mTimeBins) {
48 mDequeTime.push_back(
time);
50 LZERO.
fill(mDequeTime, mCurrentInteractionRecord, patchesFromAllTRUs);
53 int nIter = TriggerInputs.size();
54 LOG(
debug) <<
"DIG TRU fillOutputContainer in DigitsWriteoutBufferTRU: size of TriggerInputs = " << nIter;
59 LOG(
debug) <<
"DIG TRU fillOutputContainer in DigitsWriteoutBufferTRU: LOW IR";
61 mCurrentInteractionRecord = nextInteractionRecord;
70 for (
auto&
time : mTimeBins) {
71 if (!(nProcessedTimeBins + mFirstTimeBin < difference)) {
75 mDequeTime.push_back(
time);
80 LZERO.
fill(mDequeTime, mCurrentInteractionRecord, patchesFromAllTRUs);
83 int nIter = TriggerInputs.size();
84 LOG(
debug) <<
"DIG TRU fillOutputContainer in DigitsWriteoutBufferTRU: size of TriggerInputs = " << nIter;
89 mCurrentInteractionRecord = nextInteractionRecord;
91 if (nProcessedTimeBins > 0) {
92 mFirstTimeBin += nProcessedTimeBins;
93 while (nProcessedTimeBins--) {
94 mTimeBins.pop_front();
99 LOG(
debug) <<
"DIG TRU fillOutputContainer in DigitsWriteoutBufferTRU: HIGH IR";
148 for (
int ientry = 0; ientry < digList.size(); ientry++) {
150 auto& buffEntry = mTimeBins[ientry];
151 auto& dig = digList.at(ientry);
153 auto towerEntry = buffEntry.mDigitMap->find(towerID);
154 if (towerEntry == buffEntry.mDigitMap->end()) {
155 towerEntry = buffEntry.mDigitMap->insert(std::pair<
int, std::list<o2::emcal::Digit>>(towerID, std::list<o2::emcal::Digit>())).first;
157 towerEntry->second.push_back(dig);