File indexing completed on 2026-04-07 08:08:31
0001
0002 #include "CustomHistogramFit/HistogramUtils.h"
0003 #include <iostream>
0004
0005 double HistogramUtils::GetMaxBinContentInRange(TH1* hist, double xMin, double xMax) {
0006 int binMin = hist->FindBin(xMin);
0007 int binMax = hist->FindBin(xMax);
0008 double maxContent = 0;
0009 for (int i = binMin; i <= binMax; ++i) {
0010 if (hist->GetBinContent(i) > maxContent) {
0011
0012
0013 maxContent = hist->GetBinContent(i);
0014 }
0015 }
0016 return maxContent;
0017 }
0018
0019 int HistogramUtils::FindFirstOccupiedBin(TH1 *hist, double threshold)
0020 {
0021 if (!hist)
0022 {
0023 std::cerr << "FindFirstNonZeroBin -> Histogram not found.\n";
0024 return -1;
0025 }
0026
0027 int nBins = hist->GetNbinsX();
0028 for (int ibin = 1; ibin <= nBins; ibin++)
0029 {
0030 if (hist->GetBinContent(ibin) > threshold) {
0031 return ibin;
0032 }
0033 }
0034 std::cerr << "FindFirstNonZeroBin -> Empty histogram.\n";
0035 return -1;
0036 }