[ROOT] bad behavior drawing event

From: Mathieu Ribordy (mathieu.ribordy@desy.de)
Date: Tue Jun 04 2002 - 20:25:01 MEST


Hi,
In a TFile, I store a tree of event. An event stores TClonesArray and
TObjArray's
Writing the tree is fine, memory is under control, which is not the case
when I read it back:

when I ask to draw e.g. some hit values (the hits are stored in a
TClonesArray hitsclone):
evtree.Draw("event.hitsclone.GetLe()");
the number of hit objects is increasing during the loop on the event and
the memory is not released at the end (10 Mb/1000 event)

similarly, when I plot one track in a TObjArray (which owns its
objects):
evtree.Draw("event.GetTrack(7)->GetCosth()");
(5Mb/1000 event)

Concretely, I cannot draw more than few 10000's events before crashing,
and it is also unacceptably slow (tens of minutes).

Certainly stg I do not manage correctly, but what ?
The memory should be released after each event, as I plot values of
objects stored in a TClonesArray or values of objects stored in a
TObjArray, which owns its objects.
I would be very grateful for some help, I don't see any way to
circumvent this behavior.
    Mathieu



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