TChain


class description - source file - inheritance tree

class TChain : public TTree


    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)

Data Members

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

Class Description

                                                                      
 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.