[root] / trunk / tree / tree / inc / TEntryList.h Repository:
ViewVC logotype

Log of /trunk/tree/tree/inc/TEntryList.h

Parent Directory Parent Directory


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

Revision 47830 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 4 17:49:06 2012 UTC (2 years, 1 month ago) by pcanal
File length: 5772 byte(s)
Diff to previous 42401
From Guilain Ademard:

I add a TEntryList object in the TGListView of my GUI. When I click right on this object to access to its context menu, the method TEntryList::SetReapplyCut() does not work. The error message is: 
root [2] Error in <TToggle::SetToggledObject>: cannot determine getter method for SetReapplyCut 
The patch in attachment resolves the problem.

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: 5750 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: 5667 byte(s)
Diff to previous 34744
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 34744 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 7 06:16:36 2010 UTC (4 years, 5 months ago) by brun
File length: 5304 byte(s)
Diff to previous 22992
From Artur Szostak:
There is a mechanism in GCC 4.6.0 that will allow one to effectively prevent the false positive warnings for -Weffc++ from appearing in software that builds against ROOT, with the -Weffc++ flag set, such as AliRoot. I propose using the mechanism, which will make the development in AliRoot much more pleasant.

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: 4934 byte(s)
Diff to previous 22902
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 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: 4879 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/inc/TEntryList.h
File length: 4879 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/inc/TEntryList.h
File length: 4880 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/inc/TEntryList.h
File length: 4880 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/inc/TEntryList.h
File length: 4930 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/inc/TEntryList.h
File length: 4940 byte(s)
Diff to previous 18856
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 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/inc/TEntryList.h
File length: 4922 byte(s)
Diff to previous 18277
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 18277 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 15 11:33:00 2007 UTC (7 years, 10 months ago) by brun
Original Path: trunk/tree/inc/TEntryList.h
File length: 4649 byte(s)
Diff to previous 17820
From Anna:
Add new functionlity to the TEntryList class to support automatically
multiple TEntryList (one per TChain file). A new class TEntryListFromFile
has been developed. It is a utility class called by TChain when a TEntryList
is set.
// TEntryListFromFile
//
// Manages entry lists from different files, when they are not loaded
// in memory at the same time.
//
// This entry list should only be used when processing a TChain (see
// TChain::SetEntryList() function). File naming convention:
// - by default, filename_elist.root is used, where filename is the
//   name of the chain element.
// - xxx$xxx.root - $ sign is replaced by the name of the chain element
// If the list name is not specified (by passing filename_elist.root/listname to
// the TChain::SetEntryList() function, the first object of class TEntryList
// in the file is taken.
// It is assumed that there are as many lists, as there are chain elements,
// and they are in the same order.
//
// If one of the list files can't be opened, or there is an error reading a list
// from the file, this list is skipped and the entry loop continues on the next
// list.

Revision 17820 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 9 11:51:09 2007 UTC (7 years, 11 months ago) by rdm
Original Path: trunk/tree/inc/TEntryList.h
File length: 4631 byte(s)
Diff to previous 17620
From Federico:
effc++ corrections.

Revision 17620 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 1 16:04:48 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/tree/inc/TEntryList.h
File length: 4556 byte(s)
Diff to previous 17422
Add missing forward declarations

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/inc/TEntryList.h
File length: 4523 byte(s)
Diff to previous 16984
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 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/inc/TEntryList.h
File length: 4271 byte(s)
Diff to previous 16678
From Anna:
fixing some bugs and memory leaks

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/inc/TEntryList.h
File length: 4132 byte(s)
Diff to previous 16653
From Anna:
a new version of entry lists, that works in the case when the chain has less trees than the entry list.

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/inc/TEntryList.h
File length: 3882 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/inc/TEntryList.h
File length: 3851 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