Re: [ROOT] how to copy a subdir of a root file to another

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri May 30 2003 - 12:15:21 MEST


It looks like you are linking your own main program (in general
a bad idea) and you forgot to link with libHist.so

Rene Brun

On Fri, 30 
May 2003, Mei Wen wrote:

> Thanks Rene Brun,
> 	But I got again following error:
> 
> Warning in <TClass::TClass>: no dictionary for class TH1F is available
> Warning in <TClass::TClass>: no dictionary for class TH1 is available
> Warning in <TClass::TClass>: no dictionary for class TAxis is available
> Warning in <TClass::TClass>: no dictionary for class TGraph is available
> Warning in <TClass::TClass>: no dictionary for class TProfile is available
> Warning in <TClass::TClass>: no dictionary for class TH1D is available
> Warning in <TClass::TClass>: no dictionary for class TH2F is available
> Warning in <TClass::TClass>: no dictionary for class TH2 is available
> 
>  *** Break *** segmentation violation
> 
> :(((((((((((((
> 
> Best                             Wen Mei
> 
> 
> On Thu, 29 May 2003, Rene Brun wrote:
> 
> > Hi,
> > 
> > Replace the line:
> > 
> >     TTree *newtree = oldtree->CopyTree("h10005");
> > by
> >     TTree *newtree = (TTree*)oldtree->CloneTree();
> > 
> > Rene Brun
> > 
> > On Thu, 29 May 2003, 
> > Meiwen wrote:
> > 
> > > Dear rooters,
> > >          I want to copy some sub directories from different root files in one root file. But I got always the  " *****break segment violation*****". Maybe I did it in a wrong way. Could you please give me a hand?
> > > The system is AIX4.3.3, the root version is v3.01-6 and the code is as following:
> > >  
> > >  TFile f(calmonbha_in);
> > >   TTree *oldtree = (TTree*) f.Get("h10005");
> > >     TFile *fout = new TFile(current_out, "recreate");
> > >     //TTree *newtree = oldtree->CloneTree(); neither Clone tree works
> > >    TTree *newtree = oldtree->CopyTree("h10005");
> > >     newtree->Write();
> > >     fout->Write();
> > > 
> > > Here in the code I got one histogram only for test. I need to copy whole directory named "GENERAL;1". "h10005" is only one of the histograms inside the directory. I have also attempted to use TDirectory::Get() but fail too.
> > > 
> > > Best                                                     Wen Mei 
> > > 
> > 
> > 
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET