ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
TEntryList Class Reference

A List of entry numbers in a TTree or TChain.

There are two types of entry lists:

1.

for a TTree (fBlocks data member is non-zero) Entry numbers are stored in TEntryListBlocks, which, in their turn, are stored in the TObjArray fBlocks. The range of the entry numbers is cut into intervals of kBlockSize entries (currently 64000), so that the first block contains information which entries out of the first 64000 pass the selection, the second block - which entries out of the 64000-127999 interval pass the selection, etc. Some blocks, obviously, might be empty. The internal representation of entry numbers in the blocks is described in the TEntryListBlock class description, and this representation might be changed by calling OptimizeStorage() function (when the list is filled via the Enter() function, this is done automatically, except for the last block). Individual entry lists can be merged (functions Merge() and Add()) to make an entry list for a TChain of corresponding TTrees.

{
//=========Macro generated from canvas: c/c
//========= (Tue Jan 23 16:58:56 2007) by ROOT version5.15/01
TCanvas *c = new TCanvas("c", "c",213,172,460,253);
c->Range(0,0,1,1);
TPaveText *pt = new TPaveText(0.00518135,0.810811,0.507772,0.989189,"br");
pt->SetFillColor(19);
pt->SetTextColor(4);
TText *text = pt->AddText("TEntryList for a TTree");
pt->Draw();
pt = new TPaveText(0.0387597,0.483696,0.307494,0.657609,"br");
pt->SetFillColor(19);
text = pt->AddText("TEntryList");
pt->Draw();
pt = new TPaveText(0.0363636,0.107527,0.306494,0.489247,"br");
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("fBlocks");
text = pt->AddText("fLists = 0");
pt->Draw();
pt = new TPaveText(0.338501,0.23913,0.627907,0.375,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
text = pt->AddText("Info on entries 0-63999");
pt->Draw();
pt = new TPaveText(0.643411,0.23913,0.989664,0.375,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
text = pt->AddText("entries 64000-127999");
pt->Draw();
pt = new TPaveText(0.423773,0.423913,0.870801,0.576087,"br");
pt->SetFillColor(19);
text = pt->AddText("TObjArray of TEntryListBlock objects");
pt->Draw();
TArrow *arrow = new TArrow(0.277202,0.356757,0.418605,0.505435,0.05,">");
arrow->SetFillColor(1);
arrow->SetFillStyle(1001);
arrow->Draw();
return c;
}
TEntryList_001.png

2.

for a TChain (fLists data member is non-zero) It contains a TList of sub-lists (TEntryList objects, corresponding to each TTree) Trees and lists are matched by the TTree name and its file name (full path). All sub-lists are returned by the GetLists() function and individual lists are returned by GetEntryList() function. Such lists are no different from the lists for TTrees, described above.

{
//=========Macro generated from canvas: c/c
//========= (Mon Jan 22 19:00:21 2007) by ROOT version5.15/01
TCanvas *c = new TCanvas("c", "c",172,104,447,249);
c->Range(0,0,1,1);
TPaveText *pt = new TPaveText(0.0026738,0.790055,0.417112,0.994475,"br");
pt->SetFillColor(19);
pt->SetTextColor(4);
TText *text = pt->AddText("TEntryList for a TChain");
pt->Draw();
pt = new TPaveText(0.00802139,0.541436,0.294118,0.701657,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("TEntryList");
pt->Draw();
pt = new TPaveText(0.0106952,0.237569,0.294118,0.546961,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("fBlocks = 0");
text = pt->AddText("fLists");
pt->Draw();
pt = new TPaveText(0.483957,0.607735,0.68984,0.773481,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("TChain");
pt->Draw();
pt = new TPaveText(0.347594,0.475138,0.494652,0.596685,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("TTree_1");
pt->Draw();
pt = new TPaveText(0.508021,0.475138,0.660428,0.59116,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("TTree_2");
pt->Draw();
pt = new TPaveText(0.673797,0.469613,0.826203,0.59116,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
pt->SetTextFont(42);
text = pt->AddText("TTree_3");
pt->Draw();
pt = new TPaveText(0.251337,0.0331492,0.483957,0.165746,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
text = pt->AddText("TEntryList for TTree_1");
pt->Draw();
pt = new TPaveText(0.491979,0.038674,0.729947,0.171271,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
text = pt->AddText("TEntryList for TTree_2");
pt->Draw();
pt = new TPaveText(0.737968,0.038674,0.97861,0.171271,"br");
pt->SetBorderSize(1);
pt->SetFillColor(19);
text = pt->AddText("TEntryList for TTree_3");
pt->Draw();
pt = new TPaveText(0.410667,0.21978,0.816,0.395604,"br");
pt->SetFillColor(19);
text = pt->AddText("TList of TEntryList* objects");
pt->Draw();
TArrow *arrow = new TArrow(0.224,0.296703,0.4,0.296703,0.05,">");
arrow->SetFillColor(1);
arrow->SetFillStyle(1001);
arrow->Draw();
return c;
}
TEntryList_002.png

Operations on entry lists

TTree::Draw() and TChain::Draw()

Use option entrylist to write the results of TTree::Draw and TChain::Draw into an entry list. Example:

tree->Draw(">>elist", "x<0 && y>0", "entrylist");
TEntryList *elist = (TEntryList*)gDirectory->Get("elist");

## Example of Loop on TEntryList with a TChain

void loopChain() {
TFile *fe = TFile::Open("myelist.root");
TEntryList *myelist = (TEntryList*)fe->Get("myelist");
TChain *ch = new TChain("ntuple");
ch->Add("hsimple.root");
ch->Add("hsimple2.root");
Long64_t listEntries = myelist->GetN();
Long64_t chainEntries = ch->GetEntries();
Int_t treenum = 0;
ch->SetEntryList(myelist);
for (entry=start;entry < end;entry++) {
entryNumber = treechain->GetEntryNumber(entry);
if (entryNumber < 0) break;
localEntry = fTree->LoadTree(entryNumber);
if (localEntry < 0) break;
....
then either call branch->GetEntry(localEntry);
or entryNumber->GetEntry(entryNumber);
In the later case the LoadTree is then somewhat redudant.
...
}
}

When using the TEntryList interface directly, you can get the 'tree number' and entry in the current tree (i.e. value similar to the return value of LoadTree) from calling TEntryList::GetEntryAndTree:

Long64_t treeEntry = myelist->GetEntryAndTree(el,treenum);

to obtain the entry number within the chain you need to add to it the value of treeEntry+ch->GetTreeOffset()[treenum] such that the loop in the previous example can also be written as:

for (Long64_t el = 0; el < listEntries; el++) {
Long64_t treeEntry = myelist->GetEntryAndTree(el,treenum);
Long64_t chainEntry = treeEntry+ch->GetTreeOffset()[treenum];
printf("el=%lld, treeEntry=%lld, chainEntry=%lld, treenum=%d\n", el, treeEntry, chainEntry, treenum);
ch->LoadTree(chainEntry); // this also returns treeEntry
needed_branch->GetEntry(treeEntry);
}

TSelectors

To fill an TEntryList from a TSelector correctly, one must add the TEntryList object to the output list of the selector (TSelector::fOutput). This is the only way to make the sub-lists of the TEntryList switch when the current tree of the TChain is changed.

Using a TEntryList as input (TTree::SetEntryList() and TChain::SetEntryList())

while the TTree::SetEntryList() function is only setting the TTree::fEntryList data member, the same function in TChain also finds correspondance between the TTrees of this TChain and the sub-lists of this TEntryList.

TEntryList and the current directory

TEntryList objects are automatically added to the current directory (like TTrees). However, in case of a TEntryList for a chain, only the top-level entry list is added, not the sub-lists for specific trees. Placing entry lists in the current directory allows calling them as a part of a TTreeFormula expression, so if the user wants to extract a sublist from a TChain entry list via the GetEntryList() or some other function, they have to add it to the current directory to be able to use it in TTreeFormula expressions.

TEntryList and TEventList

TTree::SetEventList() and TChain::SetEventList() transform a TEventList into a TEntryList See comments to those functions for more details

Definition at line 27 of file TEntryList.h.

Public Types

enum  { kBlockSize = 64000 }
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TEntryList ()
 
 TEntryList (const char *name, const char *title)
 c-tor with name and title More...
 
 TEntryList (const char *name, const char *title, const TTree *tree)
 constructor with name and title, which also sets the tree More...
 
 TEntryList (const char *name, const char *title, const char *treename, const char *filename)
 c-tor with name and title, which also sets the treename and the filename More...
 
 TEntryList (const TTree *tree)
 c-tor, which sets the tree More...
 
 TEntryList (const TEntryList &elist)
 copy c-tor More...
 
virtual ~TEntryList ()
 Destructor. More...
 
virtual void Add (const TEntryList *elist)
 Add 2 entry lists. More...
 
virtual Int_t Contains (Long64_t entry, TTree *tree=0)
 
virtual void DirectoryAutoAdd (TDirectory *)
 Called by TKey and others to automatically add us to a directory when we are read from a file. More...
 
virtual Bool_t Enter (Long64_t entry, TTree *tree=0)
 Add entry entry to the list. More...
 
virtual TEntryListGetCurrentList () const
 
virtual TEntryListGetEntryList (const char *treename, const char *filename, Option_t *opt="")
 Return the entry list, correspoding to treename and filename By default, the filename is first tried as is, and then, if the corresponding list is not found, the filename is expanded to the absolute path, and compared again. More...
 
virtual Long64_t GetEntry (Int_t index)
 Return the number of the entry #index of this TEntryList in the TTree or TChain See also Next(). More...
 
virtual Long64_t GetEntryAndTree (Int_t index, Int_t &treenum)
 Return the index of "index"-th non-zero entry in the TTree or TChain and the # of the corresponding tree in the chain. More...
 
virtual Long64_t GetEntriesToProcess () const
 
virtual TListGetLists () const
 
virtual TDirectoryGetDirectory () const
 
virtual Long64_t GetN () const
 
virtual const char * GetTreeName () const
 
virtual const char * GetFileName () const
 
virtual Int_t GetTreeNumber () const
 
virtual Bool_t GetReapplyCut () const
 
virtual Int_t Merge (TCollection *list)
 Merge this list with the lists from the collection. More...
 
virtual Long64_t Next ()
 Return the next non-zero entry index (next after fLastIndexQueried) this function is faster than GetEntry() More...
 
virtual void OptimizeStorage ()
 Checks if the array representation is more economical and if so, switches to it. More...
 
virtual Int_t RelocatePaths (const char *newloc, const char *oldloc=0)
 Relocate the file paths. More...
 
virtual Bool_t Remove (Long64_t entry, TTree *tree=0)
 Remove entry entry from the list. More...
 
virtual void Reset ()
 Reset this list. More...
 
virtual Int_t ScanPaths (TList *roots, Bool_t notify=kTRUE)
 Scan the paths to find the common roots. More...
 
virtual void Print (const Option_t *option="") const
 Print this list. More...
 
virtual void SetDirectory (TDirectory *dir)
 Add reference to directory dir. dir can be 0. More...
 
virtual void SetEntriesToProcess (Long64_t nen)
 
virtual void SetShift (Bool_t shift)
 
virtual void SetTree (const TTree *tree)
 If a list for a tree with such name and filename exists, sets it as the current sublist If not, creates this list and sets it as the current sublist The name of the file, where the tree is, is taken as tree->GetTree()->GetCurrentFile()->GetName(), and then expanded either to the absolute path, or to full url. More...
 
virtual void SetTree (const char *treename, const char *filename)
 If a list for a tree with such name and filename exists, sets it as the current sublist If not, creates this list and sets it as the current sublist. More...
 
virtual void SetTreeName (const char *treename)
 
virtual void SetFileName (const char *filename)
 
virtual void SetTreeNumber (Int_t index)
 
virtual void SetReapplyCut (Bool_t apply=kFALSE)
 
virtual void Subtract (const TEntryList *elist)
 Remove all the entries of this entry list, that are contained in elist. More...
 
 ClassDef (TEntryList, 2)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Static Public Member Functions

static Int_t Relocate (const char *fn, const char *newroot, const char *oldroot=0, const char *enlnm=0)
 Relocate entry list 'enlnm' in file 'fn' replacing 'oldroot' with 'newroot' in filenames. More...
 
static Int_t Scan (const char *fn, TList *roots)
 Scan TEntryList in 'fn' to find the common parts of paths. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

void GetFileName (const char *filename, TString &fn, Bool_t *=0)
 To be able to re-localize the entry-list we identify the file by just the name and the anchor, i.e. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Protected Attributes

TListfLists
 
TEntryListfCurrent
 
Int_t fNBlocks
 currently filled entry list More...
 
TObjArrayfBlocks
 
Long64_t fN
 
Long64_t fEntriesToProcess
 
TString fTreeName
 
TString fFileName
 
ULong_t fStringHash
 
Int_t fTreeNumber
 Hash value of a string of treename and filename. More...
 
Long64_t fLastIndexQueried
 the index of the tree in the chain (used when the entry More...
 
Long64_t fLastIndexReturned
 used to optimize GetEntry() function from a loop More...
 
Bool_t fShift
 used to optimize GetEntry() function from a loop More...
 
TDirectoryfDirectory
 true when some sub-lists don't correspond to trees More...
 
Bool_t fReapply
 Pointer to directory holding this tree. More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Private Member Functions

TEntryListoperator= (const TEntryList &)
 

Friends

TEntryList operator|| (TEntryList &elist1, TEntryList &elist2)
 

#include <TEntryList.h>

+ Inheritance diagram for TEntryList:
+ Collaboration diagram for TEntryList:

Member Enumeration Documentation

anonymous enum
Enumerator
kBlockSize 

Definition at line 56 of file TEntryList.h.

Constructor & Destructor Documentation

TEntryList::TEntryList ( )

Referenced by Add(), SetTree(), and TEntryList().

TEntryList::TEntryList ( const char *  name,
const char *  title 
)

c-tor with name and title

Definition at line 180 of file TEntryList.cxx.

TEntryList::TEntryList ( const char *  name,
const char *  title,
const TTree tree 
)

constructor with name and title, which also sets the tree

Definition at line 206 of file TEntryList.cxx.

TEntryList::TEntryList ( const char *  name,
const char *  title,
const char *  treename,
const char *  filename 
)

c-tor with name and title, which also sets the treename and the filename

Definition at line 228 of file TEntryList.cxx.

TEntryList::TEntryList ( const TTree tree)

c-tor, which sets the tree

Definition at line 250 of file TEntryList.cxx.

TEntryList::TEntryList ( const TEntryList elist)

copy c-tor

Definition at line 273 of file TEntryList.cxx.

TEntryList::~TEntryList ( )
virtual

Destructor.

Definition at line 321 of file TEntryList.cxx.

Member Function Documentation

void TEntryList::Add ( const TEntryList elist)
virtual

Add 2 entry lists.

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 343 of file TEntryList.cxx.

Referenced by TEntryListArray::Add(), Add(), TEntryListArray::AddEntriesAndSubLists(), Merge(), and operator||().

TEntryList::ClassDef ( TEntryList  ,
 
)
Int_t TEntryList::Contains ( Long64_t  entry,
TTree tree = 0 
)
virtual
  • When tree = 0, returns from the current list
  • When tree != 0, finds the list, corresponding to this tree
  • When tree is a chain, the entry is assumed to be global index and the local entry is recomputed from the treeoffset information of the chain

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 517 of file TEntryList.cxx.

Referenced by TEntryListArray::Contains(), Contains(), TTreeFormula::EvalInstance(), and TSelectorDraw::ProcessFillMultiple().

void TEntryList::DirectoryAutoAdd ( TDirectory dir)
virtual

Called by TKey and others to automatically add us to a directory when we are read from a file.

Definition at line 546 of file TEntryList.cxx.

Bool_t TEntryList::Enter ( Long64_t  entry,
TTree tree = 0 
)
virtual

Add entry entry to the list.

  • When tree = 0, adds to the current list
  • When tree != 0, finds the list, corresponding to this tree
  • When tree is a chain, the entry is assumed to be global index and the local entry is recomputed from the treeoffset information of the chain

Reimplemented in TEntryListArray, TEntryListArray, and TEntryListFromFile.

Definition at line 558 of file TEntryList.cxx.

Referenced by TEntryListArray::Enter(), Enter(), TParallelCoord::GetEntryList(), TTreeTableInterface::InitEntries(), and TSelectorDraw::TakeAction().

virtual TEntryList* TEntryList::GetCurrentList ( ) const
inlinevirtual

Reimplemented in TEntryListFromFile.

Definition at line 70 of file TEntryList.h.

virtual TDirectory* TEntryList::GetDirectory ( ) const
inlinevirtual

Definition at line 76 of file TEntryList.h.

Referenced by TEntryListArray::Reset(), Reset(), SetTree(), and TTree::~TTree().

virtual Long64_t TEntryList::GetEntriesToProcess ( ) const
inlinevirtual
Long64_t TEntryList::GetEntry ( Int_t  index)
virtual
Long64_t TEntryList::GetEntryAndTree ( Int_t  index,
Int_t treenum 
)
virtual

Return the index of "index"-th non-zero entry in the TTree or TChain and the # of the corresponding tree in the chain.

Reimplemented in TEntryListFromFile.

Definition at line 729 of file TEntryList.cxx.

Referenced by TChain::GetEntryNumber().

TEntryList * TEntryList::GetEntryList ( const char *  treename,
const char *  filename,
Option_t opt = "" 
)
virtual

Return the entry list, correspoding to treename and filename By default, the filename is first tried as is, and then, if the corresponding list is not found, the filename is expanded to the absolute path, and compared again.

To avoid it, use option "ne"

Reimplemented in TEntryListFromFile.

Definition at line 777 of file TEntryList.cxx.

Referenced by TChain::SetEntryList(), and TDSet::SplitEntryList().

void TEntryList::GetFileName ( const char *  filename,
TString fn,
Bool_t local = 0 
)
protected

To be able to re-localize the entry-list we identify the file by just the name and the anchor, i.e.

we drop protocol, host, options, ... The result in the form 'file::anchor' (or 'file', if no anchor is present) is saved in 'fn'. The function optionally (is 'local' is defined) checks file locality (i.e. protocol 'file://') returning the result in '*local' .

Definition at line 758 of file TEntryList.cxx.

Referenced by TEntryListArray::Add(), TEntryListArray::AddEntriesAndSubLists(), GetEntryList(), Print(), and TEntryListArray::Subtract().

virtual const char* TEntryList::GetFileName ( ) const
inlinevirtual

Reimplemented in TEntryListFromFile.

Definition at line 79 of file TEntryList.h.

Referenced by GetEntryList(), and SetTree().

virtual TList* TEntryList::GetLists ( ) const
inlinevirtual
virtual Long64_t TEntryList::GetN ( ) const
inlinevirtual
virtual Bool_t TEntryList::GetReapplyCut ( ) const
inlinevirtual

Definition at line 81 of file TEntryList.h.

Referenced by TSelectorDraw::Begin().

virtual const char* TEntryList::GetTreeName ( ) const
inlinevirtual
virtual Int_t TEntryList::GetTreeNumber ( ) const
inlinevirtual

Reimplemented in TEntryListFromFile.

Definition at line 80 of file TEntryList.h.

Referenced by GetEntry(), Next(), and TChain::SetEntryList().

Int_t TEntryList::Merge ( TCollection list)
virtual

Merge this list with the lists from the collection.

Reimplemented in TEntryListFromFile.

Definition at line 867 of file TEntryList.cxx.

Long64_t TEntryList::Next ( )
virtual

Return the next non-zero entry index (next after fLastIndexQueried) this function is faster than GetEntry()

Reimplemented in TEntryListFromFile.

Definition at line 886 of file TEntryList.cxx.

Referenced by GetEntry(), TEntryListFromFile::Next(), and Next().

TEntryList& TEntryList::operator= ( const TEntryList )
private
void TEntryList::OptimizeStorage ( )
virtual

Checks if the array representation is more economical and if so, switches to it.

Reimplemented in TEntryListFromFile.

Definition at line 973 of file TEntryList.cxx.

void TEntryList::Print ( const Option_t option = "") const
virtual

Print this list.

  • option = "" - default - print the name of the tree and file
  • option = "all" - print all the entry numbers

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 989 of file TEntryList.cxx.

Referenced by operator||(), TEntryListArray::Print(), TEntryListFromFile::Print(), and Print().

Int_t TEntryList::Relocate ( const char *  fn,
const char *  newroot,
const char *  oldroot = 0,
const char *  enlnm = 0 
)
static

Relocate entry list 'enlnm' in file 'fn' replacing 'oldroot' with 'newroot' in filenames.

If 'enlnm' is null or '*' all entry lists in the file are relocated. Relocation is mandatory to use the entry-list with the same dataset at a different location (i.e. on a different cluster, machine or disks). This function can be called as many times as need to reach the desired result. The existing 'locations' can be checked qith TEntryList::Scan .

Definition at line 1353 of file TEntryList.cxx.

Int_t TEntryList::RelocatePaths ( const char *  newroot,
const char *  oldroot = 0 
)
virtual

Relocate the file paths.

If oldroot is defined, replace oldroot with newroot in all file names, i.e. oldroot/re/st/of/the/path will become newroot/re/st/of/the/path. Ifoldrootis null, the new path will be justnewroot/path`. Relocation is mandatory to use the entry-list with the same dataset at a different location (i.e. on a different cluster, machine or disks).

Definition at line 1294 of file TEntryList.cxx.

Referenced by Relocate(), and RelocatePaths().

Bool_t TEntryList::Remove ( Long64_t  entry,
TTree tree = 0 
)
virtual

Remove entry entry from the list.

  • When tree = 0, removes from the current list
  • When tree != 0, finds the list, corresponding to this tree
  • When tree is a chain, the entry is assumed to be global index and the local entry is recomputed from the treeoffset information of the chain

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 613 of file TEntryList.cxx.

Referenced by TEntryListArray::Remove(), Remove(), and Subtract().

void TEntryList::Reset ( void  )
virtual

Reset this list.

Reimplemented in TEntryListArray, and TEntryListArray.

Definition at line 1026 of file TEntryList.cxx.

Referenced by TSelectorDraw::Begin(), and TEntryListArray::Reset().

Int_t TEntryList::Scan ( const char *  fn,
TList roots 
)
static

Scan TEntryList in 'fn' to find the common parts of paths.

If 'roots' is defined, add the found roots to the list as TObjStrings. Return the number of common root paths found.

Definition at line 1496 of file TEntryList.cxx.

Int_t TEntryList::ScanPaths ( TList roots,
Bool_t  notify = kTRUE 
)
virtual

Scan the paths to find the common roots.

If 'roots' is defined, add the found roots to the list as TObjStrings. Return the number of roots found.

Definition at line 1439 of file TEntryList.cxx.

Referenced by Scan(), and ScanPaths().

void TEntryList::SetDirectory ( TDirectory dir)
virtual

Add reference to directory dir. dir can be 0.

Definition at line 1058 of file TEntryList.cxx.

Referenced by DetachRes(), DirectoryAutoAdd(), TChain::SetEntryListFile(), TChain::SetEventList(), TTree::SetEventList(), and SetTree().

virtual void TEntryList::SetEntriesToProcess ( Long64_t  nen)
inlinevirtual

Definition at line 93 of file TEntryList.h.

Referenced by TDSetElement::SetEntryList().

virtual void TEntryList::SetFileName ( const char *  filename)
inlinevirtual

Definition at line 98 of file TEntryList.h.

virtual void TEntryList::SetReapplyCut ( Bool_t  apply = kFALSE)
inlinevirtual

Definition at line 100 of file TEntryList.h.

virtual void TEntryList::SetShift ( Bool_t  shift)
inlinevirtual

Definition at line 94 of file TEntryList.h.

Referenced by TChain::SetEntryList().

void TEntryList::SetTree ( const TTree tree)
virtual

If a list for a tree with such name and filename exists, sets it as the current sublist If not, creates this list and sets it as the current sublist The name of the file, where the tree is, is taken as tree->GetTree()->GetCurrentFile()->GetName(), and then expanded either to the absolute path, or to full url.

If, for some reason, you want to provide the filename in a different format, use SetTree(const char *treename, const char *filename), where the filename is taken "as is".

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 1184 of file TEntryList.cxx.

Referenced by Contains(), Enter(), TEventIterTree::GetNextEvent(), TEventIterTree::GetNextPacket(), Remove(), TTree::SetEntryList(), TEntryListArray::SetTree(), and TEntryList().

void TEntryList::SetTree ( const char *  treename,
const char *  filename 
)
virtual

If a list for a tree with such name and filename exists, sets it as the current sublist If not, creates this list and sets it as the current sublist.

! the filename is taken as provided, no extensions to full path or url !

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 1072 of file TEntryList.cxx.

virtual void TEntryList::SetTreeName ( const char *  treename)
inlinevirtual

Definition at line 97 of file TEntryList.h.

virtual void TEntryList::SetTreeNumber ( Int_t  index)
inlinevirtual

Reimplemented in TEntryListFromFile.

Definition at line 99 of file TEntryList.h.

Referenced by TChain::SetEntryList().

void TEntryList::Subtract ( const TEntryList elist)
virtual

Remove all the entries of this entry list, that are contained in elist.

Reimplemented in TEntryListArray, TEntryListFromFile, and TEntryListArray.

Definition at line 1220 of file TEntryList.cxx.

Referenced by TEntryListArray::Subtract(), and Subtract().

Friends And Related Function Documentation

TEntryList operator|| ( TEntryList elist1,
TEntryList elist2 
)
friend

Definition at line 1273 of file TEntryList.cxx.

Member Data Documentation

TObjArray* TEntryList::fBlocks
protected
TEntryList* TEntryList::fCurrent
protected
TDirectory* TEntryList::fDirectory
protected

true when some sub-lists don't correspond to trees

Definition at line 50 of file TEntryList.h.

Referenced by GetDirectory(), SetDirectory(), TEntryList(), and ~TEntryList().

Long64_t TEntryList::fEntriesToProcess
protected

Definition at line 39 of file TEntryList.h.

Referenced by GetEntriesToProcess(), and TEntryList().

TString TEntryList::fFileName
protected
Long64_t TEntryList::fLastIndexQueried
protected

the index of the tree in the chain (used when the entry

Definition at line 46 of file TEntryList.h.

Referenced by Add(), TEntryListFromFile::GetEntries(), TEntryListFromFile::GetEntry(), GetEntry(), TEntryListFromFile::Next(), Next(), Reset(), SetTree(), and TEntryList().

Long64_t TEntryList::fLastIndexReturned
protected

used to optimize GetEntry() function from a loop

Definition at line 47 of file TEntryList.h.

Referenced by Add(), TEntryListFromFile::GetEntry(), GetEntry(), TEntryListFromFile::Next(), Next(), Reset(), SetTree(), and TEntryList().

TList* TEntryList::fLists
protected
Long64_t TEntryList::fN
protected
Int_t TEntryList::fNBlocks
protected

currently filled entry list

Definition at line 36 of file TEntryList.h.

Referenced by Add(), Contains(), Enter(), GetEntry(), Next(), OptimizeStorage(), Print(), Reset(), SetTree(), and TEntryList().

Bool_t TEntryList::fReapply
protected

Pointer to directory holding this tree.

Definition at line 51 of file TEntryList.h.

Referenced by GetReapplyCut(), Reset(), and TEntryList().

Bool_t TEntryList::fShift
protected

used to optimize GetEntry() function from a loop

Definition at line 48 of file TEntryList.h.

Referenced by GetEntry(), Next(), and TEntryList().

ULong_t TEntryList::fStringHash
protected

Definition at line 42 of file TEntryList.h.

Referenced by Add(), GetEntryList(), RelocatePaths(), Reset(), SetTree(), and TEntryList().

TString TEntryList::fTreeName
protected
Int_t TEntryList::fTreeNumber
protected

The documentation for this class was generated from the following files: