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")
>
#include <iostream.h>
#include "TChain.h"
#include "TString.h"
#include <TFile.h>
#include <TTree.h>
#include "TROOT.h"
extern void InitGui();
VoidFuncPtr_t initfuncs[] = {InitGui, 0};
TROOT root("Rint","The ROOT Interactive Interface", initfuncs);
int main (int argc, char *argv[]) {
if (argc < 3) {
cout << "usage: merge h999 merged.root *.root" << endl;
return 0;
}
const char *n1, *n2, *f;
n1 = argv[1];
f = argv[2];
cout << " ntuple: " << n1 << endl;
cout << " filename: " << f << endl;
cout << " Files to be merged: " << endl;
TChain cha(n1);
if (argc > 3) {
for (int i = 3; i < argc; ++i) {
cha.Add(argv[i]); cout << " " << argv[i] << endl;
}
}
TFile *fFile = new TFile(f, "UPDATE");
if (fFile != 0) {
cha.Merge(fFile, 32000);
} else {
cha.Merge(f);
}
return 0;
}
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET