Re: Duplicated tree

From: James Jackson <james.jackson_at_cern.ch>
Date: Wed, 22 Apr 2009 16:38:16 +0100


Hi Rene,

OK, thanks. I have tracked the problem down to an assumption I was making when reading the tree back. The duplicate headers threw me off the trail!

Thanks for the help,
James.

On 22 Apr 2009, at 16:01, Rene Brun wrote:

> The duplicate Tree has nothing to to with the TChain. You simply get
> 2 or more versions of the Tree header in the file. The reason is
> explained in TTree::AutoSave.
> Note that only the Tree header has multiple cycles, not the bulk of
> the tree data.
> Could you indicate what is the problem?
>
> Rene Brun
>
> James Jackson wrote:
>> Hi Rene,
>>
>> OK, so this is what's going on. I use these in a chain (I have
>> O(100) such output files for each dataset). How can I read these
>> back transparently?
>>
>> Best regards,
>> James.
>>
>> On 22 Apr 2009, at 15:52, Rene Brun wrote:
>>
>>> see http://root.cern.ch/root/html/TTree.html#TTree:AutoSave
>>>
>>> Rene Brun
>>>
>>>
>>> James Jackson wrote:
>>>> Hi,
>>>>
>>>> I'm trying to track down a strange problem... I have some common
>>>> code, which I run over many datasets, to create and fill some
>>>> trees. Each tree is created once, and only once.
>>>>
>>>> In some instances, the resulting ROOT file has duplicates. The
>>>> output should look like this:
>>>>
>>>> Unknown-00-17-f2-51-00-e3:PhotonJetPt15 jamesjackson$ root -l
>>>> output_15.root
>>>> root [0]
>>>> Attaching file output_15.root as _file0...
>>>> root [1] TDirectory *d = _file0.Get("tupiliser")
>>>> root [2] d->ls()
>>>> TDirectoryFile* tupiliser tupiliser (Tupiliser) folder
>>>> KEY: TTree EventData;1 Per event object information
>>>> KEY: TTree McElectrons;1 MC Electrons
>>>> KEY: TTree HeepElectrons;1 HEEP Electrons
>>>> KEY: TTree Tracks;1 Tracks
>>>> KEY: TTree SuperClusters;1 SuperClusters
>>>> KEY: TTree GenData;1 GenData
>>>>
>>>> However, sometimes, I get the following:
>>>>
>>>> Unknown-00-17-f2-51-00-e3:QCDpt30 jamesjackson$ root -l
>>>> output_1.root
>>>> root [0]
>>>> Attaching file output_1.root as _file0...
>>>> root [1] TDirectory *d = _file0.Get("tupiliser")
>>>> root [2] d->ls()
>>>> TDirectoryFile* tupiliser tupiliser (Tupiliser) folder
>>>> KEY: TTree Tracks;3 Tracks
>>>> KEY: TTree Tracks;2 Tracks
>>>> KEY: TTree EventData;1 Per event object information
>>>> KEY: TTree McElectrons;1 MC Electrons
>>>> KEY: TTree HeepElectrons;1 HEEP Electrons
>>>> KEY: TTree SuperClusters;1 SuperClusters
>>>> KEY: TTree GenData;1 GenData
>>>>
>>>> Note "Tracks" is duplicated.
>>>>
>>>> Does this look like anything anyone's seen before? Can anything
>>>> trigger a re-creation of a tree during filling?
>>>>
>>>> Any hints welcome - I can see nothing in my code that would re-
>>>> create the tree.
>>>>
>>>> Regards,
>>>> James.
>>>>
>>>
>>
>
Received on Wed Apr 22 2009 - 17:38:20 CEST

This archive was generated by hypermail 2.2.0 : Thu Apr 23 2009 - 17:50:01 CEST