From cc183aaca08fbbc04510fa3e5fa99a06a0fe0d8d Mon Sep 17 00:00:00 2001 From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu> Date: Wed, 30 Sep 2020 16:48:56 +0200 Subject: [PATCH] better handling of overflow bins --- Framework/Utilities/SaveBoostHistogram.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Framework/Utilities/SaveBoostHistogram.hpp b/Framework/Utilities/SaveBoostHistogram.hpp index 132fa9c6c..ea02dcaba 100644 --- a/Framework/Utilities/SaveBoostHistogram.hpp +++ b/Framework/Utilities/SaveBoostHistogram.hpp @@ -44,7 +44,9 @@ namespace corsika { std::vector<double> ax_edges; ax_edges.reserve(ax.size()); - for (int j = 0; j <= ax.size(); ++j) { ax_edges.push_back(ax.bin(j).lower()); } + for (int j = 0; j < ax.size() + has_overflow; ++j) { + ax_edges.push_back(ax.bin(j).lower()); + } cnpy::npz_save(filename, std::string{"binedges_"} + std::to_string(i), ax_edges.data(), {ax_edges.size()}, "a"); @@ -79,7 +81,7 @@ namespace corsika { int const offset_underflow = (h.axis(0).options() & 0x01) ? 1 : 0; auto p = x.index(0) + offset_underflow; // 1-d-index - for (size_t axis_index = 1; axis_index < rank; ++axis_index) { + for (int axis_index = 1; axis_index < rank; ++axis_index) { int const offset_underflow = (h.axis(axis_index).options() & 0x01) ? 1 : 0; auto k = x.index(axis_index) + offset_underflow; p = k + p * axes_dims.at(axis_index); -- GitLab