17 TF1 f1(
"f1",
"pol1",0,10);
18 f1.SetParameters(5,-0.5);
19 TH1F h(
"background",
"linear background",100,0,10);
20 h.FillRandom(
"f1",10000);
21 TFile f(
"background.root",
"recreate");
25 TF1 f2(
"f2",
"gaus",0,10);
26 f2.SetParameters(1,6,0.5);
27 h.FillRandom(
"f2",2000);
32 Double_t ftotal(Double_t *x, Double_t *par) {
34 Int_t bin = background->GetXaxis()->FindBin(xx);
35 Double_t br = par[3]*background->GetBinContent(bin);
36 Double_t arg = (xx-par[1])/par[2];
37 Double_t sr = par[0]*TMath::Exp(-0.5*arg*arg);
45 TFile *f =
new TFile(
"background.root");
46 background = (TH1F*)f->Get(
"background");
47 TH1F *result = (TH1F*)f->Get(
"result");
49 TF1 *ftot =
new TF1(
"ftot",ftotal,0,10,4);
50 Double_t norm = result->GetMaximum();
51 ftot->SetParameters(0.5*norm,5,.2,norm);
52 ftot->SetParLimits(0,.3*norm,norm);
54 result->Fit(
"ftot",
"b");