ブライトウィグナー分布で乱数生成したい(TRandomMixMax::BreitWigner

1#include <TRandomMixMax.h>
2// 乱数生成器を初期化
3TRandomMixMax rng;
4// 平均0、幅1のブライトウィグナー分布に従う乱数を生成
5double randomValue = rng.BreitWigner(0, 1);

TRandomMixMax::BreitWignerでブライトウィグナー分布にしたがう乱数を生成できます。 引数に平均値と幅を指定することで、任意のブライトウィグナー分布の乱数を取得できます。

ブライトウィグナー分布のヒストグラムを作りたい

 1#include <TCanvas.h>
 2#include <TH1D.h>
 3#include <TRandomMixMax.h>
 4
 5TCanvas *c = new TCanvas("c", "Breit-Wigner Distribution", 800, 600);
 6TH1D *h = new TH1D("h", "Breit-Wigner Distribution", 100, -5, 5);
 7
 8TRandomMixMax rng;
 9for (int i = 0; i < 10000; i++) {
10    h->Fill(rng.BreitWigner(0, 1));
11}
12h->Draw();

このサンプルでは、平均0、幅1のブライトウィグナー分布にしたがう乱数を10000個生成し、その分布をヒストグラムで可視化しています。

ヒント

ブライトウィグナー分布は、共鳴粒子の質量分布などでよく使われる分布です。 平均値は共鳴の質量、幅は共鳴の寿命に関連しています。