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