Re: [ROOT] Help with TFile

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Apr 09 2003 - 09:16:35 MEST


Hi Alex,

I don't know that is the "g" object in your statement g.Open !

To test if a file exist, you can use
   gSystem->AccessPathname(fileName);
This will return kTRUE if the file can be accessed, kFALSE otherwise.

Rene Brun

"Olivas, Alexander Raymond" wrote:
> 
> I'm not sure if this is the correct place to post this question,
> but here it goes.
> 
> I have many jobs currently creating quite a few root files.
> I have the files numbered so I can read them using a simple
> for loop.  However, some jobs haven't started yet and some
> are still running. I would like to read only the files that
> exist and are closed.
> 
> I've tried something like...
> 
>   Int_t i_last=272;
>   for(Int_t i=1;i<=i_last;i++){
>     char fileName[60];
>     sprintf(fileName,"$NTUPLE_DIR/B/BJpsiSkimFeb14%s_%d.root",name,i);
>     if(g.Open(fileName)){
>       TFile f(fileName);
>       ksMassNoCuts->Add((TH1F*)f.Get("h1d3"));
>     }
>   }
> 
> g.Open(fileName) still returns true if the file does not exist.
> I've searched through the root page and have had trouble finding
> anything that will allow me to assess the state of a file without
> explicity trying to open it.
> 
> Any help would be greatly appreciated.
> Thanks,
> Alex.



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET