.! $ROOTSYS/test/eventexe 1000 1 1 1 TString dir = "$ROOTSYS/test/Event.root"; gSystem->ExpandPathName(dir); const auto filename = gSystem->AccessPathName(dir) ? "./Event.root" : "$ROOTSYS/test/Event.root"; TFile oldfile(filename); TTree *oldtree; oldfile.GetObject("T", oldtree); const auto nentries = oldtree->GetEntries(); Event *event = nullptr; oldtree->SetBranchAddress("event", &event); TFile newfile("small.root", "recreate"); auto newtree = oldtree->CloneTree(0); for (auto i : ROOT::TSeqI(nentries)) { oldtree->GetEntry(i); if (event->GetNtrack() > 605) newtree->Fill(); event->Clear(); } newtree->Print(); newfile.Write();