Re: [ROOT] Draw histogram from directory

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Feb 19 2003 - 18:50:23 MET


Hi Meta,

Meta Binder wrote:
> 
> Dear rooters,
> 
> I create a TFile with two subdirectories:
>         TFile = histofile.root
>         TDirectory subdirectories pythia, zjet
> 
> If I open the file in the TBrowser I can perfectly well access the
> histograms but I need to to this in a macro. I attached the histofile.root
> 
> my Macro:
> 
> #include <TH2.h>
> #include <iostream>
> 
> TH1F *h;
> 
> int plot(){
> 
>   TFile *f = new TFile("histofile.root");
> 
>   pythia->cd();
> 
>   char hname[20];
> 
>   sprintf(hname,"h[%d]",0);
>   h=(TH1F*)f->Get(hname);
> 
  Instead of:
    h=(TH1F*)f->Get(hname);
you should call
    h=(TH1F*)gDirectory->Get(hname);

or if you do not want to cd in the directory, you have to specify the full path
    h=(TH1F*)f->Get("pythia/h1");


>   h->Draw();
> 
> }
> 
> gives
> root [0]
> Processing plot.C...
> Error: illegal pointer to class object h 0x0 137  FILE:plot.C LINE:27
> *** Interpreter error recovered ***
> 
> second problem:
> -----------------------------------------------------------------------
> if I do root histofile.root
> 
> root [0]
> Attaching file histofile.root...
> root [1] pythia->cd()
> (Bool_t)1
> root [2] gDirectory->pwd()
> histofile.root:/pythia
> root [3] gDirectory->cd()
> (Bool_t)1
> root [4] zjet->cd()
> Error: Symbol zjet is not defined in current scope


Are you sure that the object is called "zjet" and not "zjet " or " zjet" ?

Rene Brun

> FILE:/tmp/fileihS306_cint LINE:1
> Error: Failed to evaluate zjet->cd()Possible candidates are...
> filename       line:size busy function type and name
> *** Interpreter error recovered ***
> 
> But it is there. I can see it in the TBrowser.
> 
> What do I do wrong?
> 
> Thank you so much.
> Meta
> 
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> "Thank you" means you don't have to, but I'm glad you did!
> 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Meta Binder                  FNAL, M.S. 357
> LMU Muenchen                 Meta Binder
> Sektion Physik               P.O. Box 500
> Am Coulombwall 1             Batavia, IL 60510
> 85748 Garching
> 
> ph: +49 89 289- 14149        ph:  +1 630 840 3696
>                              fax: +1 630 840 6650



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