Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
Deconvolution_wide.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_spectrum
3 /// \notebook
4 /// Example to illustrate deconvolution function (class TSpectrum).
5 ///
6 /// \macro_image
7 /// \macro_code
8 ///
9 /// \authors Miroslav Morhac, Olivier Couet
10 
11 void Deconvolution_wide() {
12  Int_t i;
13  const Int_t nbins = 256;
14  Double_t xmin = 0;
15  Double_t xmax = nbins;
16  Double_t source[nbins];
17  Double_t response[nbins];
18  gROOT->ForceStyle();
19 
20  TString dir = gROOT->GetTutorialDir();
21  TString file = dir+"/spectrum/TSpectrum.root";
22  TFile *f = new TFile(file.Data());
23  TH1F *h = (TH1F*) f->Get("decon3");
24  h->SetTitle("Deconvolution of closely positioned overlapping peaks using Gold deconvolution method");
25  TH1F *d = (TH1F*) f->Get("decon_response_wide");
26 
27  for (i = 0; i < nbins; i++) source[i] = h->GetBinContent(i + 1);
28  for (i = 0; i < nbins; i++) response[i] = d->GetBinContent(i + 1);
29 
30  h->SetMaximum(50000);
31  h->Draw("L");
32  TSpectrum *s = new TSpectrum();
33  s->Deconvolution(source,response,256,10000,1,1);
34 
35  for (i = 0; i < nbins; i++) d->SetBinContent(i + 1,source[i]);
36  d->SetLineColor(kRed);
37  d->Draw("SAME L");
38 }