Hi Reinhardt,
Modify your code as indicated below.
Rene Brun
Reinhardt Chamonal wrote:
>
> Hi the experts,
>
> First that's going be a very very basic question. I had a look at
> various examples around but I am stuck and frustrated. (I am started at
> Root)
> What I would like to do is a little simple script to take a number and
> then
> plot the histogram corresponding to this number
> Here is what I do:
>
> #include <iostream.h>
>
> int show(Int_t nb) {
> gROOT->Reset();
> c1 = new TCanvas("mapmt","MAPMTs",10,40,800,600);
> TFile *f = new TFile("r99.root"); //<================
//use new, otherwise when closing the file, hist will be destroyed
> //TFile *f = new TFILE("r99.root");
> gPad->SetLogy();
> TH1F *boundary = new TH1F("boundary","Channel Signal",500,-0.5,250.5);
TString cut = "pdid==0 && pixid==";
cut += nb;
> h10->Draw("norm>>+boundary","cut);
> c1->Update();
> //return 0;
>
> }
>
> so calling show(2) should draw the histogram cooresponding to pixid=2
> when calling
> h10->Draw("norm>>+boundary","pdid==0 && pixid==nb");
> where I put my variable nb. It obviously doesn't like it certainly because
> of the "". What is the correct declaration in this case ?
> Can anybody indicate me an example where this is used ?
>
> Also as running my script without nb, (with the number instead) works but
> the histogram shows up and then disappears... :(
> I read something about the heap.. (as my histogram boudary with my
> personnal boundaries is declared as new). Is it the case ? What can I do
> to let it stay ?
>
> Cheers.
>
> ------------------------------------------------------------
> Reinhardt CHAMONAL The University of Edinburgh
> Dept. of Physics & Astronomy
> email: chamonal@ph.ed.ac.uk King's Buildings, JCMB, 5301
> Mayfield Road
> phone: +44-131-650 5307 Edinburgh, EH9 3JZ
>
> web: http://www.ph.ed.ac.uk/~chamonal/
> http://www.reuh.fr.st
> ------------------------------------------------------------
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:46 MET