Hi - another way which I believe works is: TString myBasePath = "/nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/" TString myFileBase = "good_1999-b1-s0-r10B-on_all_[" for (i=1;i<=_numFiles;i++){ TString myFullPath = myBasePath + myFileBase + i + "].root"; run1.Add(myFullPath); } You can then write a macro as variation on this which takes TString's as input. -Ed On Fri, 6 Sep 2002, Stilianos Kesisoglou wrote: > Hi Philip, > > The [i] doesn't work because ROOT expects a string argument in the method run1.Add(), > and in contrast to all the shell languages it doesn't have a parser to make substitutions before it handles > the string to the Add method. > > So you have to construct the string outside the method call using C++ commands, and then hand it to Add(). > > Try the following: > > TChain run1("h45"); > > char name[200]; > for (Int_t i=1; i<13, i++) > { > sprintf(name,"/nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/good_1999-b1-s0-r10B-on_all_[%i].root",i); > run1.Add(name); > } > > for (Int_t i=1; i<58, i++) > { > sprintf(name, "/nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/good_2000-b1-s0-r10B-on_all_[%i].root",i); > run1.Add(name); > } > > Stelios. > > ----- Original Message ----- > From: "Philip Clark" <pclark@SLAC.stanford.edu> > To: <roottalk@pcroot.cern.ch> > Sent: Friday, September 06, 2002 6:26 PM > Subject: [ROOT] Chaining files together > > > > > > Hi Everyone, > > > > Currently, I am trying to loop over files and make chains. In PAW I would do:- > > > > MACRO run1 > > do i=1,12 > > chain run1 good_1999-b1-s0-r10B-on_all_[i].hbook > > enddo > > do i=1,57 > > chain run1 good_2000-b1-s0-r10B-on_all_[i].hbook > > enddo > > etc > > > > I root I am trying to do something like > > > > TChain run1("h45"); > > for (Int_t i=1; i<13, i++) > > { > > run1.Add("/nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/good_1999-b1-s0-r10B-on_all_[i].root"); > > } > > for (Int_t i=1; i<58, i++) > > { > > run1.Add("/nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/good_2000-b1-s0-r10B-on_all_[i].root"); > > } > > > > Obviously [i] wont work here... Any ideas instead? I need to loop over > > several thousand files in this manner. So a better solution would help a > > lot. > > > > Also a way to substitute the path > > /nfs/farm/babar/AWG11/Charmonium/Etac/ntp13/ > > which is the same all the time would be good as well. > > > > Thanks > > > > -Phil > > > > -- > > Philip J. Clark MS41 (Bristol), SLAC > > tel: 1-650-926-3761 Stanford University > > fax: 1-650-926-3767 P.O. Box 20450 > > pclark@slac.stanford.edu Stanford, California 94309 > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:08 MET