Re: [ROOT] TTree splitting & TClonesArray

From: Carla Bleve (Carla.Bleve@le.infn.it)
Date: Tue Feb 26 2002 - 14:16:59 MET


Thank you for your answer,

I work in the ARGO-YBJ collaboration (ground based detection of
extensive air showers). Our detector is a full-coverage carpet  of RPC
(under construction). The central part of ARGO is a matrix of 120X130
logical units or pixels. Ten pixel (2X5) is a RPC, 3 RPC (3X1) is a module
and 4 modules (2X2) is a 'supermodule' (actually we call it  'Cluster').
This grouping is related to  electronics, high voltage, etc.
At the moment we are analyzing about 10^6 events (few minutes of data
taking) to check the behaviour of electronics, RPCs , trigger logic,...
so that I need to retain all possible information (ex. plot of time distribution
of first pixel in a module, selection of RPCs with at least 1 pixel in the
trigger
peack, time delay versus distance for different pixels, average number of
fired RPC in a Cluster, etc.) The complicated event structure has been
thought to face all possible query and to avoid repetitions.
Of course  I need some functions and macros
for looping on whatever I want but they need a very large run time.
On the other hand a simpler design implies a lot of repetition and
doesn't avoid loops (how to count for ex. the number of  fired RPC in a module
for each event? At the moment I'm using the TClonesArray::GetEntries()
method)
Very likely there is no simple answer  to the problem, however, since I'm
not an expert ROOT user, I wonder if you can suggest a more efficient
(completely different?) strategy for data storage.
Thank you again.

                    Carla Bleve

Rene Brun wrote:

> 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



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