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