イベントを自動保存したい(TTree::AutoSave

 1// 10000イベントごとに自動的にフラッシュ
 2tree->SetAutoFlush(10000);
 3tree->SetAutoSave(100000);
 4
 5// Event loop
 6for (int i = 0; i < n; ++i) {
 7    // Acquire data
 8    ch1 = ...;
 9    ch2 = ...;
10
11    // Fill tree
12    tree->Fill();
13
14    // AutoFlush: called every 10000 events
15    // AutoSave: called every 100000 events
16    // AutoSave manually
17    if (i % 50000 == 0) {
18        tree->AutoSave("SaveSelf");
19        printf("Saved %d events...\n", i);
20    }
21}

TTree::AutoSaveは、指定したイベント数もしくはファイルサイズごとに自動的にファイルに保存する機能です。

TTree::SetAutoFlushで、指定したイベント数ごとに自動的にファイルにフラッシュするように設定できます。

TTree::SetAutoSaveで、指定したイベント数もしくはファイルサイズごとに自動的にファイルに保存するように設定できます。

注意

TTree:Writeは、ファイルに書き込む際にTTreeの内容を完全に保存します。 イベントごとに呼び出してはいけません。 イベント数が多い場合は、AutoSaveAutoFlushを活用して、定期的にファイルに書き出すようにします。