正規化したい(TH1::Scale

1Double_t integral = h->Integral();
2h->Scale(1.0 / integral);  // 積分値が1になるように正規化

TH1::Scaleメソッドで、ヒストグラムをスケール(拡大・縮小)できます。 TH1::Integralメソッドと組み合わせることで、ヒストグラムを正規化できます。

1from ROOT import TH1D
2
3h = TH1D("h", "Data", 100, 0, 10)
4# ...データを入力...
5
6integral = h.Integral()
7h.Scale(1.0 / integral)  # 積分値が1になるように正規化

複数のヒストグラムを比較したい(TH1::Scale

 1#include <TH1D.h>
 2
 3TH1D *h1 = new TH1D("h1", "Sample 1", 100, 0, 10);
 4TH1D *h2 = new TH1D("h2", "Sample 2", 100, 0, 10);
 5
 6// データを入力
 7for (Int_t i = 0; i < 1000; i++) {
 8    h1->Fill(gRandom->Gaus(5, 1));
 9    h2->Fill(gRandom->Gaus(6, 1.5));
10}
11
12// 両方のヒストグラムを正規化
13Double_t integral1 = h1->Integral();
14Double_t integral2 = h2->Integral();
15
16h1->Scale(1.0 / integral1);
17h2->Scale(1.0 / integral2);
18
19printf("h1 integral: %.6f, h2 integral: %.6f\n", h1->Integral(), h2->Integral());

複数のヒストグラムを比較する場合、イベント数が異なる場合でも、それぞれ個別に正規化することで、 公平な比較ができます。