Hi Dmitry, You see a side-effect of using teh CINT short-cut of a pointer automatically created when giving the object name. You should do, eg: ff1=new TFile("/home/botov/work/snd2k/R002-003/work/rootntuple/eeElastic_10deg.$ TH1F *h1 = (TH1F*)ff1->Get("h1"); h1->Draw("Simth[0]>>htmp"); TH1F *htmp = (TH1F*)ff1->Get("htmp"); h1->Draw("Simth[0]>>htmp1","Simth[1]>20"); TH1F *htmp1 = (TH1F*)ff1->Get("htmp1"); htmp1->Divide(htmp); htmp1->Divide(htmp); Rene Brun "Dmitry A. Shtol" wrote: > > Hi! > I have done the following operations (just an example): > root [0] ff1=new TFile("/home/botov/work/snd2k/R002-003/work/rootntuple/eeElastic_10deg.$ > (class TFile*)0x8f2fb48 > root [1] h1->Draw("Simth[0]>>htmp") > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > root [2] h1->Draw("Simth[0]>>htmp1","Simth[1]>20") > (Int_t)2384 > root [3] htmp1->Divide(htmp) > root [4] htmp1->Divide(htmp) > Error: Symbol htmp is not defined in current scope FILE:(tmpfile) LINE:1 > *** Interpreter error recovered *** > > Why first Divide works normally, but second Divide can't find an object htmp > .ls finds it: > root [5] .ls > TFile** > /home/botov/work/snd2k/R002-003/work/rootntuple/eeElastic_10deg.rootntupleHBOOK > file: eeElastic_10deg.hbook converted to ROOT > TFile* > /home/botov/work/snd2k/R002-003/work/rootntuple/eeElastic_10deg.rootntupleHBOOK > file: eeElastic_10deg.hbook converted to ROOT > OBJ: TTree h1 tup1 : 0 at: 0x9051f70 > OBJ: TH1F htmp Simth[0] : 0 at: 0x924b560 > OBJ: TH1F htmp1 Simth[0] {Simth[1]>20} : 0 at: 0x925a818 > KEY: TTree h1;1 tup1 > > I can use name htmp. For example > root [6] htmp->Draw() > > works normally. Why it can't be used as function argument? > Thank you for advance. > > -- > Dmitry A. Shtol (SND group) > Budker Institute of Nuclear Physics
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET