Hi Reinhardt,
I do not see a problem with your script. I can run it successfully
with all the versions you indicate.
Your histogram is saved to the file.
I do not understand, however, your logic to fill it.
Rene Brun
On Wed, 3 Apr 2002, Reinhardt Chamonal wrote:
> Hi,
> I am having a "problem" to save my histogram in a root file.
> I tried first on a dummy.CXX macro inspired from the tutorial and it
> worked fine. When I decided to export it to my script.C macro it didn't
> work anymore on version 3.01/05 and even 3.02/07. But it worked on the
> older version 3.00/06.
> I then decided to change my srcipt.c for a script.cxx name and turned out
> to work fine...
> Is it due to some libraries which have to be included ? Or I am doing
> something fundamently wrong ?
> Here is the full but not so long macro:
>
> #include <iostream.h>
> Double_t tabCut[64];
> Double_t tabSignal[64]={31,81,90,80,70,42,24,13,13,
> 72,87,79,18,38,36,21,30,91,97,97,93,66,39,21,25,92,
> 95,97,96,86,57,32,92,98,99,96,86,54,28,14,82,93,95,
> 95,95,89,86,0,63,94,95,94,86,51,31,44,50,51,50,23,65,73,53,27};
>
> void col(){
> Double_t tabcol[8];
> Double_t rowSignal=0;
> Double_t tabvalue;
> Int_t rowdiv=8;
> Int_t rownb=0;
> Int_t incr=0;
> c1 = new TCanvas("zdemo2","LED Cluster Shower on MAPMT",10,40,400,450);
> // ******************
> TFile *hfile = gROOT->FindObject("hsimple.root"); if (hfile)
> hfile->Close();
> hfile = new TFile("hsimple.root","RECREATE","Demo ROOT file with
> histograms");
> //********************
> hpx = new TH2F("hpx","Col population",100,0,9,100,0,0.4);
> gBenchmark->Start("hsimple");
>
> for (Int_t i=0;i<=7;i++){
> incr=i;
> for(Int_t j=0;j<=7;j++){
> cout << "tab["<<incr<<"]="<<tabSignal[incr]/100<<endl;
> tabvalue=(tabSignal[incr]/1000);
>
> // don't forget starting from 0 thus -1 to the channel
> if (incr==12 ||incr==18) {
> cout<<"cluster ignored"<<endl;
> rowdiv=7;
> tabvalue=0;
> }
> rowSignal+=tabvalue;
> incr+=8;
> }
>
> tabcol[rownb]=rowSignal/rowdiv;
> hpx->Fill(rownb+1,rowSignal);
> rowSignal=0;
> cout << "row["<<rownb<<"]="<<tabcol[rownb]<<" and div="<< rowdiv<<endl;
> rownb++;
> rowdiv=8;
>
> }
>
> gStyle->SetDateX(0.95);
> gStyle->SetDateY(0.95);
> gStyle->SetOptStat(0);
> gStyle->SetMarkerStyle(22);
>
> hpx->Draw();
> cout<<"watch out try to save everything"<<endl;
> gBenchmark->Show("hsimple");
> c1->Update();
> hfile->Write(); //************************
> }
>
>
> if someone could explain me the subtility here.
>
> Cheers
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET