Re: [ROOT] Help with TFile

From: Sebastien Greder (greder@in2p3.fr)
Date: Wed Apr 09 2003 - 11:33:03 MEST


Hi,

sorry but the AccessPathname return value is the opposite, cf classindex
doc :

Bool_t AccessPathName(const char *, EAccessMode)

Returns FALSE if one can access a file using the specified access mode.
 Attention, bizarre convention of return value!!

seb.


On Wed, 9 Apr 2003, Rene Brun wrote:

> 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