RE: [ROOT] MakeClass bug?

From: Philippe Canal (pcanal@fnal.gov)
Date: Wed Sep 25 2002 - 17:11:30 MEST


Hi Salvatore,

> The MakeClass function sets the pointers to the branches, but not to the
> leaves. Is this a bug, or am I using this wrong?

This is the normal behavior for ROOT File produced by HepTuple.  As long as
you created the HepTuple properly this should work fine.  Please let me know
if there is any other problems.  Note that problem related to the use of
HepTuple are more appropriatedly send to about-root@fnal.gov

Cheers,
Philippe

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Salvatore Rappoccio
Sent: Thursday, September 19, 2002 3:29 PM
To: roottalk@pcroot.cern.ch
Subject: [ROOT] MakeClass bug?


Hi,

I am trying to run MakeClass off of a TTree. It gives me the following
snippets:

class NNAna {
   public :
   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
   Int_t           fCurrent; //!current Tree number in a TChain
//Declaration of leaves types
   Int_t           Jet_B_njet;
   Float_t         Jet_B_chf[64];   //[njet]
   Float_t         Jet_B_e[64];   //[njet]
   Float_t         Jet_B_emf[64];   //[njet]
   Float_t         Jet_B_et[64];   //[njet]
   Float_t         Jet_B_eta[64];   //[njet]
   Float_t         Jet_B_etad[64];   //[njet]
   Float_t         Jet_B_grde[64];   //[njet]
   Float_t         Jet_B_jetprobrphi[64];   //[njet]
   Int_t           Jet_B_nch[64];   //[njet]
   Int_t           Jet_B_ngoodrphitracks[64];   //[njet]
   Int_t           Jet_B_ntracks[64];   //[njet]
   Float_t         Jet_B_phi[64];   //[njet]
   Float_t         Jet_B_px[64];   //[njet]
   Float_t         Jet_B_py[64];   //[njet]
   Float_t         Jet_B_pz[64];   //[njet]
   Int_t           Jet_B_trackIndices[64][200];   //[njet]

.
.
.

};

.
.
.

void NNAna::Init(TTree *tree)
{
//   Set branch addresses
   if (tree == 0) return;
   fChain    = tree;
   fCurrent = -1;
   fChain->SetMakeClass(1);

   fChain->SetBranchAddress("Jet_B",&Jet_B_njet);

   //------
   // Shouldn't there be some stuff here to init the leaves
   // to the variables in the class?????
   /-------

   Notify();
}


The MakeClass function sets the pointers to the branches, but not to the
leaves. Is this a bug, or am I using this wrong?

Thank you!
Sal Rappoccio



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:11 MET