Dear ROOT team,
I am using ROOT v5.08 on linux CentOS 4 compiled with gcc 3.4.4.
First issue:
I would like to create a very large TEventList with about 200 million entries. When it reaches just under 105 millon entries I get an error. I have plenty of physical memory (2GB + 2GB swap) to perform this task. A session below shows the problem. On the other hand, I have no problem creating an array of type Long64_t with 200 million entries.
FreeType Engine v2.1.9 used to render TrueType fonts. Compiled on 20 December 2005 for linux with thread support.
CINT/ROOT C/C++ Interpreter version 5.16.5, November 30 2005 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] TEventList *E = new TEventList(); root [1] {
end with '}', '@':abort > for(int i=0;i<105000000;i++){ end with '}', '@':abort > E->Enter(i); end with '}', '@':abort > if(i>104500000)cout<<"\r"<<i<<flush; end with '}', '@':abort > } end with '}', '@':abort > }
Second issue:
I would like to add random integers to a TEventList, but it seems that only higher values than the previous one entered into the TEventList is allowed.
root [11] TEventList *lll = new TEventList() root [12] lll->Enter(1) root [13] lll->GetEntry(0)
As you can see adding the number 3 to the list after adding 5 produces an entry of 5. Is this expected, or is this a bug? If for some reason this is not allowed an error message would be very useful. I can only assume, since there exists a TEventList::Sort() function this is not the desired behavior.
The purpose for doing this is to randomly sample a ROOT tree without having to know anything about it except the total number of entries. I would like to save this TEventList to a file, then read it and the TTree back into an interacive ROOT session.
Thanks
Kerry
Received on Thu Feb 02 2006 - 17:42:21 MET
This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:57 MET