Logo ROOT  
Reference Guide
Deconvolution2_1.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_spectrum
3/// \notebook
4/// Example to illustrate the Gold deconvolution (class TSpectrum2).
5///
6/// \macro_image
7/// \macro_code
8///
9/// \authors Miroslav Morhac, Olivier Couet
10
11#include <TSpectrum2.h>
12
13void Deconvolution2_1() {
14 Int_t i, j;
15 const Int_t nbinsx = 256;
16 const Int_t nbinsy = 256;
17 Double_t xmin = 0;
18 Double_t xmax = (Double_t)nbinsx;
19 Double_t ymin = 0;
20 Double_t ymax = (Double_t)nbinsy;
21 Double_t** source = new Double_t*[nbinsx];
22 for (i=0;i<nbinsx;i++)
23 source[i]=new Double_t[nbinsy];
24 TString dir = gROOT->GetTutorialDir();
25 TString file = dir+"/spectrum/TSpectrum2.root";
26 TFile *f = new TFile(file.Data());
27 auto decon = (TH2F*) f->Get("decon1");
28 Double_t** response = new Double_t*[nbinsx];
29 for (i=0;i<nbinsx;i++)
30 response[i]=new Double_t[nbinsy];
31 auto resp = (TH2F*) f->Get("resp1");
33 auto *s = new TSpectrum2();
34 for (i = 0; i < nbinsx; i++){
35 for (j = 0; j < nbinsy; j++){
36 source[i][j] = decon->GetBinContent(i + 1,j + 1);
37 }
38 }
39 for (i = 0; i < nbinsx; i++){
40 for (j = 0; j < nbinsy; j++){
41 response[i][j] = resp->GetBinContent(i + 1,j + 1);
42 }
43 }
44 s->Deconvolution(source,response,nbinsx,nbinsy,1000,1,1);
45 for (i = 0; i < nbinsx; i++){
46 for (j = 0; j < nbinsy; j++)
47 decon->SetBinContent(i + 1,j + 1, source[i][j]);
48 }
49 decon->Draw("SURF2");
50}
#define f(i)
Definition: RSha256.hxx:104
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
float xmin
Definition: THbookFile.cxx:93
float ymin
Definition: THbookFile.cxx:93
float xmax
Definition: THbookFile.cxx:93
float ymax
Definition: THbookFile.cxx:93
#define gROOT
Definition: TROOT.h:415
R__EXTERN TStyle * gStyle
Definition: TStyle.h:407
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
Definition: TFile.h:48
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
Advanced 2-dimensional spectra processing.
Definition: TSpectrum2.h:18
Basic string class.
Definition: TString.h:131
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition: TStyle.cxx:1450
static constexpr double s
Definition: file.py:1