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の数を取得できます。