v2.10-0 (21000JUN2005)

Go4Fit
Class TGo4FitPeakFinder


class TGo4FitPeakFinder
derived from TGo4FitterAction

Output action
To add some output to actions, TGo4FitterOutput action class should be used. In constructor output command and options (if required) should be specified. Also AddOuputAction() routine of fitter can be used. Now following commands are available:
"Print". Possible options are: "*"- print all internal objects, "**" - print also objects in slots, "Pars" - print parameters values, "Ampls" - only amplitude parameters, "Results" - result values.
"Draw". Draw of the fitter data and model objects. As option name of data object and its components should be sets up. For instance, "data1,Gauss1,Gauss2". If first character will be "#", Draw command creates new canvas for output.


Field Summary
 private Bool_tfbClearModels
           
 private Bool_tfbUsePolynom
           
 private Double_tfd0MaxAmplFactor
           
 private Double_tfd0MaxWidth
           
 private Double_tfd0MinWidth
           
 private Double_tfd1LineWidth
           
 private Double_tfd2NoiseFactor
           
 private Double_tfd2NoiseMinimum
           
 private Int_tfi2ChannelSum
           
 private Int_tfiPeakFinderType
           
 private Int_tfiPolynomOrder
           
 private TStringfxDataName
           

Fields inherited from class TNamed
fName, fTitle

Constructor Summary
TGo4FitPeakFinder()
          Default constructor.
TGo4FitPeakFinder(const char * Name, const char * DataName, Bool_t ClearModels, Int_t PolOrder)
          Creates TGo4FitPeakFinder action with provided name and, ,
(optionally), DataName, clear models mode.

Destructor Summary
 virtual synchronized ~TGo4FitPeakFinder()
          Destroys TGo4FitterOutput object.

Method Summary
 private static Double_tCalcPolynom(const TArrayD& Coef, Double_t x)
           
 virtual const Bool_tCanChangeFitter()
           
 private static voidDefinePolynom(Int_t size, Double_t* bins, Double_t* scales, TArrayD& Coef, Double_t* weight, Double_t* backgr, Char_t* use)
           
 private static voidDefinePolynomEx(Int_t size, Double_t* bins, Double_t* scales, Double_t* weight, Double_t* backgr, Int_t lbound, Int_t rbound, TArrayD& Coef)
           
 virtual voidDoAction(TGo4FitterAbstract* Fitter)
           
 Double_tGet0MaxAmplFactor()
           
 Double_tGet0MaxWidth()
           
 Double_tGet0MinWidth()
           
 Double_tGet1LineWidth()
           
 Int_tGet2ChannelSum()
           
 Double_tGet2NoiseFactor()
           
 Double_tGet2NoiseMinimum()
           
 Bool_tGetClearModels()
           
 const const char *GetDataName()
           
 Int_tGetPeakFinderType()
           
 Int_tGetPolynomOrder()
           
 Bool_tGetUsePolynom()
           
 private voidHansEsselPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t MaxNumPeaks, Int_t ChannelSum, Double_t NoiseFactor, Double_t NoiseMinimum, Int_t MinimasOrder)
          Hans Essel (c) peak finder.
 virtual const voidPrint(Option_t* option)
          Print information on standard output.
 private voidROOTPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t PolynomOrder, Double_t Sigma)
           
 private voidSergeyLinevPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t PolOrder, Double_t AmplThreshold, Double_t MinWidth, Double_t MaxWidth)
          Perform simple peak finder algorithm.
 voidSet0MaxAmplFactor(Double_t factor)
           
 voidSet0MaxWidth(Double_t max)
           
 voidSet0MinWidth(Double_t min)
           
 voidSet1LineWidth(Double_t width)
           
 voidSet2ChannelSum(Int_t sum)
           
 voidSet2NoiseFactor(Double_t factor)
           
 voidSet2NoiseMinimum(Double_t min)
           
 voidSetClearModels(Bool_t clear)
           
 voidSetDataName(const char * name)
           
 voidSetPeakFinderType(Int_t typ)
           
 voidSetPolynomOrder(Int_t order)
           
 voidSetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth)
           
 voidSetupForSecond(Double_t LineWidth)
           
 voidSetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum)
           
 voidSetupPolynomialBackground(Int_t PolynomOrder)
           
 voidSetUsePolynom(Bool_t use)
           

Methods inherited from class Go4Fit.TGo4FitterAction
NeedBuffers

Methods inherited from class Go4Fit.TGo4FitNamed
GetFullName, GetOwner, GetOwnerFullName, SetOwner

Methods inherited from class TNamed
operator=, Clear, Clone, Compare, Copy, FillBuffer, GetName, GetTitle, Hash, IsSortable, SetName, SetNameTitle, SetTitle, ls, Sizeof, Class, Class_Name, Class_Version, Dictionary, IsA, ShowMembers, Streamer, StreamerNVirtual, DeclFileName, ImplFileLine, ImplFileName, DeclFileLine

Field Detail

fbClearModels

private Bool_t fbClearModels

fbUsePolynom

private Bool_t fbUsePolynom

fd0MaxAmplFactor

private Double_t fd0MaxAmplFactor

fd0MaxWidth

private Double_t fd0MaxWidth

fd0MinWidth

private Double_t fd0MinWidth

fd1LineWidth

private Double_t fd1LineWidth

fd2NoiseFactor

private Double_t fd2NoiseFactor

fd2NoiseMinimum

private Double_t fd2NoiseMinimum

fi2ChannelSum

private Int_t fi2ChannelSum

fiPeakFinderType

private Int_t fiPeakFinderType

fiPolynomOrder

private Int_t fiPolynomOrder

fxDataName

private TString fxDataName
Constructor Detail

TGo4FitPeakFinder

public TGo4FitPeakFinder()
Default constructor.

TGo4FitPeakFinder

public TGo4FitPeakFinder(const char * Name, const char * DataName, Bool_t ClearModels, Int_t PolOrder)
Creates TGo4FitPeakFinder action with provided name and, ,
(optionally), DataName, clear models mode.
Method Detail

~TGo4FitPeakFinder

public virtual synchronized ~TGo4FitPeakFinder()
Destroys TGo4FitterOutput object.
Method Detail

CalcPolynom

private static Double_t CalcPolynom(const TArrayD& Coef, Double_t x)

CanChangeFitter

public virtual const Bool_t CanChangeFitter()

DefinePolynom

private static void DefinePolynom(Int_t size, Double_t* bins, Double_t* scales, TArrayD& Coef, Double_t* weight, Double_t* backgr, Char_t* use)

DefinePolynomEx

private 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)

DoAction

public virtual void DoAction(TGo4FitterAbstract* Fitter)

Get0MaxAmplFactor

public Double_t Get0MaxAmplFactor()

Get0MaxWidth

public Double_t Get0MaxWidth()

Get0MinWidth

public Double_t Get0MinWidth()

Get1LineWidth

public Double_t Get1LineWidth()

Get2ChannelSum

public Int_t Get2ChannelSum()

Get2NoiseFactor

public Double_t Get2NoiseFactor()

Get2NoiseMinimum

public Double_t Get2NoiseMinimum()

GetClearModels

public Bool_t GetClearModels()

GetDataName

public const const char * GetDataName()

GetPeakFinderType

public Int_t GetPeakFinderType()

GetPolynomOrder

public Int_t GetPolynomOrder()

GetUsePolynom

public Bool_t GetUsePolynom()

HansEsselPeakFinder

private void HansEsselPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t MaxNumPeaks, Int_t ChannelSum, Double_t NoiseFactor, Double_t NoiseMinimum, Int_t MinimasOrder)
Hans Essel (c) peak finder.

Print

public virtual const void Print(Option_t* option)
Print information on standard output.

ROOTPeakFinder

private void ROOTPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t PolynomOrder, Double_t Sigma)

SergeyLinevPeakFinder

private void SergeyLinevPeakFinder(TGo4Fitter* fitter, TGo4FitData* data, Int_t PolOrder, Double_t AmplThreshold, Double_t MinWidth, Double_t MaxWidth)
Perform simple peak finder algorithm.
Seeks for gaussians with amplitude more than given threshold (AmplThreshold introduced relative to maximum data value, from 0 to 1),
with width in range between MinWidth and MaxWidth. Polynomial approximation can be applied for background appoximation(PolOrder>=0) or not used (PolOrder<0).
Only selected by range conditions data part will be used by peak finder.
Appropriate number of gaussians will be placed in list of models and associate with data.

Set0MaxAmplFactor

public void Set0MaxAmplFactor(Double_t factor)

Set0MaxWidth

public void Set0MaxWidth(Double_t max)

Set0MinWidth

public void Set0MinWidth(Double_t min)

Set1LineWidth

public void Set1LineWidth(Double_t width)

Set2ChannelSum

public void Set2ChannelSum(Int_t sum)

Set2NoiseFactor

public void Set2NoiseFactor(Double_t factor)

Set2NoiseMinimum

public void Set2NoiseMinimum(Double_t min)

SetClearModels

public void SetClearModels(Bool_t clear)

SetDataName

public void SetDataName(const char * name)

SetPeakFinderType

public void SetPeakFinderType(Int_t typ)

SetPolynomOrder

public void SetPolynomOrder(Int_t order)

SetupForFirst

public void SetupForFirst(Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth)

SetupForSecond

public void SetupForSecond(Double_t LineWidth)

SetupForThird

public void SetupForThird(Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum)

SetupPolynomialBackground

public void SetupPolynomialBackground(Int_t PolynomOrder)

SetUsePolynom

public void SetUsePolynom(Bool_t use)

J.Adamczewski, M.Al-Turany, D.Bertini, H.G.Essel, S.Linev

30-06-2005