Tree Libraries

TEntryListArray: a list of entries and subentries in a TTree or TChain

TEntryListArray is an extension of TEntryList, used to hold selected entries and subentries (sublists) for when the user has a TTree with containers (vectors, arrays, ...). End_Html
Usage with TTree::Draw to select entries and subentries
  1. To fill a list elist :
         tree->Draw(">> elist", "x > 0", "entrylistarray"); 
        
  2. To use a list to select entries and subentries:
         tree->SetEntryList(elist);
         tree->Draw("y");
         tree->Draw("z");
      
Its main purpose is to improve the performance of a code that needs to apply complex cuts on TTree::Draw multiple times. After the first call above to TTree::Draw, a TEntryListArray is created and filled with the entries and the indices of the arrays that satisfied the selection cut (x > 0). In the subsequent calls to TTree::Draw, only these entries / subentries are used to fill histograms.
About the class
The class derives from TEntryList and can be used basically in the same way. This same class is used to keep entries and subentries, so there are two types of TEntryListArray's:
  1. The ones that only hold subentries
  2. The ones that hold entries and eventually lists with subentries in fSubLists.
Additions with respect to TEntryList
  1. Data members:
  2. Public methods:
  3. Protected methods:

Others changes