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
====== 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
* Makeの時にライブラリを呼んでやる ( -lProof をMakefileに付け足す)
ことが必要。