Re: [ROOT] Problems merging ntuples with Version 3.05/07

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Sep 24 2004 - 12:57:07 MEST


Could you send the shortest possible running script AND DATA SETS
reproducing this problem?

Rene Brun

Alessio Sarti wrote:
> 
> Hi all,
> after migrating my code to the new root version (thanks to Rene) I still
> have problems with the merged file:
> 
> below run360.root is obtained with v 040102 and merged.root merging
> run360,361 and 362 root files....
> 
> root [0] TFile h("run360.root");
> root [1] data->Show(33);
> ======> EVENT:33
>  evt             = 42
>  nadc            = 1
>  ntdc            = 1
>  ntdc128         = 1
>  adcM            = 974,
>                   1519, 1488, 901, 1329, 0, 164, 174
>  tdcM            = 1761,
>                   1763, 1777, 1787, 1907, 1826, 1628, 228
>  Shit            = 0
> 
>  Sch             = 0
> 
> root [2] TFile h2("merged.root");
> root [3] h2.cd();
> root [4] data->Show(33);
> 
>  *** Break *** segmentation violation
>  Generating stack trace...
>  0x40e08144 in TLeafObject::ReadBasket(TBuffer&) + 0x1b6 from
> /home/Packages/root/lib/libTree.so
>  0x40dec8a1 in TBranch::ReadLeaves(TBuffer&) + 0x2f from
> /home/Packages/root/lib/libTree.so
>  0x40debaf5 in TBranch::GetEntry(long long, int) + 0x24f from
> /home/Packages/root/lib/libTree.so
>  0x40df7139 in TBranchObject::GetEntry(long long, int) + 0x139 from
> /home/Packages/root/lib/libTree.so
>  0x40e12cf3 in TTree::GetEntry(long long, int) + 0xa7 from
> /home/Packages/root/lib/libTree.so
>  0x40e16208 in TTree::Show(long long, int) + 0x34 from
> /home/Packages/root/lib/libTree.so
>  0x40e325b3 in <unknown> from /home/Packages/root/lib/libTree.so
>  0x406e60d6 in G__call_cppfunc + 0x263 from
> /home/Packages/root/lib/libCint.so
>  0x406d58b6 in G__interpret_func + 0x6ee from
> /home/Packages/root/lib/libCint.so
>  0x406bd4c1 in G__getfunction + 0x134a from
> /home/Packages/root/lib/libCint.so
>  0x40741a74 in G__getstructmem + 0x82a from
> /home/Packages/root/lib/libCint.so
>  0x4073bb8d in G__getvariable + 0x4db from
> /home/Packages/root/lib/libCint.so
>  0x406b4a4e in G__getitem + 0x5c1 from /home/Packages/root/lib/libCint.so
>  0x406b4c44 in G__getitem + 0x7b7 from /home/Packages/root/lib/libCint.so
>  0x406b3666 in G__getexpr + 0x783e from /home/Packages/root/lib/libCint.so
>  0x406fb1e6 in G__exec_function + 0x1d5 from
> /home/Packages/root/lib/libCint.so
>  0x40701e33 in G__exec_statement + 0x23eb from
> /home/Packages/root/lib/libCint.so
>  0x4069c83f in G__exec_tempfile_core + 0x2ce from
> /home/Packages/root/lib/libCint.so
>  0x4069ca1c in G__exec_tempfile_fp + 0x22 from
> /home/Packages/root/lib/libCint.so
>  0x4070a0c6 in G__process_cmd + 0x45f7 from
> /home/Packages/root/lib/libCint.so
>  0x4019dbbd in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*)
> + 0xa9 from /home/Packages/root/lib/libCore.so
>  0x40106cd6 in TApplication::ProcessLine(char const*, bool, int*) + 0x670
> from /home/Packages/root/lib/libCore.so
>  0x41051ee9 in TRint::HandleTermInput() + 0x1dd from
> /home/Packages/root/lib/libRint.so
>  0x41050d5a in TTermInputHandler::Notify() + 0x24 from
> /home/Packages/root/lib/libRint.so
>  0x41052818 in TTermInputHandler::ReadNotify() + 0x12 from
> /home/Packages/root/lib/libRint.so
>  0x402244c9 in TUnixSystem::CheckDescriptors() + 0x143 from
> /home/Packages/root/lib/libCore.so
>  0x40223aa3 in TUnixSystem::DispatchOneEvent(bool) + 0x161 from
> /home/Packages/root/lib/libCore.so
>  0x40169190 in TSystem::InnerLoop() + 0x18 from
> /home/Packages/root/lib/libCore.so
>  0x40169135 in TSystem::Run() + 0x6f from
> /home/Packages/root/lib/libCore.so
>  0x4010774a in TApplication::Run(bool) + 0x32 from
> /home/Packages/root/lib/libCore.so
>  0x410519e5 in TRint::Run(bool) + 0x327 from
> /home/Packages/root/lib/libRint.so
>  0x0804886d in main + 0x71 from /home/Packages/root/bin/root.exe
>  0x42015704 in __libc_start_main + 0xe4 from /lib/tls/libc.so.6
>  0x0804876d in _Unwind_Resume + 0x31 from /home/Packages/root/bin/root.exe
> Root >
> 
> I've attached the routine for the file merge that I've recompiled without
> problems on v 040102..
> 
> Thanks in advance for any other advice that will come,
> alessio
> 
> ______________________________________________________
> Alessio Sarti     INFN Frascati
> 
> >>>I'm in Frascati<<<
> 
> Cell   +39-06-94038166
> Office +39-06-94032776
> Fax    +39-06-94032427
> 
> "... e a un Dio 'fatti il culo' non credere mai..."
> (F. De Andre')
> 
> "He was turning over in his mind an intresting new concept in
> Thau-dimensional physics which unified time, space, magnetism, gravity
> and, for some reason, broccoli".  (T. Pratchett: "Pyramids")
> 
> On Fri, 24 Sep 2004, Rene Brun wrote:
> 
> > Hi Alessio,
> >
> > Move to a more recent version, eg 4.01/02
> >
> > Rene Brun
> >
> > Alessio Sarti wrote:
> > >
> > > Hi all,
> > > I'm trying to merge some ntuples with Version 3.05/07 and I'm having
> > > problems with the produced ntuple.
> > > The merging of the trees shows no problem:
> > > the macro runs fine and I can open the "merged" file.
> > > I can even call the Draw() function on the merged TTree.
> > > But when I try to use the Scan() function or the Show or the Loop one I
> > > have problems.
> > >
> > > The merged ntuple contains TVectors (below I show the content of my
> > > ntuple...)
> > >
> > > //Declaration of leaves types
> > >    Int_t           evt;
> > >    Int_t           nadc;
> > >    Int_t           ntdc;
> > >    Int_t           ntdc128;
> > >    Int_t           adcM[8][1];
> > >    Int_t           tdcM[8][1];
> > >    TVector         *Shit;
> > >    TVector         *Sch;
> > >
> > > //List of branches
> > >    TBranch        *b_evt;   //!
> > >    TBranch        *b_nadc;   //!
> > >    TBranch        *b_ntdc;   //!
> > >    TBranch        *b_ntdc128;   //!
> > >    TBranch        *b_adcM;   //!
> > >    TBranch        *b_tdcM;   //!
> > >    TBranch        *b_Shit;   //!
> > >    TBranch        *b_Sch;   //!
> > >
> > > Here's my problem..
> > >
> > > root [1] ((TTree*)gDirectory->Get("data"))->Scan();
> > > ************************************************************************************************************
> > > *    Row   *       evt *      nadc *      ntdc *   ntdc128 *      adcM *
> > > tdcM *      Shit *       Sch *
> > > ************************************************************************************************************
> > >
> > >  *** Break *** segmentation violation
> > >  Generating stack trace...
> > > /usr/bin/c++filt: unknown demangling style `gnu-new-abi'
> > > Root >
> > >
> > > I've used the merging routine to merge other root files and everything
> > > works fine: am I doing something wrong or there's a problem merging
> > > TVectors?
> > >
> > > Thanks for any advice or help,
> > > alessio
> > >
> > > ______________________________________________________
> > > Alessio Sarti     INFN Frascati
> > >
> > > >>>I'm in Frascati<<<
> > >
> > > Cell   +39-06-94038166
> > > Office +39-06-94032776
> > > Fax    +39-06-94032427
> > >
> > > "... e a un Dio 'fatti il culo' non credere mai..."
> > > (F. De Andre')
> > >
> > > "He was turning over in his mind an intresting new concept in
> > > Thau-dimensional physics which unified time, space, magnetism, gravity
> > > and, for some reason, broccoli".  (T. Pratchett: "Pyramids")
> >
> 
>   --------------------------------------------------------------------------------
>                Name: merge.cc
>    merge.cc    Type: Plain Text (TEXT/plain)
>            Encoding: BASE64



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET