TChainしたい(TChain)
1TChain *chain = new TChain(
2 "tree", // name: 読み込むTTreeの名前
3 "tree title", // title: TChainのタイトルや説明。空欄でもOK
4);
TChainクラスは、同じ構造のTTreeを複数連結して、
ひとつのTTreeに変換できます。
連結後のTChainは、通常のTTreeと同じように使用できます。
TTreeを追加したい(TChain::Add)
1// TChain::Add("ファイル名")
2chain->Add("../anadata/CALIB_RUN10.root");
3chain->Add("../anadata/CALIB_RUN11.root");
4chain->Add("../anadata/CALIB_RUN12.root");
TChain::Addで、ファイルパスを指定してTTreeを連結できます。
ファイルパスはワイルドカード(*.root)でも指定できます。
イベント数を知りたい(TChain::GetEntries)
1Long64_t nentries = chain->GetEntries();
TChain::GetEntriesで、連結したすべてのイベント数を取得できます。
ブランチを取得したい(TChain::SetBranchAddress)
1Float_t energy_deposit;
2chain->SetBranchAddress("energy_deposit", &energy_deposit);
TChain::SetBranchAddressで、ブランチを取得できます。
連結したすべてのTTreeのブランチにアクセスできます。
ループ処理したい(TChain::GetEntry)
1Long64_t nentries = chain->GetEntries();
2for (Long64_t i = 0; i < nentries; ++i) {
3 chain->GetEntry(i);
4 // energy_depositを使用した処理
5}
TChain::GetEntryで、イベントごとにデータを取得できます。
連結したすべてのTTreeのイベントを順番に処理できます。
ファイル数を知りたい(TChain::GetNfiles)
1Int_t nfiles = chain->GetNfiles();
TChain::GetNfilesで、連結したファイルの数を取得できます。
TTreeの数を知りたい(TChain::GetNtrees)
1Int_t ntrees = chain->GetNtrees();
TChain::GetNtreesで、連結したTTreeの数を取得できます。