平均値したい(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次元ヒストグラムでは、引数で軸を指定することで、各軸の平均値を個別に取得できます。