Re: Problem with reading TTrees on Windows

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Tue, 15 Sep 2009 12:08:34 +0200


It works in compiled too. Simply do
  root > .x TTreeTestFloat.cpp+

It could be a problem in teh way you link your application. In general it is a bad idea to implement your own main program. Simply call your class, code from the root prompt.

Rene

Lynch, Michael (STFC,RAL,PPD) wrote:
> Hello,
>
> Interestingly, that works fine for me too. Can you think of any reasons
> why this should work when it's interpreted but not when it's compiled?
>
> Looks like it's probably a local issue anyway. Thanks for the sanity
> check!
>
> Regards,
>
> Mike
>
> -----Original Message-----
> From: Rene Brun [mailto:Rene.Brun_at_cern.ch]
> Sent: 14 September 2009 16:48
> To: Lynch, Michael (STFC,RAL,PPD)
> Cc: roottalk_at_root.cern.ch
> Subject: Re: [ROOT] Problem with reading TTrees on Windows
>
> Mike,
>
> I do not see any problem with your setup on Windows (using VC++7.1).
> Could you simply replace in TTreeTestFloat.cpp the statement
> int main( int argc, char** argv )
> by
> int TTreeTestFloat()
> and within a root session do
> root > .x TTreeTestFloat.cpp
>
> Rene
>
>
> Lynch, Michael (STFC,RAL,PPD) wrote:
>
>> My apologies. Here they are.
>>
>> Mike
>>
>> -----Original Message-----
>> From: Rene Brun [mailto:Rene.Brun_at_cern.ch]
>> Sent: 14 September 2009 15:21
>> To: Lynch, Michael (STFC,RAL,PPD)
>> Cc: roottalk_at_root.cern.ch
>> Subject: Re: [ROOT] Problem with reading TTrees on Windows
>>
>> You forgot to post your data files TTreeTestFloat.root and
>> TTreeTestFloat.txt
>>
>> Rene Brun
>>
>> Lynch, Michael (STFC,RAL,PPD) wrote:
>>
>>
>>> Hello,
>>>
>>> I'm running ROOT v5.25/01 on Windows XP SP3, compiled with Microsoft
>>>
>>>
>> C++
>>
>>
>>> v15.00.30729.01.
>>>
>>> I'm trying to test the output of a library I've been working on with
>>>
>>>
>> the
>>
>>
>>> attached program. Test events are generated and stored in both an
>>>
>>>
>> ASCII
>>
>>
>>> text file and a ROOT file. This is meant to compare them, make sure
>>>
>>>
>> they
>>
>>
>>> are the same to within a certain tolerance and output any
>>>
>>>
>> discrepancies.
>>
>>
>>> It works perfectly on SL4.4, GCC 3.4.6 and ROOT v5.25/01. However, on
>>> Windows, I get this sort of output:
>>>
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 288
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 0.860207 -0.647697 -0.418429
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 289
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 0.0549127 -0.843825 1.54162
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 290
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 1.16317 1.33839 0.832338
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 291
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 0.283794 1.53485 -1.88566
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 292
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 0.341339 -1.34976 -0.273247
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 293
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> 0.170947 -0.716357 -0.799599
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>> Mismatch found in event 294
>>> Field 0 Field 1 Field 2
>>> 6.07622e-039 1.74468e-039 6.07607e-039
>>> -0.633709 0.910566 -0.354637
>>> Error in <TFile::WriteTObject>: Directory TTreeTestFloat.root is not
>>> writable
>>>
>>> Here the first line is the data read from the ROOT file, and the
>>>
>>>
>> second
>>
>>
>>> from the text file. All the ROOT events are recorded as the same,
>>>
> even
>
>>> though they are not (if I view the actual ROOT file in a browser, the
>>> data follow the correct distribution). There are also all the errors,
>>> which do not occur on Linux either.
>>>
>>> Is there any reason for this behaviour?
>>>
>>> Regards,
>>>
>>> Mike
>>>
>>>
>>>
>>>
>>
>>
>
>
Received on Tue Sep 15 2009 - 12:08:08 CEST

This archive was generated by hypermail 2.2.0 : Tue Sep 15 2009 - 17:50:03 CEST