ROOTの仕様に悩まされる
ROOTの案外こういうことはできないのね という備忘録です。
TreeA001 TreeB001
TreeA002 TreeB002
TreeA003 TreeB003
TreeA004 TreeB004
︙ ︙
と2種類のTTreeがたくさんあってそれらを全てchainかつfriendにしたい場合
TChain* chain = new TChain("TreeA","TreeA");
for(Int_t i=0;i<imax;i++)
{
chain->AddFile(Form("FileA%03d.root",i));
chain->AddFriend("TreeB",Form("FileB%03d.root",i));
}
と書いてしまうとTreeB002以降の変数が全てTreeB001の最後の値で埋め尽くされてしまう。
落ち着いて考えればお作法として良くない、Friendにするのは最後にするべきだ。
TChain* chainA = new TChain("TreeA","TreeA");
TChain* chainB = new TChain("TreeB","TreeB");
for(Int_t i=0;i<imax;i++)
{
chainA->AddFile(Form("FileA%03d.root",i));
chainB->AddFile(Form("FileB%03d.root",i));
}
chainA->AddFriend(chainB);
|
virtual |
Return maximum of column with name columname.
Reimplemented from TTree.
Definition at line 1112 of file TChain.cxx.
columnameなのでDrawのように式を書くことができない。
地味にツラい…