Hi Rene, > I take this opportunity to ask users to send now specific requirements > regarding TTrees. It is the right time. I suspect you are going to get a great deal of feedback - TTrees play such a central role in analysis. I would second the plea for a review of the documentation. ROOT is a victim of its own success; the more it gets used, the more it draws in people who are new to OO and C++ and need their hands holding. A group of us in the MINOS experiment are trying to persuade the collaboration to adopt ROOT and I am currently writing a ROOT Crib aimed at neophytes. The idea is provide just enough to get people started and not to let them loose on the ROOT web until they have. In this endeavour I have spent more time writing something on TTrees than anything else. > The type of query as you show above, is in general, difficult to > implement for an automatic split algorithm. I would argue that there is always going to be a limit to what splitting can be done automatically. Splitting is about I/O optimisation, but ROOT is never going to know how the user has organised his/her tree, what data is frequently accessed and what not. The current system works well if the main TTree TBranches correspond to access patterns. Beyond that, let the user do things by hand if they want to mix data with different access frequencies in the same branch. So, along with previous repliers, I would vote to place the effort into extending the functionality not performance. Symmetric behaviour, and specifically being able to use member functions in all circumstances would be good. Extending the reach down into lower levels of the TTree would also be great. For example would it be possible to lift the restriction that, for TTree access, TClonesArray can only have objects whose data members are basic data types? I have another request which involves the composition of queries that draw data from multiple TBranches. For example in the Event class doing something like:- Draw("fTracks.fPx:fTemperature"); - I don't claim this example makes sense! In PAW terms this is like trying to plot data from two or more n-tuples at once. Unlike PAW, ROOT lets you do it, but if I understand the current implementation, this works but in a somewhat arbitrary way, you get one entry: (the first fPx, fTemperature). If picking from two separate TClonesArray you get combinations until one TBranch is exhausted for the current event. Maybe in general combinations between TClonesArrays are not that useful but the simple case above, where only one TClonesArray is involved, I think it would be good if you got every member of the array, rather than just the first. Cheers, Nick West
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET