Re: [ROOT] TTree splitting & TClonesArray

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Feb 26 2002 - 11:53:02 MET


Hi Carla,

Making a TClonesArray of TClonesArray is going against the spirit of a
TClonesArray. That is the reason why we do not split the TClonesArray
at the second level.

It is somehow difficult to come with a meaningful proposal without knowing
more about your structure (number of supermodules, modules, etc) and the type
of queries you want to make.

I have, however, the feeling that a simple structure with one single
TClonesArray will be the most efficient and simple solution to your problem.
If you have a pixel class, add new members to store the supermodule and module
numbers for each pixel. This will consume less space on the file and will
also facilitates the queries.

Rene Brun

Carla Bleve wrote:
> 
> Hi rooters,
> 
> I am storing a large amount of data into a TTree branch.
> Since the detector is made up of about 10^5 'pixels'
> I would like to save only the fired ones and related
>  information for each event.  Furthermore  the pixels
> are grouped in modules, the modules are grouped in
> supermodules etc.
> 
> I write  MyEvent class to store data,
> containing a TClonesArray of fired higest level
> components (supermodules). Each of them contains
> a TClonesArray of fired subcomponents and so on..
> down to the pixels.
> 
> I would like to access directly to pixel information
> (for example the time)
> with no need of looping over all the components
> Setting split level to an high value doesn't work
> Why Root doesn't split an array
> of objects which in turn contain a TClones array
> of subobjects?
> 
> Could someone suggest a simple way to view pixel
> information directly?
> Thank you!
> 
>           carla bleve



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:43 MET