Re: TChain::GetEntries

From: OKUMURA, Akira <oxon_at_ceres.phys.s.u-tokyo.ac.jp>
Date: Fri, 5 Sep 2008 16:38:03 +0900


Hello Philippe,

Thank you for your reply. I found a similar (?) problem in PyROOT. Is the reason the same? If you add "del chain" at the end of the script, this error does not happen.

import ROOT

chain = ROOT.TChain("HondaTuple")
chain.Add("glast*root")

n310 = chain.GetEntries("ptype==310")

# del chain


$ ./tmp.py

Thread 1 (process 49770 thread 0x717):
#0  0x94df6f69 in wait4 ()
#1  0x94df4abc in system$UNIX2003 ()
#2  0x010c4d61 in TUnixSystem::StackTrace ()
#3  0x010c80b5 in TUnixSystem::DispatchSignals ()
#4  0x010c8228 in SigHandler ()
#5  <signal handler called>
#6  0x02960bf2 in TChain::~TChain ()
#7  0x02999fdd in ROOT::delete_TChain ()
#8  0x01095b3f in TClass::Destructor ()
#9  0x0051a9ab in PyROOT::op_dealloc_nofree ()
#10 0x0051a9d2 in PyROOT::(anonymous namespace)::op_dealloc ()
#11 0x0015d255 in PyType_GenericNew ()
#12 0x00146e56 in PyDict_New ()
#13 0x001473ca in PyDict_SetItem ()
#14 0x0014a910 in _PyModule_Clear ()
#15 0x0019d629 in PyImport_Cleanup ()
#16 0x001a7767 in Py_Finalize ()
#17 0x001b3d2f in Py_Main ()
#18 0x00001fca in ?? ()


Regards,

OKUMURA, Akira oxon_at_ceres.phys.s.u-tokyo.ac.jp Department of Physics, The University of Tokyo 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-0033
TEL/FAX +81 3-5841-4173/4059
Skype : okumura.akira

On 2008/09/05, at 11:06, Philippe Canal wrote:

>
> Hi Akira,
>
> I can not quite reproduce the problem, however a related issue
> (likely to be the cause of your problem) has been fixed in the SVN
> repository.
> You can work around the problem by calling chain->SetNotify(0);
> after the GetEntries:
>
> {
> TChain* chain = new TChain("HondaTuple");
> chain->Add("080731/glast-08073105590*.root");
> Int_t n310 = chain->GetEntries("ptype==310");
> chain->SetNotify(0);
> chain->Draw("log10(E-mass)>>htemp(100,1,4)", "(ptype==110)*2");
> }
>
> Cheers,
> Philippe
>
>>> OKUMURA, Akira wrote:
>>>> Hello ROOTers,
>>>>
>>>> This short macro crashes with the error message attached at the
>>>> end of this message.
>>>>
>>>> void flux()
>>>> {
>>>> TChain* chain = new TChain("HondaTuple");
>>>> chain->Add("080731/glast-08073105590*.root");
>>>> Int_t n310 = chain->GetEntries("ptype==310");
>>>> chain->Draw("log10(E-mass)>>htemp(100,1,4)", "(ptype==110)*2");
>>>> }
>>>>
>>>> If I comment out the line of TChain::GetEntries, it runs as I
>>>> expected. How can I avoid this problem?
>>>>
>>>> I am using
>>>> ROOT 5.20.00 w/ OS X 10.5.4 (Intel 64 bit)
>>>> and
>>>> ROOT 5.20.00 w/ Fedora 8 (64 bit)
>>>>
>>>> Please let me know if you need the input ROOT file to investigate
>>>> the problem, I will upload them at private area.
>>>>
>>>> Regards,
>>>>
>>>> OKUMURA, Akira oxon_at_ceres.phys.s.u-tokyo.ac.jp
>>>> Department of Physics, The University of Tokyo
>>>> 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-0033
>>>> TEL/FAX +81 3-5841-4173/4059
>>>> Skype : okumura.akira
>>>>
>>>>
>>>
>>
Received on Fri Sep 05 2008 - 09:38:11 CEST

This archive was generated by hypermail 2.2.0 : Fri Sep 05 2008 - 17:50:02 CEST