Zaldy, If you had named your files, file001A001.root file001A002.root, etc the problem will not be solved Rene Brun zaldy wrote: > > Dear Rene, > > This is a similat observation I have with TChain. > > For exmaple I have 179 file I have. Using a Tree->MakeClass("..."); > I will have the list of the chained root files. However, I have problems > with arrangement especially if the files are taken in order and time > element is important. > > In my case TChain list files like this. > > file001A01.root > file001A02.root > .... > file001A09.root > file001A100.root > file001A101.root > ............... > file001A109.root > file001A10.root > file001A101.root > file001A102.root > ................ > ............... > file001A109.root > file001A10.root > file001A110.root > file001A111.root > ............... > file001A119.root > file001A11.root > .............. > .............. > > In my Application, the reverse ordering is critical because this will also > reverse the time information in the root file. > > My solution now is to edit the myClass.h and re-arrange the ordering; > > Is there a command in root to correcc the ordering or how do we correct > this? > > Thank you. > > PS. root 3.05/05 gcc 3.2.2 RedHat 9.0 > > > Hi Maksim, > > > > Thanks for this remark. > > I have modified TChain::Add in CVS to sort the files in alphanumeric order > > in case a regular expression is used in the argument. > > > > Rene Brun > > > > "Maksim A. Nikulin" wrote: > > > > > > Hi, > > > > > > Firstly, mandatory info: root-3.05.07 gcc2.95.2 RedHat-7.3 binary > > > installation. > > > > > > I noticed that file order in a chain after > > > Int_t TChain::Add(const char *name, Int_t nentries) > > > is depends on file creation sequence, if I use a regular expression. > > > I think the file file1.root should be before file2.root when > > > chain->Add("file[1-2].root") is used. > > > > > > If chain1 have a friend chain2 then inappropriate file order in any > > > chain leads to wrong entry accordance. > > > > > > See the script wrong_order in the attachment. Four files > > > tree1.root, tree2.root, friend2.root, friend1.root are created and > > > merged. I get > > > <session> > > > $ root wrong_order.C > > > <skip /> > > > ************************************ > > > * Row * var * friend_va * > > > ************************************ > > > * 0 * 1 * 2 * > > > * 1 * 2 * 1 * > > > ************************************ > > > </session> > > > > > > I expect > > > <expected> > > > ************************************ > > > * Row * var * friend_va * > > > ************************************ > > > * 0 * 1 * 1 * > > > * 1 * 2 * 2 * > > > ************************************ > > > </expected> > > > > > > I think this effect takes place because of simple loop other directory > > > without sorting in the > > > Int_t TChain::Add(const char *name, Int_t nentries) > > > implementation. > > > > > > Best regards, > > > Maksim Nikulin > > > > > > -------------------------------------------------------------------------------- > > > Name: wrong_order.C > > > wrong_order.C Type: Plain Text (text/plain) > > > Encoding: 7bit > > > > -- > > -------------------------------------------------------- > Zaldy A. Nawang > PS Users Room 2 > Yon Gokan, > E362, Neutrino Group, > IPNS, KEK, > Japan > > e-mail: zaldy@neutrino.kek.jp > Tel. No. : (81) 029864 - 5387 > --------------------------------------------------------
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET