Example to illustrate high resolution peak searching function (class TSpectrum2).
void Src2()
{
const Int_t nbinsx = 256;
const Int_t nbinsy = 256;
std::vector<Double_t *> source(nbinsx),
dest(nbinsx);
for (
Int_t i = 0; i < nbinsx; i++) {
}
TString file = dir +
"/legacy/spectrum/TSpectrum2.root";
auto search = (
TH2F *)
f->Get(
"back3");
for (
Int_t i = 0; i < nbinsx; i++) {
for (
Int_t j = 0; j < nbinsy; j++) {
source[i][j] = search->GetBinContent(i + 1, j + 1);
}
}
printf("Found %d candidate peaks\n", nfound);
search->Draw("COL");
for (
Int_t i = 0; i < nfound; i++) {
printf(
"posx= %d, posy= %d, value=%d\n", (
Int_t)(PositionX[i] + 0.5), (
Int_t)(PositionY[i] + 0.5),
m.DrawMarker(PositionX[i], PositionY[i]);
}
for (
Int_t i = 0; i < nbinsx; i++) {
delete[] source[i];
}
}
int Int_t
Signed integer 4 bytes (int).
double Double_t
Double 8 bytes.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
2-D histogram with a float per channel (see TH1 documentation)
Advanced 2-dimensional spectra processing.
Double_t * GetPositionY() const
Int_t SearchHighRes(Double_t **source, Double_t **dest, Int_t ssizex, Int_t ssizey, Double_t sigma, Double_t threshold, Bool_t backgroundRemove, Int_t deconIterations, Bool_t markov, Int_t averWindow)
Double_t * GetPositionX() const
const char * Data() const