Hi Tommaso, i think that i had the same problem. I resolved it in this fashion: > TCanvas *nc = new TCanvas("nc"); > hp->Draw(""); nc-> Update(); I hope that it is good for you also. Annalisa ************************************************************************* * University of Bologna | | decaro@bo.infn.it * * Physics Department | +39 051 20 91103 | * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* * University of Salerno | | * * Physics Sciences Department | +39 089 96 5359 | decaro@sa.infn.it * * (INFN of Napoli) | | * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* * CERN - EP division | | decaro@mail.cern.ch * * (Bld.29 R019) | +41 22 76 77767 | * ************************************************************************* On Wed, 14 Nov 2001, Tommaso Chiarusi wrote: > Dear Rooters, I cannot see the plot I draw() using the following procedure > that I put in my class' method Deco::PDistrib() (I generated Deco.C con > MakeClass) > > > > void Deco::PDistrib(double pmin, double pmax) > { > > TFile *hfile = new TFile("Pdist.root","RECREATE","DATA"); > > _pmin = pmin; _pmax=pmax; > Int_t nentries = Int_t(fChain->GetEntries()); > > TH1F *hp = new TH1F("hp","P distrib",_nbin,pmin,pmax); > > double areamin=100000,areamax=0; > Int_t nbytes = 0, nb = 0; > for (Int_t jentry=0; jentry<nentries;jentry++) { > Int_t ientry = LoadTree(jentry); > nb = fChain->GetEntry(jentry); nbytes += nb; > // if (Cut(ientry) < 0) continue; > > hp->Fill(tp); > } > > hp->Write(); > hfile->Close(); > > TCanvas *nc = new TCanvas("nc"); > hp->Draw(""); > > } > > The fact is that the plot exist but does not appear in the canvas! > I think that the problem is in creating and closing of TFile *hfile. > I tried to change the position of the line > > TFile *hfile = new TFile("Pdist.root","RECREATE","DATA"); > > postponing it after the iteration over "jentry" but, naturally, it is the > same! > Neither mooving the lines > > TCanvas *nc = new TCanvas("nc"); > hp->Draw(""); > > out from the "scope" > > TFile *hfile = new TFile("Pdist.root","RECREATE","DATA"); > > ... > > hfile->Close(); > > but it yelded the same result: no plot on the screen. > > Why does it happen? > Which mistake do I commit? > > Thanks and Cheers, Tommaso > > >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:08 MET