Re: [ROOT] TChain after MakeClass

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jun 03 2003 - 08:26:57 MEST


Hi Peter,

> 1. When I load with the ++ option (using the root interpreter), it takes
> 0.5 ms per event.  Would is be faster still if I had a standalone 
program
> or is this as good as it gets?  My student uses PAW (!) and, runnning 
over
> the same data set takes him 3 hours, while for me it will be 11 hours.
> Does this make sense to you?

When using the option ++ you use the native compiler and get the same 
speed
as a standalone program. Concerning the speed, my guess is that you
call tree.GetEntry in your Loop function. This reads all the branches
of your Tree. You can speed up considerably the process by
  -Activating only the branches used in the function via SetBranchStatus
  -or call branch.GetEntry instead of tree.GetEntry (see example in
   the tutorial h1analysis.C.
In the coming soon version of Root, we are introducing an automatic
branch reading algorithm similar to what we had in PAW. 
>
> 2. Given the above, it might be worthwhile for me to make a reduced data
> set containing only a fraction of the events.  Do you have an example of
> how to do this?

You don't need to do this if you apply the above recipee. ROOT I/O is 
faster
than PAW I/O. If your analysis function uses only a small subset of all
Tree variables, it is in your interest to tell the system what you need
to read. If your algorithm eliminates 99% of the entries by a simple test
on one variable, read this branch first via branch.GetEntry, then read
the other branches as illustrated in h1analysis.C

Rene Brun



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET