CopyTree'ing large TTrees

From: Ilya Orlov <Ilya.Orlov_at_cern.ch>
Date: Sat, 12 Sep 2009 17:19:37 +0200


Hello roottalk,

I'm trying to select the records from the TTree having a specific values of several leaves.
I have TTree* CALIWAVE being of enormous size (smth like 40 millions of records), but I need only ~1000 of them to be selected.

When I say
CALIWAVE->Scan("Amplitude","FT==0 && slot==2 && channel==1"); I get the array of 768 records printed out, and everything is fine and quick.

But when I say
TTree* tmp = CALIWAVE->CopyTree("FT==0 && slot==2 && channel==1"); to get the access to the leaves of the selected records from my script, I get the bad_alloc exception.
That happens both in CINT and in my C program using ROOT libraries.

Why is it so and how can I manage to do what I want? :)

Thank you in advance.

--
Best regards,
Ilya Orlov.


====================================
CERN, ATLAS collaboration
LAr Endcap calorimeter commissioning group
office 40-1C-08, mailbox E28210
CH-1211 Genève 23, Switzerland

+41 22 76 71137 (office), +41 76 487 2733 (office cell),
+41 76 289 3446 (personal cell)
==================================== Budker Institute for Nuclear Physics KEDR collaboration Acad. Lavrentiev avenue, 11 Novosibirsk 630090, Russian Federation
+7 (383) 329-44-19, +7 913 931 0898 (cell)
==================================== Novosibirsk State University Students Scientific Work Department, department head Pirogova str., 2, office 420 Novosibirsk 630090, Russian Federation
+7 (383) 363-40-57, +7 913 931 0898 (cell)
====================================
Received on Sat Sep 12 2009 - 17:20:00 CEST

This archive was generated by hypermail 2.2.0 : Sat Sep 12 2009 - 17:50:02 CEST