Re: [ROOT] chaining/efficiency query

From: Edward Moyse (edward.moyse@cern.ch)
Date: Fri Sep 12 2003 - 16:50:11 MEST


Hi Rene,

That is much, much quicker, but during the actual event loop I get lots of 
error messages like:
Error in <TRFIOFile::TRFIOFile>: file 
/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._00000.hlt.pythia_jet_17.root 
does not exist

This is deeply weird. I added a debug line (see below) printing out the "name" 
that is passed to AddFile.

for (Int_t i =0 ; i<numberOfFiles ; ++i){
TString num="";
num+=i;
TString numPrefix="";
for (Int_t j = 0 ; j < (sizeOfNum-num.Length() ) ; ++j) numPrefix+="0";
TString name = pre+numPrefix+num+post;
cout << name<<endl;
chain->AddFile(name, TChain::kBigNumber);
cout << " Chaining file : "<< i <<"/"<<numberOfFiles<<endl;
}

And below is a small bit of the output. It all looks correct. I guess that 
there must be weird characters put into name, probably by the line num+=i; I 
can't understand why though!

rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02990.hlt.pythia_jet_17.root
 Chaining file : 2990/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02991.hlt.pythia_jet_17.root
 Chaining file : 2991/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02992.hlt.pythia_jet_17.root
 Chaining file : 2992/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02993.hlt.pythia_jet_17.root
 Chaining file : 2993/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02994.hlt.pythia_jet_17.root
 Chaining file : 2994/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02995.hlt.pythia_jet_17.root
 Chaining file : 2995/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02996.hlt.pythia_jet_17.root
 Chaining file : 2996/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02997.hlt.pythia_jet_17.root
 Chaining file : 2997/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02998.hlt.pythia_jet_17.root
 Chaining file : 2998/3000
rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.010._02999.hlt.pythia_jet_17.root
 Chaining file : 2999/3000


On Friday 12 September 2003 4:17 pm, Rene Brun wrote:
> Hi Ed,
>
> Could you replace your TChain->Add statement by
> chain->AddFile(pre+numPrefix+num+post,TChain::kBigNumber);
>
> It could be that your final string contains one or more character
> interpreted as a regular expression by TChain::Add.
>
> Let me know
>
> Rene Brun
>
> Edward Moyse wrote:
> > The files are about 4 Mb each.
> > Per file it seems (subjectively) to be going quicker now ... about 2-4s
> > per file. This is just chaining them though ... so it's going to take 2
> > hours before it even starts running.
> >
> > I have a (crude) loop like below:
> >
> > for (Int_t i =0 ; i<numberOfFiles ; ++i){
> > TString num="";
> > num+=i;
> > TString numPrefix="";
> > for (Int_t j = 0 ; j < (sizeOfNum-num.Length() ) ; ++j) numPrefix+="0";
> > chain->Add(pre+numPrefix+num+post);
> > }
> >
> > and
> > pre="rfio:/castor/cern.ch/atlas/transfer/emoyse/dc1.002000.lumi02.recon.0
> >10._"; post =".hlt.pythia_jet_17.root";
> > sizeOfNum=5;
> >
> > Even if this loop is sub-optimal (which I can quite believe) I don't see
> > that it can make that much difference.
> >
> > Oh, and I'm using the latest version 3.05.07.
> >
> > Ed
> >
> > On Friday 12 September 2003 3:23 pm, Rene Brun wrote:
> > > Ed,
> > >
> > > How big are your files? 1 Mbyte, 100 MBytes, 1 GByte ?
> > > How long does it take to process one single file?
> > > TChain should not add any overhead.
> > > Which version are you using?
> > >
> > > Rene Brun



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