diff --git a/src/OutputFileHandler.cc b/src/OutputFileHandler.cc index 0c5530666bda14c46c80b0717bbe746d25181540..dba0aafdff5a3fa4d33a6b9548071e23700dd24f 100644 --- a/src/OutputFileHandler.cc +++ b/src/OutputFileHandler.cc @@ -103,11 +103,18 @@ void OutputFileHandler::CommitRun() { assert(current_index_ > 0 && nOrbitsPerFile_ > 0); int ls_index = 1 + (current_index_ * nOrbitsPerFile_) / constants::N_orbits_per_lumisection; - assert(ls_->lumisection == static_cast<uint32_t>(ls_index)); + auto lumi_number = ls_->lumisection; - if (IsMainPipeline()) { - CommitLumisection(); - } + LOG(INFO) << "Lumi " << std::to_string(ls_index) + << ". Assert that lumisection pointer exists: " << bool(ls_); + if (ls_) { + assert(lumi_number == static_cast<uint32_t>(ls_index)); + + if (IsMainPipeline()) { + LOG(INFO) << "Committing lumi EOLS before EoR can be written"; + CommitLumisection(); + } - sink_.WriteRunFooter(run_.number, run_.MakeFooter(ls_->lumisection)); + sink_.WriteRunFooter(run_.number, run_.MakeFooter(lumi_number)); + } } \ No newline at end of file