Skip to content

Commit 2cb3855

Browse files
committed
fix DTH (phase2) readout with more than 2 concurrent source ID files merged
1 parent 61a1113 commit 2cb3855

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

EventFilter/Utilities/interface/SourceRawFile.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ class InputFile {
158158
void appendFile(std::string const& name, uint64_t size) {
159159
size_t prevOffset = bufferOffsets_.back();
160160
size_t prevSize = diskFileSizes_.back();
161-
size_t prevAccumSize = diskFileSizes_.back();
161+
size_t prevAccumSize = bufferEnds_.back();
162162
numFiles_++;
163163
fileNames_.push_back(name);
164164
fileOrder_.push_back(fileOrder_.size());
@@ -205,8 +205,16 @@ class InputFile {
205205
if ((int64_t)bufferEnds_[fidx] - (int64_t)bufferOffsets_[fidx] == 0)
206206
complete++;
207207
}
208-
if (complete && complete < bufferOffsets_.size())
209-
throw cms::Exception("InputFile") << "buffers are inconsistent for input files with primary " << fileName_;
208+
if (complete && complete < bufferOffsets_.size()) {
209+
std::string completeFiles;
210+
for (size_t fidx = 0; fidx < bufferOffsets_.size(); fidx++) {
211+
if ((int64_t)bufferEnds_[fidx] - (int64_t)bufferOffsets_[fidx] == 0)
212+
completeFiles += "\n" + fileNames_[fidx];
213+
}
214+
throw cms::Exception("InputFile")
215+
<< "EOF was not reached for all source files at the same time, files where end was reached early are:"
216+
<< completeFiles;
217+
}
210218
return complete > 0;
211219
}
212220
void setFileDataType(unsigned int j, uint16_t dataType) { fileDataType_[j] = dataType; }

0 commit comments

Comments
 (0)