Re: [ROOT] chain in 3.03.09

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Nov 08 2002 - 18:01:09 MET


Hi Paolo,

The problem is that TChain::Add is a lazy function. It simply adds
the name of the file(s) in the chain. It does not open the file.
Opening the file and reading the Tree header will happen later
in TChain::LoadTree when the file must effectively be processed.
We introduced this behaviour to be more efficient and open the file
only when strictly necessary. For example, you may want to process
1000 files stored in a robot, but can stage only a small subset
on the disk (pure sequential processing).
I agree that some protection has to be introduced.
In LoadTree, I will have to introduce a logic to skip the faulty file
or remove it automatically from the chain definition.

Rene Brun

On Fri, 8 Nov 2002, Paolo Pagano wrote:

> Ciao rooters,
> 
> when in a directory there is corrupted file, the method "Add" of TChain
> (e.g. chain->Add("../rootfiles/*.root") ) stops instead of skipping it and
> trying to add the rest of the list.
> 
> No problem with version 3.02.07.
> 
> Am I wrong?
> Regards,
> 			Paolo
> 
> 
> ********************************
> Paolo Pagano
> address:   Sezione INFN di Trieste - Area di Ricerca  
>        Padriciano 99, 34012 Padriciano (Trieste), Italia 
> e-mail:    Paolo.Pagano@cern.ch
> tel:       (private)          +39-340-4034214
>            (INFN, Trieste)    +39-040-3756225/5583385
>            (CERN, Genève, CH) +41-22-7676743/76421
> ********************************
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:17 MET