ブランチを確認したい(TTree::Draw

1tree->Draw(
2    "energy_deposit",  // varexp
3    "parent_id==0",    // selection
4    "HIST",            // option
5    1000,              // nentries
6    0                  // firstentry
7);

TTree::Drawでブランチの分布をヒストグラムで確認できます。 第一引数(varexp)に確認したいブランチ名を指定します。 第二引数(selection)にフィルター条件を指定できます。 第三引数(option)で描画オプションを指定できます。 第四引数(nentries)で描画するエントリー数を制限できます。 第五引数(firstentry)で描画開始エントリーを指定できます。

1tree->Draw(
2    "energy_deposit:position_x",
3    "parent_id==0",
4    "COLZ");

varexpy:xの形式で2次元プロットも可能です。

 1import ROOT
 2
 3# TTreeを作成・取得
 4tree = ROOT.TTree("tree", "Event data")
 5
 6# 1次元プロット
 7tree.Draw(
 8    "energy_deposit",
 9    "parent_id==0",
10    "HIST",
11    1000,
12    0
13)
14
15# 2次元プロット
16tree.Draw(
17    "energy_deposit:position_x",
18    "parent_id==0",
19    "COLZ"
20)

1Dヒストグラムしたい(TTree::Draw)

1TH1D *h1 = new TH1D(
2    "h1",
3    "Energy Deposit;Energy [MeV];Entries",
4    100, 0, 1000
5);
6tree->Draw(
7    "energy_deposit >> h1",  // varexp with histogram definition
8    "parent_id==0",
9    "HIST",);

varexpにヒストグラムを含めることができます。 事前にTH1オブジェクトを作成することで、 タイトルやビン数などを制御できます。

2Dヒストグラムしたい(TTree::Draw

 1TH2D *h2 = new TH2D(
 2    "h2",
 3    "Energy Deposit vs Position;Position X [mm];Energy Deposit [MeV]",
 4    100, 0, 1000,
 5    100, -500, 500
 6);
 7tree->Draw(
 8    "energy_deposit:position_x >> h2",  // 2D histogram definition
 9    "parent_id==0",
10    "COLZ",
11)

2次元ヒストグラムも1次元ヒストグラムと同様に varexpに含めることができます。

複数条件したい(TTree::Draw

1tree->Draw(
2    "energy_deposit",
3    "parent_id==0 && energy_deposit>10",
4);

selectionに複数の条件を指定できます。 論理演算子(&&||!)を使用して条件を組み合わせることができます。

リファレンス