14 #ifndef TGO4FITPEAKFINDER_H 15 #define TGO4FITPEAKFINDER_H 42 TGo4FitPeakFinder(
const char *Name,
const char *DataName =
nullptr, Bool_t ClearModels = kFALSE, Int_t PolOrder = -1);
57 void SetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth);
61 void SetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum);
99 void Print(Option_t *option =
"")
const override;
118 Double_t AmplThreshold,
128 Int_t MaxNumPeaks = 50,
129 Int_t ChannelSum = 1,
130 Double_t NoiseFactor = 2.,
131 Double_t NoiseMinimum = 10.,
132 Int_t MinimasOrder = -1);
138 Double_t *weight =
nullptr,
139 Double_t *backgr =
nullptr,
140 Char_t *use =
nullptr);
142 static void DefinePolynomEx(Int_t size, Double_t *bins, Double_t *scales, Double_t *weight, Double_t *backgr,
143 Int_t lbound, Int_t rbound, TArrayD& Coef);
145 static Double_t
CalcPolynom(
const TArrayD &Coef, Double_t x);
170 #endif // TGO4FITPEAKFINDER_H
Bool_t GetUsePolynom() const
void SetupForSecond(Double_t LineWidth)
void Set2NoiseFactor(Double_t factor)
Double_t Get0MinWidth() const
void Print(Option_t *option="") const override
Bool_t GetClearModels() const
Int_t GetPolynomOrder() const
void SetDataName(const char *name)
void DoAction(TGo4FitterAbstract *Fitter) override
Int_t GetPeakFinderType() const
static void DefinePolynomEx(Int_t size, Double_t *bins, Double_t *scales, Double_t *weight, Double_t *backgr, Int_t lbound, Int_t rbound, TArrayD &Coef)
static void DefinePolynom(Int_t size, Double_t *bins, Double_t *scales, TArrayD &Coef, Double_t *weight=nullptr, Double_t *backgr=nullptr, Char_t *use=nullptr)
Int_t Get2ChannelSum() const
Double_t Get2NoiseMinimum() const
void SergeyLinevPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t PolOrder, Double_t AmplThreshold, Double_t MinWidth, Double_t MaxWidth)
void Set2NoiseMinimum(Double_t min)
void SetPeakFinderType(Int_t typ)
Double_t Get0MaxWidth() const
Double_t Get1LineWidth() const
void Set0MaxWidth(Double_t max)
void Set0MaxAmplFactor(Double_t factor)
Bool_t CanChangeFitter() const override
void SetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth)
void Set2ChannelSum(Int_t sum)
const char * GetDataName() const
virtual ~TGo4FitPeakFinder()
void SetupPolynomialBackground(Int_t PolynomOrder)
void SetUsePolynom(Bool_t use)
void SetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum)
Double_t fd0MaxAmplFactor
void Set1LineWidth(Double_t width)
void SetClearModels(Bool_t clear)
static Double_t CalcPolynom(const TArrayD &Coef, Double_t x)
Double_t Get2NoiseFactor() const
void ROOTPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t PolynomOrder, Double_t Sigma)
Double_t Get0MaxAmplFactor() const
void SetPolynomOrder(Int_t order)
void HansEsselPeakFinder(TGo4Fitter *fitter, TGo4FitData *data, Int_t MaxNumPeaks=50, Int_t ChannelSum=1, Double_t NoiseFactor=2., Double_t NoiseMinimum=10., Int_t MinimasOrder=-1)
void Set0MinWidth(Double_t min)