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:tproof [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:tproof

TProof


マルチコアリソースを有効活用するのに便利なクラスらしい。 TChainでのDrawにしか使ったことがないのでその話。

TChain では複数のFileからtreeをつなぎ合わせてくるが、Drawの時にその処理を並列化してくれるというもの。

  TProof::Open("");
  TChain *tree = new TChain("tree");
  tree->Add(....);
  tree->Add(....);
  tree->SetProof();
 
  TH1D *h = new TH1D("h","",100,0,100);
  tree->Draw("val>>h","","");

並列化して詰めたヒストグラムをあとでマージするという工程をとるからか、ヒストグラムのbinはあらかじめ指定する必要があるようだ。
(tree→Draw(“val»h(100,0,100)”,“”,“”) のような形式でもOK)

Draw()じゃなくてGetEntries()でも同じようにできるかと思ってためしてみたが、うまくいかなかった。
(カット条件を指定したが、条件に関わらず同じ値(全エントリー数)が返ってきた)

TProofをつかうと、ログが~/.proof/以下に残るようだ。

C++ のネイティブとして使う場合は、

  • #include <TProof.h>
  • Makeの時にライブラリを呼んでやる ( -lProof をMakefileに付け足す)

ことが必要。

ja/root/tproof.txt · 最終更新: 2018/09/29 01:08 by kota