マルチコアリソースを有効活用するのに便利なクラスらしい。 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++ のネイティブとして使う場合は、
ことが必要。