[root] / trunk / tree / tree / src / TEntryList.cxx Repository:
ViewVC logotype

Log of /trunk/tree/tree/src/TEntryList.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 46305 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 4 01:34:06 2012 UTC (2 years, 3 months ago) by pcanal
File length: 51198 byte(s)
Diff to previous 45713
Avoid null pointer dereference

Revision 45713 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 27 16:22:59 2012 UTC (2 years, 4 months ago) by pcanal
File length: 51152 byte(s)
Diff to previous 43993
escape < and >

Revision 43993 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 27 16:23:16 2012 UTC (2 years, 8 months ago) by pcanal
File length: 51096 byte(s)
Diff to previous 43518
Fix coverity issues
Dereference null return:
32943,32945,36325,36329: TFormLeafInfo::GetLocalValuePointer
33253: TTreeFormula::EvalObject
33763: CloneTree
33258: GetBasket
34034: In DropBuffers (in addition avoid reading the basket when the intend is to drop the content from memory!)
36307: TTree::BuildIndex
36328: DrawCopy
36332: GetStreamerInfoCache
33025: BuildStreamerInfo
42469: Clone
33436: MakeIterator
Dereference after null check.
42470: in ImportStreamerInfo
33138: in TEntryListArray::Enter
Unchecked return value:
32049, 32050: TBranchProxy::Read and Setup
Mixed enums:
32705,32706: TClass::fStreamerType (and also name the enum type).

Revision 43518 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 28 01:04:07 2012 UTC (2 years, 9 months ago) by pcanal
File length: 51139 byte(s)
Diff to previous 43349
Fix for coding convention RS1 and RS2

Revision 43349 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 14 04:26:44 2012 UTC (2 years, 10 months ago) by pcanal
File length: 51193 byte(s)
Diff to previous 42789
In main doc, point to using TChain::GetEntryNumber which works for both TTree and TChain (Instead of a TChain specific interface)

Revision 42789 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 25 10:39:36 2012 UTC (2 years, 11 months ago) by rdm
File length: 50225 byte(s)
Diff to previous 42401
fix typos in HTML comments. Resolves issue 90849.

Revision 42401 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 6 00:22:44 2011 UTC (3 years, 1 month ago) by pcanal
File length: 50353 byte(s)
Diff to previous 42383
From Gerri:

- Use a custom streamer to handle the change in the interpretation of fFileName introduced
  by the previous patch. This should fix a problem experienced with the derived class
  TEntryListArray.
- Introduce the protected function GetFileName to avoid triplicating the same code while
  extracting the filename related string to be used to tag the file.

Revision 42383 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 2 17:00:03 2011 UTC (3 years, 1 month ago) by rdm
File length: 49482 byte(s)
Diff to previous 35745
From Gerri:
Improvements/fixes in TEntryList:
- Add new methods to find the base location of files and to modify it.
  This allows to relocate the entry-lists to be able to use them of a
  system where the files have a different absolute path.
  The most relevant new methods are:
    - TEntryList::Scan(const char *fn)
      Shows the root common paths for the files of the TEntryLists in 'fn'
    - TEntryList::Relocate(const char *fn, const char *newroot,
                           const char *oldroot = 0, const char *enlnm = 0)
      Relocates all paths starting with 'oldroot' to 'newroot' for the
      entry-list 'enlnm' in file 'fn'.
- Remove 'protocol+server' from file tagging and matching, i.e. use
  only filepath+anchor; in this way a list is valid even after re-staging
  of the dataset files, which typically changes the end-point data servers.
  Entry-lists created with the full path should still be matched correctly.
- Fix a bug in matching paths affecting the case where the 
  'file://' protocol was used (causing test #10 in stressProof to fail
  when files were read from a local file system)

Revision 35745 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 26 16:49:05 2010 UTC (4 years, 3 months ago) by pcanal
File length: 40782 byte(s)
Diff to previous 35408
cov 10699 (reversise inull)

Revision 35408 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 19 17:18:59 2010 UTC (4 years, 4 months ago) by brun
File length: 40553 byte(s)
Diff to previous 35399
Fix a forward null. coverity CID 11642

Revision 35399 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 18 06:04:57 2010 UTC (4 years, 4 months ago) by brun
File length: 40516 byte(s)
Diff to previous 35363
Fix dead code. coverity CID 21142 21143

Revision 35363 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 17 12:33:37 2010 UTC (4 years, 4 months ago) by brun
File length: 40516 byte(s)
Diff to previous 35099
Fix forward_null. coverity CID 116717 11622 11643

Revision 35099 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 1 08:48:42 2010 UTC (4 years, 4 months ago) by brun
File length: 40440 byte(s)
Diff to previous 31605
Add an example showing how to loop on a TEntryList in case of a TChain

Revision 31605 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 7 19:50:39 2009 UTC (5 years, 1 month ago) by pcanal
File length: 39700 byte(s)
Diff to previous 31603
Fix 'reverse_inull' errors found by coverity

Revision 31603 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 7 18:59:15 2009 UTC (5 years, 1 month ago) by pcanal
File length: 39666 byte(s)
Diff to previous 31027
Add missing initialization (found by coverity)

Revision 31027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 9 05:55:35 2009 UTC (5 years, 2 months ago) by brun
File length: 39501 byte(s)
Diff to previous 22992
Fix https://savannah.cern.ch/bugs/index.php?58456  in TEntryList::Contains

Revision 22992 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 5 09:43:01 2008 UTC (6 years, 9 months ago) by pcanal
File length: 39474 byte(s)
Diff to previous 22972
Use the DirectoryAutoAdd facility for the classes:
        TTree, TH1, TEventList, TEntryList, TGraph2D
(and hence their derived classes).

The instances of those classes are now added automatically 
to the current directory only when Constructe'd with arguments or Clone'd
and to the directory they are read from when their are stored
directly in a TKey. [Note: the default constructor never adds
the object to the current directory]

The directory auto add can still be disabled for instance
of TH1 and TGraph2D by setting TH1::AddDirectory.

Additionally one can disable the directory auto add for
a specific class by doing:

    TClass::GetClass("myclass")->SetDirectoryAutoAdd(0)

However you might want to also be able to restore the
behavior in which case you ought to do:

    TClass *cl = TClass::GetClass("myclass");
    ROOT::DirAutoAdd_t func = cl->GetDirectoryAutoAdd();
    cl->SetDirectoryAutoAdd(0);

TROOT::ReadingObject is marked as deprecated.. It is still
set (as it was) but is no longer used by the above mention
classes.

NOTE:  One side effect of this change, is that instnace 
of TTree, TH1, TEventList, TEntryList, TGraph2D that are
retrieved from a TMessage (i.e. from a socket) no longer
auto register themselves to the current ROOT directory.

Add a new optional parameter to TDirectory::Append: 'replace'
If replace is true (the default is false), the Append will
first remove from the directory any existing object and
print the message:

   Replacing existing OldClass: thename (Potential memory leak).

Add a new option parameter to TDirectory::CloneObject: 'autoadd'
If autoadd is true (the default), CloneObject will call the
object 'DirectoryAutoAdd' function (if any)

In TDirectory::CloneObject add support for multiple inheritance
from TObject where TObject is not the left most base class.

Fix memory leak in TGraph2D::operator= (and add TGraph2D::Clear)

Cleanup some documentation

Revision 22972 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 19:58:33 2008 UTC (6 years, 9 months ago) by pcanal
File length: 39144 byte(s)
Diff to previous 22902
Introduce a new member function TDirectory::Remove which is the reverse of
TDirectory::Append.  This allows more 'hiding' of the internal list as
well as simplifying code (now) using Append/Remove.

Revision 22902 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 31 09:48:42 2008 UTC (6 years, 9 months ago) by rdm
File length: 39196 byte(s)
Diff to previous 21065
move tree, treeplayer and treeviewer under tree meta directory.

Revision 21065 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 27 15:13:22 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 39196 byte(s)
Diff to previous 20882
From Anna:
fixes an issue with a seg. fault in SetEventList() ==> SetEntryList(), another issue with full entry lists, with correct resetting of "current" indices and with printing of empty entry lists.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/tree/src/TEntryList.cxx
File length: 38695 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/tree/src/TEntryList.cxx
File length: 38695 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/tree/src/TEntryList.cxx
File length: 38748 byte(s)
Diff to previous 19785
remove :$ from tag line

Revision 19785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 11 09:45:03 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 38758 byte(s)
Diff to previous 19571
From Anna:
Remember the bug #28505 about dcache and entry lists? After lots of communication with dcache guys, it looks like I've fixed it. The attached patch has the following changes:

1. TEntryList::GetEntryList() now performs all the necessary changes to the file names, such as extending to full path for local files, and using TUrl::GetUrl() for not local. This, hopefully, solves the problem of dcache:/// being added to dcache files and the same possible problem for other protocols.
2. TEntryList::SetTree(TTree *tree) does the same changes to the file name. TEntryList::SetEntryList(const char *treename, const char *filename), however, takes the names "as is".
3. in TChain::SetEntryList() function, most of the code has been replaced with calls to TEntryList::GetEntryList(). Because of this, option parameter, previously in TChain::SetEntryList() had to be added to TEntryList::GetEntryList().
4. TChain::SetEventList() function now doesn't call TChain::LoadTree() if all the tree offsets are already known.
5. TChain::GetEntryNumber() function now doesn't load the current tree, if all the tree offsets are already known.
6. TEntryList::Print() function is fixed for the case of empty sub-lists (didn't print anything for them before)
Special thanks to Dmitry Ozerov for his help.

Revision 19571 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 8 14:58:35 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 37046 byte(s)
Diff to previous 19439
From Anna:
fix the issue of TEntryList and TEventList for remote files in the bug #28505 in Savannah.

Revision 19439 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 23 19:59:15 2007 UTC (7 years, 6 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 36938 byte(s)
Diff to previous 19333
From Anna:
There was indeed a bug in computing the total number of entries, when
TEntryList::Enter() function was used with a TChain argument.

Revision 19333 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 13 08:56:13 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/tree/src/TEntryList.cxx
File length: 36831 byte(s)
Diff to previous 18856
From Anna:
in GetEntryList() strip off "file:", if any, for local files before
the comparison.

Revision 18856 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 22 13:47:43 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 36583 byte(s)
Diff to previous 18610
From Anna:
Changes in TEntryListBlock class to allow storing the indices of entries that don't pass. It's used when more than 15/16 of entries pass the selection, so it makes sense to store the non-passing entries as an array instead of storing passing entries as bits. Also, start calling OptimizeStorage() method after each Merge().

Revision 18610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 27 09:27:55 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 36554 byte(s)
Diff to previous 18543
From Anna:
Fix in view of PROOF

Revision 18543 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 15:16:34 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 36214 byte(s)
Diff to previous 18441
From Anna:
Fix a bug in TEntryList::Add(), for the case of adding chain lists to tree lists

Revision 18441 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 30 13:38:10 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 35735 byte(s)
Diff to previous 18313
From Anna:
Fix a bug in the use of the hash algorithm that was preventing stressEntryList
to work correctly on some systems.

Revision 18313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 17 08:45:36 2007 UTC (7 years, 10 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 35201 byte(s)
Diff to previous 18287
Change the documentation of TEntryList and TEntryListBlock to html format
and add macros generating pictures documenting the two classes.

Revision 18287 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 16 10:37:01 2007 UTC (7 years, 10 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 35530 byte(s)
Diff to previous 17492
From Anna:
the gDirectory was not correctly set in TEntryList::SetTree

Revision 17492 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 17:44:45 2007 UTC (8 years ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 35534 byte(s)
Diff to previous 17422
From Anna:
A small bug fixed in TEntryList.

Revision 17422 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 07:57:14 2007 UTC (8 years ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 35077 byte(s)
Diff to previous 17235
From Anna:

Extend the functionality of TEntryList and add the following info in TTree::Draw

   //     Saving the result of Draw to a TEventList or a TEntryList
   //     =========================================================
   //  TTree::Draw can be used to fill a TEventList object (list of entry numbers)
   //  instead of histogramming one variable.
   //  If varexp0 has the form >>elist , a TEventList object named "elist"
   //  is created in the current directory. elist will contain the list
   //  of entry numbers satisfying the current selection.
   //  If option "entrylist" is used, a TEntryList object is created
   //  Example:
   //    tree.Draw(">>yplus","y>0")
   //    will create a TEventList object named "yplus" in the current directory.
   //    In an interactive session, one can type (after TTree::Draw)
   //       yplus.Print("all")
   //    to print the list of entry numbers in the list.
   //    tree.Draw(">>yplus", "y>0", "entrylist")
   //    will create a TEntryList object names "yplus" in the current directory
   //
   //  By default, the specified entry list is reset.
   //  To continue to append data to an existing list, use "+" in front
   //  of the list name;
   //    tree.Draw(">>+yplus","y>0")
   //      will not reset yplus, but will enter the selected entries at the end
   //      of the existing list.
   //
   //      Using a TEventList or a TEntryList as Input
   //      ===========================
   //  Once a TEventList or a TEntryList object has been generated, it can be used as input
   //  for TTree::Draw. Use TTree::SetEventList or TTree::SetEntryList to set the
   //  current event list
   //  Example1:
   //     TEventList *elist = (TEventList*)gDirectory->Get("yplus");
   //     tree->SetEventList(elist);
   //     tree->Draw("py");
   //  Example2:
   //     TEntryList *elist = (TEntryList*)gDirectory->Get("yplus");
   //     tree->SetEntryList(elist);
   //     tree->Draw("py");
   //  If a TEventList object is used as input, a new TEntryList object is created
   //  inside the SetEventList function. In case of a TChain, all tree headers are loaded
   //  for this transformation. This new object is owned by the chain and is deleted
   //  with it, unless the user extracts it by calling GetEntryList() function.
   //  See also comments to SetEventList() function of TTree and TChain.
   //
   //  If arrays are used in the selection critera, the entry entered in the
   //  list are all the entries that have at least one element of the array that
   //  satisfy the selection.
   //  Example:
   //      tree.Draw(">>pyplus","fTracks.fPy>0");
   //      tree->SetEventList(pyplus);
   //      tree->Draw("fTracks.fPy");
   //  will draw the fPy of ALL tracks in event with at least one track with
   //  a positive fPy.
   //
   //  To select only the elements that did match the original selection
   //  use TEventList::SetReapplyCut or TEntryList::SetReapplyCut.
   //  Example:
   //      tree.Draw(">>pyplus","fTracks.fPy>0");
   //      pyplus->SetReapplyCut(kTRUE);
   //      tree->SetEventList(pyplus);
   //      tree->Draw("fTracks.fPy");
   //  will draw the fPy of only the tracks that have a positive fPy.
   //
   //  Note: Use tree->SetEventList(0) if you do not want use the list as input.

Revision 17235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 14:02:39 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 33392 byte(s)
Diff to previous 16984
From Anna:
a fix for some bugs in TEntryList and TEntryListBlock that I found while testing.

Revision 16984 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 30 07:49:39 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 33068 byte(s)
Diff to previous 16850
From Anna:
fixing some bugs and memory leaks

Revision 16850 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 11:13:34 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 29844 byte(s)
Diff to previous 16678
From Anna:
Fix problems reported by Panos

Revision 16678 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 2 15:12:33 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 29481 byte(s)
Diff to previous 16655
From Anna:
a new version of entry lists, that works in the case when the chain has less trees than the entry list.

Revision 16655 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 31 15:18:34 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 27985 byte(s)
Diff to previous 16653
From Anna:
a more detailed description of TEntryList and TEntryListBlock

Revision 16653 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 31 08:51:07 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 24820 byte(s)
Diff to previous 16642
Fix coding conventions

Revision 16642 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Oct 27 09:58:02 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/tree/src/TEntryList.cxx
File length: 24824 byte(s)
First attempt to introduce the new TEntryList class (will replace TEventList)
The class is not yet connected to TTree/TChain. Just testing portability.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9