TChain
class description - source file - inheritance tree
public:
TChain TChain()
TChain TChain(Text_t* name, Text_t* title)
TChain TChain(TChain&)
virtual void ~TChain()
virtual void Add(Text_t* name)
virtual void Browse(TBrowser* b)
TClass* Class()
virtual void CreatePackets()
virtual void Draw(Option_t* opt)
virtual void Draw(TCut varexp, TCut selection, Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0)
virtual void Draw(Text_t* varexp, Text_t* selection, Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0)
virtual TBranch* GetBranch(Text_t* name)
virtual Int_t GetEntry(Int_t entry = 0, Int_t getall = 0)
TFile* GetFile()
virtual TLeaf* GetLeaf(Text_t* name)
virtual TObjArray* GetListOfBranches()
TObjArray* GetListOfFiles()
virtual TObjArray* GetListOfLeaves()
virtual Float_t GetMaximum(Text_t* columname)
virtual Float_t GetMinimum(Text_t* columname)
virtual Int_t GetNbranches()
virtual Int_t GetNtrees()
TList* GetStatus()
TTree* GetTree()
Int_t GetTreeNumber()
Int_t* GetTreeOffset()
virtual Int_t GetTreeOffsetLen()
virtual TClass* IsA()
virtual Int_t LoadTree(Int_t entry)
virtual void Loop(Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0)
virtual void ls(Option_t* option)
virtual void Merge(Text_t* name)
virtual void Merge(TFile* file, Int_t basketsize, Option_t* option)
virtual void Print(Option_t* option)
virtual void SetBranchAddress(Text_t* bname, void* add)
virtual void SetBranchStatus(Text_t* bname, Bool_t status = 1)
virtual void SetPacketSize(Int_t size = 100)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
protected:
Int_t fTreeOffsetLen Current size of fTreeOffset array
Int_t fNtrees Number of Trees
Int_t fTreeNumber Current Tree number in fTreeOffset table
Int_t fNbranches Number of branches in associated Tree
Int_t* fTreeOffset Array of variables
TTree* fTree Pointer to current tree
TFile* fFile Pointer to current file
TObjArray* fFiles List of file names containing the Trees
TList* fStatus List of active/inactive branches
TChain
A chain is a collection of files containg TTree objects.
When the chain is created, the first parameter is the default name
for the Tree to be processed later on.
Enter a new element in the chain via the TChain::Add function.
Once a chain is defined, one can use the normal TTree functions
to Draw,Scan,etc.
Use TChain::SetBranchStatus to activate one or more branches for all
the trees in the chain.
TChain(): TTree()
*-*-*-*-*-*Default constructor for Chain*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ==============================
TChain(const Text_t *name, const Text_t *title)
:TTree(name,title)
*-*-*-*-*-*-*-*-*-*-*-*-*Create a Chain*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ==============
A TChain is a collection of TFile objects.
the first parameter "name" is the name of the TTree object
in the files added with Add.
Use TChain::Add to add a new element to this chain.
Example:
Suppose we have 3 files f1.root, f2.root and f3.root. Each file
contains a TTree object named "T".
TChain ch("T"); creates a chain to process a Tree called "T"
ch.Add("f1.root");
ch.Add("f2.root");
ch.Add("f3.root");
ch.Draw("x");
The Draw function above will process the variable "x" in Tree "T"
reading sequentially the 3 files in the chain ch.
*-*
~TChain()
*-*-*-*-*-*Default destructor for a Chain*-*-*-*-*-*-*-*-*-*-*-*
*-* ==============================
void Add(const Text_t *name)
Add a new element to this chain.
An element can be the name of another chain or the name of a file
containing a tree.
name may have the following format:
//machine/file_name.root/subdir/tree_name
machine, subdir and tree_name are optional. If tree_name is missing,
the chain name will be assumed.
void Browse(TBrowser *)
void CreatePackets()
*-*-*-*-*-*-*-*-*Initialize the packet descriptor string*-*-*-*-*-*-*-*-*-*
*-* =======================================
void Draw(TCut varexp, TCut selection, Option_t *option, Int_t nentries, Int_t firstentry)
Draw expression varexp for selected entries.
This function accepts TCut objects as arguments.
Useful to use the string operator +, example:
ntuple.Draw("x",cut1+cut2+cut3);
void Draw(const Text_t *varexp, const Text_t *selection, Option_t *option,Int_t nentries, Int_t firstentry)
Process all entries in this chain and draw histogram
corresponding to expression varexp.
Int_t GetEntry(Int_t entry, Int_t getall)
*-*-*-*-*-*-*-*-*Return entry in memory*-*-*-*-*-*-*-*-*-*
*-* ======================
getall = 0 : get only active branches
getall = 1 : get all branches
TObjArray* GetListOfBranches()
*-*-*-*-*-*-*-*-*Return pointer to list of branches of current tree*-*-*-*-*
*-* ================================================
TObjArray* GetListOfLeaves()
*-*-*-*-*-*-*-*-*Return pointer to list of leaves of current tree*-*-*-*-*
*-* ================================================
Float_t GetMaximum(Text_t *columname)
*-*-*-*-*-*-*-*-*Return maximum of column with name columname*-*-*-*-*-*-*
*-* ============================================
Float_t GetMinimum(Text_t *columname)
*-*-*-*-*-*-*-*-*Return minimum of column with name columname*-*-*-*-*-*-*
*-* ============================================
Int_t LoadTree(Int_t entry)
Load tree corresponding to entry
void Loop(Option_t *option, Int_t nentries, Int_t firstentry)
*-*-*-*-*-*-*-*-*Loop on nentries of this chain starting at firstentry
*-* ===================================================
void ls(Option_t *option)
void Merge(const Text_t *name)
Merge all files in this chain into a new file
see important note in the following function Merge
void Merge(TFile *file, Int_t basketsize, Option_t *option)
Merge all files in this chain into a new file
if option ="C" is given, the compression level for all branches
in the new Tree is set to the file compression level.
By default, the compression level of all branches is the
original compression level in the old Trees.
if (basketsize > 1000, the basket size for all branches of the
new Tree will be set to basketsize.
IMPORTANT: Before invoking this function, the branch addresses
of the TTree must have been set.
example using the file generated in $ROOTSYS/test/Event
merge two copies of Event.root
gSystem.Load("libEvent");
Event *event = new Event();
TChain ch("T");
ch.SetBranchAddress("event",&event);
ch.Add("Event1.root");
ch.Add("Event2.root");
ch.Merge("all.root");
The SetBranchAddress statement is not necessary if the Tree
contains only basic types (case of files converted from hbook)
void Print(Option_t *option)
void SetBranchAddress(const Text_t *bname, void *add)
*-*-*-*-*-*-*-*-*Set branch address*-*-*-*-*-*-*-*
*-* ==================
bname is the name of a branch.
add is the address of the branch.
void SetBranchStatus(const Text_t *bname, Bool_t status)
*-*-*-*-*-*-*-*-*Set branch status Process or DoNotProcess*-*-*-*-*-*-*-*
*-* =========================================
bname is the name of a branch. if bname="*", apply to all branches.
status = 1 branch will be processed
= 0 branch will not be processed
void SetPacketSize(Int_t size)
*-*-*-*-*-*-*-*-*Set number of entries per packet for parallel root*-*-*-*-*
*-* =================================================
void Streamer(TBuffer &b)
*-*-*-*-*-*-*-*-*Stream a class object*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =========================================
Inline Functions
void Draw(Text_t* varexp, Text_t* selection, Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0)
TBranch* GetBranch(Text_t* name)
Int_t GetNtrees()
TFile* GetFile()
TLeaf* GetLeaf(Text_t* name)
TObjArray* GetListOfFiles()
Int_t GetNbranches()
TList* GetStatus()
TTree* GetTree()
Int_t GetTreeNumber()
Int_t* GetTreeOffset()
Int_t GetTreeOffsetLen()
TClass* Class()
TClass* IsA()
void ShowMembers(TMemberInspector& insp, char* parent)
TChain TChain(TChain&)
Author: Rene Brun 03/02/97
Last update: 2.22/04 01/06/99 11.27.39 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.