ダミー信号したい

 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シミュレーションがない場合に、 データ取得ツールの動作確認や、 解析ツールの設計の方向性を検討することに役立ちます。