12 void Background_width() {
14 const Int_t nbins = 1024;
16 Double_t xmax = nbins;
17 Double_t source[nbins];
20 TString dir = gROOT->GetTutorialDir();
21 TString file = dir+
"/spectrum/TSpectrum.root";
22 TFile *f =
new TFile(file.Data());
23 TH1F *back = (TH1F*) f->Get(
"back1");
24 TH1F *d1 =
new TH1F(
"d1",
"",nbins,xmin,xmax);
25 TH1F *d2 =
new TH1F(
"d2",
"",nbins,xmin,xmax);
26 TH1F *d3 =
new TH1F(
"d3",
"",nbins,xmin,xmax);
28 back->GetXaxis()->SetRange(1,nbins);
29 back->SetTitle(
"Influence of clipping window width on the estimated background");
32 TSpectrum *s =
new TSpectrum();
34 for (i = 0; i < nbins; i++) source[i]=back->GetBinContent(i + 1);
35 s->Background(source,nbins,4,TSpectrum::kBackDecreasingWindow,
36 TSpectrum::kBackOrder2,kFALSE,
37 TSpectrum::kBackSmoothing3,kFALSE);
38 for (i = 0; i < nbins; i++) d1->SetBinContent(i + 1,source[i]);
39 d1->SetLineColor(kRed);
42 for (i = 0; i < nbins; i++) source[i]=back->GetBinContent(i + 1);
43 s->Background(source,nbins,6,TSpectrum::kBackDecreasingWindow,
44 TSpectrum::kBackOrder2,kFALSE,
45 TSpectrum::kBackSmoothing3,kFALSE);
46 for (i = 0; i < nbins; i++) d2->SetBinContent(i + 1,source[i]);
47 d2->SetLineColor(kOrange);
50 for (i = 0; i < nbins; i++) source[i]=back->GetBinContent(i + 1);
51 s->Background(source,nbins,8,TSpectrum::kBackDecreasingWindow,
52 TSpectrum::kBackOrder2,kFALSE,
53 TSpectrum::kBackSmoothing3,kFALSE);
54 for (i = 0; i < nbins; i++) d3->SetBinContent(i + 1,source[i]);
55 d3->SetLineColor(kGreen);