Next event size in a tree

From: Alessandro Thea <thea_at_ge.infn.it>
Date: Thu, 30 Mar 2006 11:31:09 +0200


Dear Rooters,
I'm facing some memory problem due to some really _big_ events which came out from our simulation.
After a quite large production we realized that some of this simulated events required ~1Gb of RAM just to be read from file. It turns out, from the event size returned by TTree::GetEntry() that only half of the memory is taken by the event. I suppose the rest is used in the reading operations (baskets? buffers?). I've also seen that the memory is released when the tree is deleted (and the file is closed?).
Now is too late to re-organize the branches to reduce the memory usage, so I was wondering if there is a way to know  in advance which is the size of the next event to be read to decide whether to skip it or not.
Or if there is a way to force the tree to drop some meory after the event has been read. I tried with TTree::DropBaskets(), but it crashes during the next call of TTree::GetEntry(). Thanks in advance for any suggestion,
Alessandro

-- 

__________________________________________________________________________
Alessandro Thea Ph.D. Student Dipartimento di Fisica dell'Universita' di Genova and Istituto Nazionale di Fisica Nucleare, Sezione di Genova, Via Dodecaneso 33, I-16146, Genova, Italia. Tel : +39 010 3536468 E-Mail: Alessandro.Thea_at_ge.infn.it Cell: +39 349 2724919
__________________________________________________________________________
Received on Thu Mar 30 2006 - 11:31:20 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:58 MET