平均値したい(TH1::GetMean

1#include <TH1D.h>
2
3TH1D *h = new TH1D("h", "Data", 100, 0, 10);
4// ...データを入力...
5
6Double_t mean = h->GetMean();
7printf("Mean: %f\n", mean);

TH1::GetMeanメソッドで、ヒストグラムの平均値を取得できます。

1from ROOT import TH1D
2
3h = TH1D("h", "Data", 100, 0, 10)
4# ...データを入力...
5
6mean = h.GetMean()
7print(f"Mean: {mean}")

メソッドのシグネチャ

1Double_t GetMean(Int_t axis = 1);
2Double_t GetMeanError(Int_t axis = 1);

引数と戻り値

引数:

  • axis - 軸番号(デフォルト値は1)

    • 1: X軸の平均値

    • 2: Y軸の平均値(2次元ヒストグラムで使用)

    • 3: Z軸の平均値(3次元ヒストグラムで使用)

戻り値:

  • 指定された軸の平均値(Double_t型)

X軸の平均値を取得したい(GetMean

 1#include <TH1D.h>
 2
 3TH1D *h = new TH1D("h", "Energy", 100, 0, 10);
 4
 5// データを入力
 6h->Fill(2.5);
 7h->Fill(5.0);
 8h->Fill(7.5);
 9
10// X軸の平均値を取得
11Double_t mean = h->GetMean();    // デフォルトはaxis=1
12Double_t mean = h->GetMean(1);   // 明示的に指定
13
14printf("Mean: %.3f\n", mean);

GetMeanメソッドで、ヒストグラムに入力されたデータの平均値を計算できます。

平均値の誤差を一緒に取得したい(GetMeanError

 1#include <TH1D.h>
 2#include <cstdio>
 3
 4TH1D *h = new TH1D("h", "Measurements", 100, 0, 100);
 5
 6// データを入力
 7for (Int_t i = 0; i < 1000; i++) {
 8    h->Fill(gRandom->Gaus(50, 10));
 9}
10
11Double_t mean = h->GetMean();
12Double_t mean_error = h->GetMeanError();
13
14printf("Mean: %.3f ± %.3f\n", mean, mean_error);

GetMeanErrorメソッドで、平均値の統計的な誤差を取得できます。 これはヒストグラムのエントリー数から計算される、平均値の信頼区間を表します。

2次元ヒストグラムのY軸平均値を取得したい(GetMean

 1#include <TH2D.h>
 2
 3TH2D *h2 = new TH2D("h2", "2D Data", 50, 0, 10, 50, 0, 10);
 4
 5// データを入力
 6h2->Fill(2.0, 3.0);
 7h2->Fill(5.0, 7.0);
 8h2->Fill(8.0, 6.0);
 9
10// X軸とY軸の平均値を取得
11Double_t mean_x = h2->GetMean(1);
12Double_t mean_y = h2->GetMean(2);
13
14printf("Mean X: %.2f, Mean Y: %.2f\n", mean_x, mean_y);

2次元ヒストグラムでは、引数で軸を指定することで、各軸の平均値を個別に取得できます。