10 if (h1->Integral() == 0)
return false;
11 int nn = h1->GetNbinsX();
13 while (h1->GetBinContent(bin_lo) == 0) bin_lo++;
15 while (h1->GetBinContent(bin_hi) == 0) bin_hi--;
21 int nn = h1->GetNbinsX();
26 if (bin_lo < 1) bin_lo = 1;
27 if (bin_hi > nn) bin_hi = nn;
28 h1->GetXaxis()->SetRange(bin_lo, bin_hi);
34 TH1* h1 = h2->ProjectionX(
"h1_auto_set_range_x");
35 int nn = h1->GetNbinsX();
41 if (bin_lo < 1) bin_lo = 1;
42 if (bin_hi > nn) bin_hi = nn;
43 h2->GetXaxis()->SetRange(bin_lo, bin_hi);
49 TH1* h1 = h2->ProjectionY(
"h1_auto_set_range_y");
50 int nn = h1->GetNbinsX();
56 if (bin_lo < 1) bin_lo = 1;
57 if (bin_hi > nn) bin_hi = nn;
58 h2->GetYaxis()->SetRange(bin_lo, bin_hi);
void FindFilledRange(TH1 *h1, int &bin_lo, int &bin_hi)
Find the lowest and highest bins ("bin_lo" and "bin_hi") out of non-empty bins of "h1".
void AutoSetRangeY(TH2 *h2, const int margin_lo=5, const int margin_hi=5)
void AutoSetRange(TH1 *h1, const int margin_lo=5, const int margin_hi=5)
Adjust the axis range via "h1->GetXaxis()->SetRange(bin_lo, bin_hi)" to zoom up non-empty bins.
void AutoSetRangeX(TH2 *h2, const int margin_lo=5, const int margin_hi=5)