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