16    const Int_t nbinsx = 64;
 
   17    const Int_t nbinsy = 64;
 
   19    Double_t xmax = (Double_t)nbinsx;
 
   21    Double_t ymax = (Double_t)nbinsy;
 
   22    Double_t** source = 
new Double_t*[nbinsx];
 
   23    for (i=0;i<nbinsx;i++)
 
   24       source[i]=
new Double_t[nbinsy];
 
   25    Double_t** dest = 
new Double_t*[nbinsx];
 
   26    for (i=0;i<nbinsx;i++)
 
   27       dest[i]=
new Double_t[nbinsy];
 
   28    TString dir  = gROOT->GetTutorialDir();
 
   29    TString file = dir+
"/spectrum/TSpectrum2.root";
 
   30    TFile *f     = 
new TFile(file.Data());
 
   31    gStyle->SetOptStat(0);
 
   32    auto search = (TH2F*) f->Get(
"search2");
 
   33    auto s = 
new TSpectrum2();
 
   34    for (i = 0; i < nbinsx; i++){
 
   35       for (j = 0; j < nbinsy; j++){
 
   36          source[i][j] = search->GetBinContent(i + 1,j + 1);
 
   39    nfound = s->SearchHighRes(source, dest, nbinsx, nbinsy, 3, 5, kFALSE, 10, kTRUE, 3);
 
   40    printf(
"Found %d candidate peaks\n",nfound);
 
   41    Double_t *PositionX = s->GetPositionX();
 
   42    Double_t *PositionY = s->GetPositionY();
 
   44    auto m = 
new TMarker();
 
   45    m->SetMarkerStyle(23);
 
   46    m->SetMarkerColor(kRed);
 
   47    for (i=0;i<nfound;i++) {
 
   48       printf(
"posx= %d, posy= %d, value=%d\n",(Int_t)(PositionX[i]+0.5), (Int_t)(PositionY[i]+0.5),
 
   49       (Int_t)source[(Int_t)(PositionX[i]+0.5)][(Int_t)(PositionY[i]+0.5)]);
 
   50       m->DrawMarker(PositionX[i],PositionY[i]);