Re: problem on hadd

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Tue, 27 Jun 2006 17:55:04 +0200


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