This problem had already been fixed in 5.11.
Rene Brun
Hajime Nanjo wrote:
> Dear ROOT developers,
>
> I have a trouble in TTree::Draw() for a root file created wiht hadd,
> when maximum size of variable length array is different between
> two input files of hadd.
> The number of events drawn is less than that actually filled.
> An error message, "ERROR leaf:a, len=2 and max=1",
> indicates excess of leaf length beyond the maximum leaf length.
>
> When "fast" option in TChain::Merge is deleted at the line 248 in hadd.cxx,
> the problem is vanished.
>
> Please fix this problem.
> (I use ROOT 5.10/00 in scientific linux 4)
>
> Best regards,
> Hajime
>
> A script creating two input files, "sub1.root", sub2.root", is as follows.
> ////////////////////////////////////////////////////////
> {
>   int n;
>   double a[100];
>
>   TFile* tf = new TFile("sub1.root","RECREATE");
>   TTree* tr = new TTree("tr","tr");
>   tr->Branch("n",&n,"n/I");
>   tr->Branch("a",a,"a[n]/D");
>   {
>     n=1;
>     a[0]=1;
>     tr->Fill();
>   }
>   tr->Write();
>   tf->Close();
>
>
>   tf = new TFile("sub2.root","RECREATE");
>   tr = new TTree("tr","tr");
>   tr->Branch("n",&n,"n/I");
>   tr->Branch("a",a,"a[n]/D");
>   {
>     n=2;
>     a[0]=1;
>     a[1]=2;    
>     tr->Fill();
>   }
>   tr->Write();
>   tf->Close();
> }
> ////////////////////////////////////////////////////////
> A file, "all.root", is created as follows.
> hadd all.root sub1.root sub2.root
> ////////////////////////////////////////////////////////
> TTree::Draw() is called as follows.
> root [0] TFile* tf = new TFile("all.root")
> root [1] tr->Print()
> ******************************************************************************
> *Tree    :tr        : tr                                                     *
> *Entries :        2 : Total =            1698 bytes  File  Size =        668 *
> *        :          : Tree compression factor =   1.00                       *
> ******************************************************************************
> *Br    0 :n         : n/I                                                    *
> *Entries :        2 : Total  Size=        676 bytes  File Size  =         70 *
> *Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.00     *
> *............................................................................*
> *Br    1 :a         : a[n]/D                                                 *
> *Entries :        2 : Total  Size=        795 bytes  File Size  =         86 *
> *Baskets :        1 : Basket Size=      32000 bytes  Compression=   1.00     *
> *............................................................................*
> root [2] tr->Draw("a")
> <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
> ERROR leaf:a, len=2 and max=1
> ERROR leaf:a, len=2 and max=1
> ////////////////////////////////////////////////////////
> Here I expect 3 events are displayed, but there are only 2 events.
>   
Received on Tue Jun 27 2006 - 17:55:10 MEST
This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:59 MET