ダミー信号したい
1// 乱数生成器を使って、実験データを模倣したダミー信号を生成する例
2#include <TRandom.h>
3#include <TH1D.h>
4#include <TCanvas.h>
5
6// 1次元ヒストグラムを作成
7TH1D *h = new TH1D("h", "Dummy Signal;X axis;Counts", 100, -5, 5);
8
9// signal: ガウス分布に従うデータを生成してヒストグラムに入力
10// background: 一様分布に従うデータを生成してヒストグラムに入力
11for (int i = 0; i < 10000; i++) {
12 if (gRandom->Uniform() < 0.7) {
13 // 70%の確率でsignalを生成
14 h->Fill(gRandom->Gaus(0, 1));
15 } else {
16 // 30%の確率でbackgroundを生成
17 h->Fill(gRandom->Uniform(-5, 5));
18 }
19}
20
21// ヒストグラムを描画
22TCanvas *c = new TCanvas("c", "Dummy Signal", 800, 600);
23h->Draw();
乱数生成器を組み合わせて、実験で得られるデータの特徴を模倣したダミー信号を生成できます。 この例では、ガウス分布に従う信号と一様分布に従う背景を組み合わせて、ヒストグラムに入力しています。
測定器やMCシミュレーションがない場合に、 データ取得ツールの動作確認や、 解析ツールの設計の方向性を検討することに役立ちます。