13 void Deconvolution2_2() {
15 const Int_t nbinsx = 64;
16 const Int_t nbinsy = 64;
18 Double_t xmax = (Double_t)nbinsx;
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(
"decon2");
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(
"resp2");
32 gStyle->SetOptStat(0);
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);
39 for (i = 0; i < nbinsx; i++){
40 for (j = 0; j < nbinsy; j++){
41 response[i][j] = resp->GetBinContent(i + 1,j + 1);
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]);