TChain


class description - source file - inheritance tree

class TChain : public TTree


    public:
TChain TChain() TChain TChain(const char* name, const char* title) TChain TChain(TChain&) virtual void ~TChain() virtual void Add(const char* 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(const char* varexp, const char* selection, Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0) virtual TBranch* GetBranch(const char* name) virtual Int_t GetEntry(Int_t entry = 0, Int_t getall = 0) TFile* GetFile() virtual TLeaf* GetLeaf(const char* name) virtual TObjArray* GetListOfBranches() TObjArray* GetListOfFiles() virtual TObjArray* GetListOfLeaves() virtual Float_t GetMaximum(const char* columname) virtual Float_t GetMinimum(const char* columname) virtual Int_t GetNbranches() TObject* GetNotify() virtual Int_t GetNtrees() TList* GetStatus() virtual TTree* GetTree() Int_t GetTreeNumber() Int_t* GetTreeOffset() virtual Int_t GetTreeOffsetLen() virtual TClass* IsA() const 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(const char* name) virtual void Merge(TFile* file, Int_t basketsize, Option_t* option) virtual void Print(Option_t* option) virtual void SetBranchAddress(const char* bname, void* add) virtual void SetBranchStatus(const char* bname, Bool_t status = 1) virtual void SetNotify(TObject* obj) 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 TObject* fNotify Object to be notified when loading a new file

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 char *name, const char *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 char *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 char *varexp, const char *selection, Option_t *option,Int_t nentries, Int_t firstentry)
 Process all entries in this chain and draw histogram
 corresponding to expression varexp.

TBranch* GetBranch(const char *name)
*-*-*-*-*-*-*-*-*Return pointer to the branch name*-*-*-*-*
*-*              ==========================================

Int_t GetEntry(Int_t entry, Int_t getall)
*-*-*-*-*-*-*-*-*Return entry in memory*-*-*-*-*-*-*-*-*-*
*-*              ======================
     getall = 0 : get only active branches
     getall = 1 : get all branches

TLeaf* GetLeaf(const char *name)
*-*-*-*-*-*-*-*-*Return pointer to the leaf name*-*-*-*-*
*-*              ==========================================

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(const char *columname)
*-*-*-*-*-*-*-*-*Return maximum of column with name columname*-*-*-*-*-*-*
*-*              ============================================

Float_t GetMinimum(const char *columname)
*-*-*-*-*-*-*-*-*Return minimum of column with name columname*-*-*-*-*-*-*
*-*              ============================================

Int_t GetNbranches()
*-*-*-*-*-*-*-*-*Return number of branches of current tree*-*-*-*-*
*-*              =========================================

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 char *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 char *bname, void *add)
*-*-*-*-*-*-*-*-*Set branch address*-*-*-*-*-*-*-*
*-*              ==================

      bname is the name of a branch.
      add is the address of the branch.

void SetBranchStatus(const char *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(const char* varexp, const char* selection, Option_t* option, Int_t nentries = 1000000000, Int_t firstentry = 0)
              Int_t GetNtrees()
             TFile* GetFile()
         TObjArray* GetListOfFiles()
           TObject* GetNotify()
             TList* GetStatus()
             TTree* GetTree()
              Int_t GetTreeNumber()
             Int_t* GetTreeOffset()
              Int_t GetTreeOffsetLen()
               void SetNotify(TObject* obj)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
             TChain TChain(TChain&)


Author: Rene Brun 03/02/97
Last update: 2.23/12 26/01/2000 09.45.01 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.