Re: Error when adding THnSparseD objects

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Mon, 31 Aug 2009 15:32:53 +0200


Hi,

yes, it's fixed in v5.24. But we cannot repair broken THnSparses (TExMaps, actually, a member of THnSparse), so you will need to re-generate them. One way of doing that is to run hadd fileout.root filein.root on a broken filein.root, on a platform that is compatible with the one that was used to generate filein.root. I.e. run it on a 32bit machine if the file was generated on a 32bit machine, otherwise take a 64bit machine.

Cheers, Axel.

Alberto Pulvirenti wrote on 08/31/2009 12:14 PM:

> Hello,
> 
> are there any news about this bug?
> 
> Thanks, best regards
> 
>     Alberto
> 
> Fons Rademakers wrote:

>> Hi Alberto,
>>
>> no we cannot detect if the files were written on 32 or 64-bit
>> machines. If you still remember on which platforms the files were
>> generated you could, using the latest version of ROOT, merge all
>> 32-bit files on a 32-bit machine and all 64-bit files on a 64-bit
>> machine. This will create THnSparse objects that are machine
>> independent (as they are written with the latest version). As a last
>> step you can merge these "pre-merged" files on any machine using the
>> latest ROOT.
>>
>> Cheers, Fons.
>>
>>
>>
>> Alberto Pulvirenti wrote:
>>> Hello,
>>>
>>> in case one has some files with THnSparseD objects produced time ago,
>>> when the bug was present, will he be forced to re-produce those
>>> outputs with the new patched release, or the new release will be able
>>> to deal even with those files?
>>>
>>> Thanks, best regards
>>>
>>> Alberto
>>>
>>> Axel Naumann wrote:
>>>> Hi,
>>>>
>>>> this was a bug in the persistency of TExMap which is used by
>>>> THnSparse. The bug is already fixed in the trunk and will get fixed
>>>> in v5-24-00-patches soon, so it should arrive at Alice soon. With
>>>> that fix I can read and write files with a THnSparse in any
>>>> combination of writing / reading and 64 or 32 bits.
>>>>
>>>> Thanks for the report!
>>>>
>>>> Cheers, Axel.
>>>>
>>>> Axel Naumann wrote on 07/21/2009 12:05 PM:
>>>>> Hi Alberto,
>>>>>
>>>>> your files work for me - I can run
>>>>>
>>>>> $ hadd fileadd.root file1.root file2.root
>>>>> Target file: fileadd.root
>>>>> Source file 1: file1.root
>>>>> Source file 2: file2.root
>>>>> Target path: fileadd.root:/
>>>>>
>>>>> just fine with the trunk. Which version do you use? What platform
>>>>> are you on?
>>>>>
>>>>> Cheers, Axel.
>>>>>
>>>>> Alberto Pulvirenti wrote on 07/21/2009 10:52 AM:
>>>>>> I'll try.
>>>>>> Hope that they are not too large to be attached in an email.
>>>>>> I find that this error appears also if I use 'hadd'.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Alberto
>>>>>>
>>>>>> Axel Naumann wrote:
>>>>>>> Hi Alberto,
>>>>>>>
>>>>>>> can you send me the two files or better yet the two THnSparse for
>>>>>>> which
>>>>>>> this happens?
>>>>>>>
>>>>>>> Cheers, Axel.
>>>>>>>
>>>>>>> On 2009-07-21 10:46, Alberto Pulvirenti wrote:
>>>>>>>> Dear all,
>>>>>>>>
>>>>>>>> I have two files which are outputs of the same analysis done on
>>>>>>>> different data sets. Each file contains a TList of THnSparseD
>>>>>>>> objects
>>>>>>>> with well-specified names.
>>>>>>>>
>>>>>>>> I want to generate a file with the same structure, where each
>>>>>>>> THnSparseD
>>>>>>>> should be the sum of the two omonyme objects in the source files.
>>>>>>>>
>>>>>>>> I managed to prepare a macro which reads the two files and adds
>>>>>>>> up the
>>>>>>>> two such histograms, but I always encounter a warning like this
>>>>>>>>
>>>>>>>> Error in <TExMap::Expand>: slot 568 not empty (should never happen)
>>>>>>>>
>>>>>>>> what does it mean? How can I check it?
>>>>>>>>
>>>>>>>> Thanks, cheers
>>>>>>>>
>>>>>>>> Alberto
>>>>>>>>
>>>>>>>>
>>>>>
>>>>>
>>>
>>

> Received on Mon Aug 31 2009 - 15:29:29 CEST

This archive was generated by hypermail 2.2.0 : Mon Aug 31 2009 - 17:50:02 CEST