diff --git a/src/OutputFileHandler.cc b/src/OutputFileHandler.cc index 93717bbb42bd42813747aead2df1686c442528f6..0ea77ab6d3a9e999d8039a7e4e45efd601349fd3 100644 --- a/src/OutputFileHandler.cc +++ b/src/OutputFileHandler.cc @@ -50,6 +50,7 @@ int OutputFileHandler::GetCurrentRunNumber() const { return current_run_number_; void OutputFileHandler::UpdateRunInfo(uint32_t run, uint32_t index) { if (current_run_number_ != static_cast<int>(run)) { run_NOrbits_ = 0; + run_NFiles_ = 0; LOG(TRACE) << "Previous run: " << current_run_number_ << " | New run: " << run; } @@ -186,6 +187,7 @@ void OutputFileHandler::close_and_rename::operator()() const { // TODO: new counters logic here to be tested outputfilehandler_->updateLumisectionFileSize(outputFile.getFileSize()); outputfilehandler_->updateLumisectionNOrbits(outputFile.getNOrbits()); + outputfilehandler_->updateLumisectionNFiles(1); if (outputFile.Index() == outputfilehandler_->max_index_per_ls_ && outputfilehandler_->getCMSSWHeaders() && outputfilehandler_->isMainPipeline()) { // end of lumisection @@ -209,8 +211,8 @@ void OutputFileHandler::write_EoLS_file(uint32_t ls) { // TODO: To me it looks like there are more fields than intended in this file... EoLS_file_string_stream << "{\n \"data\":[\"" << ls_NOrbits_ << "\",\"" // NEvents - << 1 + max_index_per_ls_ << "\",\"" // NFiles - << constants::N_orbits_per_lumisection << "\"," // Total Events + << ls_NFiles_ << "\",\"" // NFiles + << ls_NOrbits_ << "\"," // Total Events << "\"0\",\"" // NLost Events << ls_file_size_ << "\"],\n \"definition\":\"" // NBytes << "/fff/ramdisk/run" << std::setfill('0') << std::setw(6) @@ -218,7 +220,9 @@ void OutputFileHandler::write_EoLS_file(uint32_t ls) { ls_file_size_ = 0; run_NOrbits_ += ls_NOrbits_; + run_NFiles_ += ls_NFiles_; ls_NOrbits_ = 0; + ls_NFiles_ = 0; EoLS_file << EoLS_file_string_stream.str(); EoLS_file.close(); } @@ -236,11 +240,9 @@ void OutputFileHandler::write_EoR_file() { EoR_file.open(EoR_filename.str().c_str(), std::ios_base::out); std::stringstream EoR_file_string_stream; EoR_file_string_stream << "{\n \"data\":[\"" << run_NOrbits_ // NEvents - << "\",\"" - << (ls * static_cast<int>(max_index_per_ls_ + 1)) + - (nOrbitsPerFile_ * current_index_) // NFiles - << "\",\"" << ls << "\",\"" // NLumis - << ls << "\"],\n \"definition\":\"" // LastLumi + << "\",\"" << run_NFiles_ // NFiles + << "\",\"" << ls << "\",\"" // NLumis + << ls << "\"],\n \"definition\":\"" // LastLumi << "/fff/ramdisk/run" << std::setfill('0') << std::setw(6) << current_run_number_ << "/jsd/EoR.jsd\",\n \"source\":\"l1scout\"\n}"; EoR_file << EoR_file_string_stream.str(); diff --git a/src/OutputFileHandler.h b/src/OutputFileHandler.h index 2016b9a3ed38d57b78854a53a1d38ac4ed875285..0ad0246a7c51930238a9702582fbdf7e2fb7e68d 100644 --- a/src/OutputFileHandler.h +++ b/src/OutputFileHandler.h @@ -36,7 +36,9 @@ class OutputFileHandler { file_size_(0), NOrbits_(0), ls_NOrbits_(0), - run_NOrbits_(0) { + ls_NFiles_(0), + run_NOrbits_(0), + run_NFiles_(0) { close_and_rename_.SetOutputFileHandlerObj(*this); t = std::thread(close_and_rename_); if (cmsswHeaders_) { @@ -117,11 +119,14 @@ class OutputFileHandler { size_t getLumisectionFileSize() { return ls_file_size_; } uint32_t getLumisectionNOrbits() { return ls_NOrbits_; } + uint32_t getLumisectionNFiles() { return ls_NFiles_; } uint32_t getRunNOrbits() { return run_NOrbits_; } void updateLumisectionFileSize(size_t file_size) { ls_file_size_ += file_size; } void updateLumisectionNOrbits(uint32_t NOrbits) { ls_NOrbits_ += NOrbits; } + void updateLumisectionNFiles(uint32_t NFiles) { ls_NFiles_ += NFiles; } void updateRunNOrbits(uint32_t NOrbits) { run_NOrbits_ += NOrbits; } + void updateRunNFiles(uint32_t NFiles) { run_NFiles_ += NFiles; } std::string base_path_; std::string run_dir_; @@ -142,7 +147,9 @@ class OutputFileHandler { size_t file_size_{}; uint32_t NOrbits_{}; uint32_t ls_NOrbits_{}; + uint32_t ls_NFiles_{}; uint32_t run_NOrbits_{}; + uint32_t run_NFiles_{}; }; #endif \ No newline at end of file