Int_t kpad,ans;
   char padname[20];
   kpad=0;
   sprintf(padname,"page_%d",kpad+1);
   TPad *pad = (TPad*)page->GetPrimitive(padname);
   pad->cd();
   pad->SetGrid();
   pad->SetLogy();
   pad->GetFrame()->SetFillColor(42);
   pad->GetFrame()->SetBorderMode(-1);
   pad->GetFrame()->SetBorderSize(5);
   pad->Draw();
   char hname[20];
   TH1 *h;
   sprintf(hname,"h%d",kpad+12);
   h=(TH1F*)hfile.Get(hname);
   h.SetLineWidth(2);
   h.SetLineStyle(1);
   h.SetLineColor(1);
   h.SetXTitle("k");
   h.SetYTitle("N");
   h.SetMinimum(1e-1);
   h.Draw();
....
}
The error was just
Processing prob1.C...
Error: illegal pointer to class object h 0x0 321
FILE:/home/pytlos/usr/kret/stat33/./prob1.C LINE:90
NULL
*** Interpreter error recovered ***
How modify my macro?
********************* 
Next thing. What wrong with f.pwd()? Example below. 
root [0] TFile *f=new TFile("prob.root")
root [1] f.ls()
TFile**         prob.root
 TFile*         prob.root
  KEY: TDirectory       top;1   top
root [2] f.pwd()
prob.root:/
root [3] .pwd
Current directory: prob.root:/
Current style:     Default
root [4] top.cd()
root [5] f.ls()
TFile**         prob.root
 TFile*         prob.root
  TDirectory*           top     top
   KEY: TDirectory      plane6;1        plane6
  KEY: TDirectory       top;1   top
root [6] f.pwd()
prob.root:/
root [7] .pwd
Current directory: prob.root:/top
Current style:     Default
root [8] plane6.cd()
root [9] f.ls()
TFile**         prob.root
 TFile*         prob.root
  TDirectory*           top     top
   TDirectory*          plane6  plane6
   ......
    KEY: TH1S   h12;1   h12
   KEY: TDirectory      plane6;1        plane6
  KEY: TDirectory       top;1   top
root [10] f.pwd()
prob.root:/
root [11] .pwd
Current directory: prob.root:/top/plane6
Current style:     Default
root [12] 
Thank in advance,
              Tadeusz
-- Tadeusz Pytlos mailto:pytlos@fizwe5.fic.uni.lodz.pl Lodz, Poland