データを入力したい(TH1::Fill)
1#include <TH1D.h>
2
3TH1D *h = new TH1D("h", "Data", 100, 0, 10);
4
5// 単一の値を入力
6h->Fill(5.5);
7
8// 重み付きで入力
9h->Fill(7.2, 2.5);
TH1::Fillメソッドでヒストグラムにデータポイントを追加します。
単一の値のほか、重み付きデータも指定できます。
1from ROOT import TH1D
2
3h = TH1D("h", "Data", 100, 0, 10)
4
5# 単一の値を入力
6h.Fill(5.5)
7
8# 重み付きで入力
9h.Fill(7.2, 2.5)
メソッドのシグネチャ
1Int_t Fill(Double_t x);
2Int_t Fill(Double_t x, Double_t w);
引数と戻り値
引数:
x - ヒストグラムに入力するデータ値
w - データの重み(オプション、デフォルト値は1)
戻り値:
ビン番号
入力値がアンダーフロー時は0
オーバーフロー時はビン数+1
データを追加したい(Fill)
1#include <TH1D.h>
2
3TH1D *h = new TH1D("h", "Data", 100, 0, 10);
4
5// 単一の値を入力
6h->Fill(5.5);
7
8// ループでデータを入力
9for (Int_t i = 0; i < 1000; i++) {
10 h->Fill(gRandom->Gaus(5, 1));
11}
Fillメソッドで、ヒストグラムにデータを入力できます。
データの重みを追加したい(Fill)
1#include <TH1D.h>
2
3TH1D *h = new TH1D("h", "Data", 100, 0, 10);
4
5// 重み付きで入力
6h->Fill(7.2, 2.5); // 値7.2に重み2.5を追加
7
8// ループでデータを入力
9for (Int_t i = 0; i < 1000; i++) {
10 h->Fill(gRandom->Gaus(5, 1), gRandomGaus(2, 1));
11}
Fillメソッドの第2引数に「重み」を指定できます。
重みを使うことで、1データポイントを複数の回数カウントしたのと同じ効果が得られます。
たとえば、Fill(7.2, 2.5)は値7.2を2.5回分カウントします。
「重み」は、データの信頼度や検出効率などを反映させるときに使用します。 重み付きデータでフィットを行う場合、この重みが統計的な重要度として考慮されるため、より正確な結果が得られます。