Re: [ROOT] Re: Problem with new version

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon May 10 2004 - 09:19:27 MEST


Hi Francesco,

Francesco Perfetto wrote:
> 
> Hi Rene,
> 
> Excuse me I prove to send in attachment the .hbook file (in version .gz
> 32M) but the mail don't arrive you because the size exceeds the maximum,
> so I send you only my program .cc.
> 
> I have the following problem:
> When I convert a .hbook files with h2root (version on root 3.02/06 that
> run on Sun) the .root files that I obtained are utilizable with root
> 4.00/04 (version that run on Linux machine) but when I convert .hbook
> file
> with h2root (version on root 4.00/04 that run on Linux machine) the
> .root
> files that I obteined are not utilizable with root 3.02/06 (version that
> run on Sun). Is there a solution ?

In version 4, h2root has new features that cannot be understood by older
versions. Upgrade you old 3.02 to 4 or use h2root from version 3.02

> 
> I have another problem:
> In my program I have put the following line:
> ...
> TLorentzVector::Class()->IgnoreTObjectStreamer();
> ...
> In this way by variables of type TClonesArray disappear the leaf .fBits
> and .fUniqueID (how I want) but in the variables of type TLorentzVector
> (for example p4_eta_fin) under the branch p4_eta_fin.fP there are beyond
> the variables p4_eta_fin.fP.fX, p4_eta_fin.fP.fY, p4_eta_fin.fP.fZ (that
> I
> want) even the variables p4_eta_fin.fp.fBits and p4_eta_fin.fP.fUniqueID
> (that I don't want). Is there a way for take away it ?
> 

TLorentzVector has a TVector3 inside. You should do: 
   TLorentzVector::Class()->IgnoreTObjectStreamer();
   TVector3::Class()->IgnoreTObjectStreamer();

Rene Brun

> Thanks
> Francesco.
> 
> Il gio, 2004-05-06 alle 17:04, Rene Brun ha scritto:
> > Hi Francesco,
> >
> > Perfetto Francesco wrote:
> > >
> > > Hi all,
> > >
> > > until now I worked on SUN with SunOS 5.6 and root 3.02/06 as following:
> > >
> > > 1) from .hbook at .root using h2root of root 3.02/06
> > > 2) in ROOT prompt h1->MakeClass()  (h1 is my tree)
> > > 3) I compile my program example.cc example.h Example.cpp with Sun
> > >    compiler CC5 that create a file .root for my analisys
> > >
> > > at this level I haven't any problem (all variables on my tree are full).
> > >
> > > Now on new 2 machines with linux RedHat 9.0 gcc 3.2.2 (20030222 Red Hat
> > > Linux 3.2.2-5 this i have with command gcc -v) and one with ROOT 4.00/04
> > > and the other with ROOT 3.10/02
> > >
> > > I have some problem, I work as following:
> > >
> > > 1) from .hbook to .root with h2root of root 4.00/04
> > > 2) in root prompt h1->MakeClass()
> > > 3) I compile my program example.cc example.h Example.cpp with gcc compiler
> > >    and I have in output a .root file with a tree for my analisys.
> > >
> > > At this level I have a problem: any variables in my tree are empty and
> > > when I click on leaf in the browser the canvas appear but it is white
> > > (empty).
> > >
> > > Where is a problem ?
> >
> > could you send me (not the list) the original hbook file?
> > could you send me your example.cc file?
> >
> > >
> > > Another question: why the file .root that I have converted with h2root on
> > > Sun are not good for Linux machine (and viceversa) ?
> >
> > The ROOT files must be readable on Linux and Solaris. You must be doing
> > something wrong when transferring the files.
> >
> > Rene Brun
> >
> > >
> > > Thanks
> > > Francesco.
> >
> 
>   --------------------------------------------------------------------------------
>                         Name: analisi_mc_new.cc
>    analisi_mc_new.cc    Type: text/x-c++
>                     Encoding: 7bit



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