Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:root:ttree [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:ttree

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
ja:root:ttree [2014/06/11 08:28]
kota [読み込むBranchを限定する]
ja:root:ttree [2016/06/20 05:24]
kota [読み込むBranchを限定する]
ライン 5: ライン 5:
 ==== 読み込むBranchを限定する ==== ==== 読み込むBranchを限定する ====
  
 +=== 方法1 --- SetBranchStatus ​ ===
 デフォルトではGetEntryすると、SetBranchAddressで指定されていないBranchまでも読みにいく(らしい)。 デフォルトではGetEntryすると、SetBranchAddressで指定されていないBranchまでも読みにいく(らしい)。
 treeに多数のBranchが入っていて、その一部だけを使う場合、これは非常に無駄になる。 treeに多数のBranchが入っていて、その一部だけを使う場合、これは非常に無駄になる。
ライン 34: ライン 35:
 以下 event loop 以下 event loop
 </​code>​ </​code>​
 +
 +
 +=== 方法2 --- TBranch::​GetEntry===
 +TBranch のGetEntryを用いることで、Branch毎に読み込むことができる。\\
 +ただし、TChainを用いている時、気をつけなければならないことが1つ。\\
 +TBranch::​GetEntryは、引数として”当該イベントが含まれているTree内でのEntry Number”を取らなくてはならない。\\
 +具体的には次のようにする。
 +<code c>
 +TChain *chain = ...;
 +Long64_t localEntry = chain->​LoadTree(entry);​
 +branch->​GetEntry(localEntry);​
 +</​code>​
 +
 +Long64_t TChain::​LoadTree(Long64_t entry)は
 +TChainで結びつけられたTreeの全エントリにつけられた通し番号(entry)を引数にとり、
 +そのentryが含まれるTreeをCurrent Treeとし、
 +Current Tree内でのEntry Numberを返り値とする関数。\\
 +Errorがあると-1~-4の値を返すので、 if( localEntry < 0 ) でError判定ができる。
 +
 +==== 元treeから条件を満たすイベントの、必要なbranchだけを抽出したtreeを作る ====
 +
ja/root/ttree.txt · 最終更新: 2017/08/19 09:27 by kota