Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
copytree3.C File Reference

Detailed Description

View in nbviewer Open in SWAN Example of Root macro to copy a subset of a Tree to a new Tree, selecting entries.

Only selected entries are copied to the new Tree. The input file has been generated by the program in $ROOTSYS/test/Event with Event 1000 1 99 1

R__LOAD_LIBRARY($ROOTSYS/test/libEvent.so)
void copytree3()
{
// Get old file, old tree and set top branch address
TString dir = "$ROOTSYS/test/Event.root";
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);
// Create a new file + a clone of old tree in new file
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();
}
#define R__LOAD_LIBRARY(LIBRARY)
Definition Rtypes.h:472
int nentries
R__EXTERN TSystem * gSystem
Definition TSystem.h:559
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
Definition TFile.h:54
Basic string class.
Definition TString.h:136
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
Definition TSystem.cxx:1272
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
Definition TSystem.cxx:1294
A TTree represents a columnar dataset.
Definition TTree.h:79
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=0)
Change branch address, dealing with clone trees properly.
Definition TTree.cxx:8349
virtual Long64_t GetEntries() const
Definition TTree.h:460
virtual TTree * CloneTree(Long64_t nentries=-1, Option_t *option="")
Create a clone of this tree and copy nentries.
Definition TTree.cxx:3124
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0)
Read all branches of entry and return total number of bytes read.
Definition TTree.cxx:5618
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition test.py:1
Author
Rene Brun

Definition in file copytree3.C.