ROOTで計算させた結果を描画するとき、これまではいちいちヒストグラムを用意していた。
しかしinteractiveにカットや条件を変更し、その結果が見たいときとかには、いちいちそんなことはしていられない。
そこでNtupleを使う。
TNtuple *n1 = new TNtuple("n1", "", "x:y:z:w");
とかすると、n1というNtupleが4つの変数で作られる。
さらにこれらの変数に、For文とかWhile分とかで、
n1->Fill(x, y, z, w);
とかで値を詰めるだけでOK。
あとは、
n1->Draw("x:y", "w>0");
とかすると、wがゼロより大の値をとるときのxとyの分布図を出せる。
これで作ったヒストグラムも、当然通常のヒストグラムとして扱える。
また.ls();とか打つと、n1というNtupleが出来ているのがわかる。
たとえばマクロを書いて、n1というNtupleを作ったとして、マクロを実行した後もn1は消えないでいる。
そこで上の条件を変えて描画させたりも出来る。
出来ているNtupleについての情報は、
n1->Print();
とか打つと見ることが出来る。
0 件のコメント:
コメントを投稿