Hi Susana,
I do not know what are these functions creating your ntuple!
Do you use an interface on top on Root ?
Now, concerning your function MetAnal, I do not have enough information
to tell you what is wrong?
Could you send me :
- MyAna.h
- MyAna.C
- your function MetAna
- the few statements invoking MetAna , the initialisation of MyAna?
Rene Brun
Susana Cabrera wrote:
>
> Hello,
> I am trying to write a CINT program to read some
> blocks of my ntuple, here I send to you an example of the booking
> of two blocks of this ntuple.
>
> if(_L2_process.value()==true) {
>
> _ntuple=&_manager->ntuple("MyNtuple",1);
> _ntuple->setColumnWise();
> _ntuple->setDiskResident();
>
> _ntuple->columnAt("L2CalJet::NclusT",&_nclusL2Jet,(Int4)1);
> _ntuple->span("L2CalJet::NclusT",0,_n2clst);
> _ntuple->columnAt("L2CalJet::sumEtT",&_sumEtL1,(Float4)0.);
>
> }
>
> if(_Met_process.value()==true) {
> _ntuple->columnAt("MET::met",&_uncorrMet,(Float4)0.);
> _ntuple->columnAt("MET::xsum",&_xSum,(Float4)0.);
> _ntuple->columnAt("MET::ysum",&_ySum,(Float4)0.);
> _ntuple->columnAt("MET::sumet",&_sumEt,(Float4)0.);
> }
>
> I can have a look to the leaves. I start clicking on different
> buttons. Finally the canvas appear in the screen without problems.
> TFile f("stnmaker.root")
> TBrowser b
>
> However, when I try to use the autogenerated code (equivalent of
> PAW's UWFUNC) in my CINT program:
>
> TFile *file = new TFile("ntuple.root","READ","RUN-II")
> TTree *t;
> file->cd("MyDirectory");
> t = (TTree*)gDirectory->Get("Myntuple");
> t->MakeClass("MyAna")
>
> I introduce the next declarations following a similar syntax
> than in MyAna:
>
> //Declaration of leaves types
> Int_t L2CalJet_NclusT;
> Float_t L2CalJet_sumEtT;
> Float_t MET_met;
> Float_t MET_sumet;
> Float_t MET_xsum;
> Float_t MET_ysum;
>
> // List of branches
> TBranch *b_L2CalJet;
> TBranch *b_MET;
> // Set branch addresses
> t->SetBranchAddress("L2CalJet",&L2CalJet_NclusT);
> t->SetBranchAddress("MET",&MET_met);
>
> When I try to access to the information in the branches
> with my loop I can not get the information of the leaves,
> for example, the variable MET_met is always zero.
>
> void MetAnal() {
> Int_t nbytes = 0;
> Int_t i;
>
> // ...........loop over entries..................
>
> Int_t nentries = chain->GetEntries();
> printf("Total number of entries in chain = %d\n",nentries);
> for (i=0; i<nentries;i++) {
> if(i % 1000 ==0) printf("analysed:%d\n",i);
> nbytes += chain.GetEvent(i);
> cout << MET_met <<endl;
> }
> }
>
> Thanks for your help,
> Susana Cabrera.
>
> **************************************************************
> * Susana Cabrera Urban cabrera@cdfsga.fnal.gov *
> * *
> * Fermilab Tf: (630)840-5003 *
> * P.O. Box 500, MS 318 Fax: (630)840-2968 *
> * Batavia, IL 60510 *
> * U.S.A. *
> **************************************************************
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET