Hello

I have fitted a Gaussian to a histogram, and now want to find the integral of the fitted function.

I’m using version 3.03/09

I think it should be quite simple, but when I run the macro shown below I get a wrong anwser.

The integral is returned as as 15.27, at least an order of magnitude out just from looking at the curve - which peaks at 70 and has a sigma of 0.09.

my macro:

[code]{

gROOT->Reset();

#include

FILE *fp = fopen(“Data/sampled107.txt”,“r”);

Double_t x;

Int_t ncols;

Int_t nlines = 0;

Double_t limit_plot=100;

plot7 = new TCanvas(“plot7”,“plot7”);

TH1F *h1 = new TH1F(“h1”,“Pulse height spectrum Sampled 107”,231,0.006,1.862);

// read in data from file

while (1) {

ncols = fscanf(fp,"%lf",&x); // scan in long float = double

if (ncols < 0) break;

// read in only above noise threshold for test

if (x>0.520)

{

h1->Fill(x);

nlines++;

}

}

cout << " found " << nlines << " points" << endl;

## fclose(fp);

/// make calculations for pedestal subtracted histogram

// fit gaussian to signal and noise

g2 = new TF1(“g2”,“gaus”,0.0,1.862); // and for SIGNAL

g2->SetLineColor(kRed);

h1->Fit(“g2”,“R+Q”);

Double_t sumundercurve;

sumundercurve = g2->Integral(0,1.862);

cout << "sumundercurve = " << sumundercurve << endl;

h1->SetMaximum(100);

h1->Draw();

}[/code]

I must have made some sort of stupid error - hope you can help

thank you,

Laura Somerville