ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TSpectrumFit Class Reference

Advanced 1-dimentional spectra fitting functions.

Author
Miroslav Morhac

The original code in C has been repackaged as a C++ class by R.Brun

The algorithms in this class have been published in the following references:

  1. M. Morhac et al.: Efficient fitting algorithms applied to analysis of coincidence gamma-ray spectra. Computer Physics Communications, Vol 172/1 (2005) pp. 19-41.
  2. M. Morhac et al.: Study of fitting algorithms applied to simultaneous analysis of large number of peaks in gamma-ray spectra. Applied Spectroscopy, Vol. 57, No. 7, pp. 753-760, 2003.

Definition at line 32 of file TSpectrumFit.h.

Public Types

enum  {
  kFitOptimChiCounts =0, kFitOptimChiFuncValues =1, kFitOptimMaxLikelihood =2, kFitAlphaHalving =0,
  kFitAlphaOptimal =1, kFitPower2 =2, kFitPower4 =4, kFitPower6 =6,
  kFitPower8 =8, kFitPower10 =10, kFitPower12 =12, kFitTaylorOrderFirst =0,
  kFitTaylorOrderSecond =1, kFitNumRegulCycles =100
}
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TSpectrumFit (void)
 
 TSpectrumFit (Int_t numberPeaks)
 numberPeaks: number of fitted peaks (must be greater than zero) the constructor allocates arrays for all fitted parameters (peak positions, amplitudes etc) and sets the member variables to their default values. More...
 
virtual ~TSpectrumFit ()
 destructor More...
 
void FitAwmi (Double_t *source)
 ONE-DIMENSIONAL FIT FUNCTION ALGORITHM WITHOUT MATRIX INVERSION This function fits the source spectrum. More...
 
void FitStiefel (Double_t *source)
 ONE-DIMENSIONAL FIT FUNCTION ALGORITHM WITH MATRIX INVERSION (STIEFEL-HESTENS METHOD) This function fits the source spectrum. More...
 
Double_tGetAmplitudes () const
 
Double_tGetAmplitudesErrors () const
 
Double_tGetAreas () const
 
Double_tGetAreasErrors () const
 
void GetBackgroundParameters (Double_t &a0, Double_t &a0Err, Double_t &a1, Double_t &a1Err, Double_t &a2, Double_t &a2Err)
 GETTER FUNCTION. More...
 
Double_t GetChi () const
 
Double_tGetPositions () const
 
Double_tGetPositionsErrors () const
 
void GetSigma (Double_t &sigma, Double_t &sigmaErr)
 GETTER FUNCTION. More...
 
void GetTailParameters (Double_t &t, Double_t &tErr, Double_t &b, Double_t &bErr, Double_t &s, Double_t &sErr)
 GETTER FUNCTION. More...
 
void SetBackgroundParameters (Double_t a0Init, Bool_t fixA0, Double_t a1Init, Bool_t fixA1, Double_t a2Init, Bool_t fixA2)
 SETTER FUNCTION. More...
 
void SetFitParameters (Int_t xmin, Int_t xmax, Int_t numberIterations, Double_t alpha, Int_t statisticType, Int_t alphaOptim, Int_t power, Int_t fitTaylor)
 SETTER FUNCTION. More...
 
void SetPeakParameters (Double_t sigma, Bool_t fixSigma, const Double_t *positionInit, const Bool_t *fixPosition, const Double_t *ampInit, const Bool_t *fixAmp)
 SETTER FUNCTION. More...
 
void SetTailParameters (Double_t tInit, Bool_t fixT, Double_t bInit, Bool_t fixB, Double_t sInit, Bool_t fixS)
 SETTER FUNCTION. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Protected Member Functions

Double_t Area (Double_t a, Double_t sigma, Double_t t, Double_t b)
 AUXILIARY FUNCTION // // This function calculates area of a peak // Function parameters: // -a-amplitude of the peak // -sigma-sigma of peak // -t-relative amplitude // -b-slope // //. More...
 
Double_t Dera1 (Double_t i)
 derivative of background according to a1 More...
 
Double_t Dera2 (Double_t i)
 derivative of background according to a2 More...
 
Double_t Deramp (Double_t i, Double_t i0, Double_t sigma, Double_t t, Double_t s, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of peak shape function (see manual) // according to amplitude of peak. More...
 
Double_t Derb (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma, Double_t t, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to slope b. More...
 
Double_t Derderi0 (Double_t i, Double_t amp, Double_t i0, Double_t sigma)
 AUXILIARY FUNCTION // // This function calculates second derivative of peak shape function // (see manual) according to peak position. More...
 
Double_t Derdersigma (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma)
 AUXILIARY FUNCTION // // This function calculates second derivative of peaks shape function // (see manual) according to sigma of peaks. More...
 
Double_t Derfc (Double_t x)
 AUXILIARY FUNCTION // // This function calculates derivative of error function of x. More...
 
Double_t Deri0 (Double_t i, Double_t amp, Double_t i0, Double_t sigma, Double_t t, Double_t s, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of peak shape function (see manual) // according to peak position. More...
 
Double_t Derpa (Double_t sigma, Double_t t, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to its amplitude. More...
 
Double_t Derpb (Double_t a, Double_t sigma, Double_t t, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to b parameter. More...
 
Double_t Derpsigma (Double_t a, Double_t t, Double_t b)
 
Double_t Derpt (Double_t a, Double_t sigma, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to t parameter. More...
 
Double_t Ders (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma)
 AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to relative amplitude s. More...
 
Double_t Dersigma (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma, Double_t t, Double_t s, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to sigma of peaks. More...
 
Double_t Dert (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma, Double_t b)
 AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to relative amplitude t. More...
 
Double_t Erfc (Double_t x)
 
Double_t Ourpowl (Double_t a, Int_t pw)
 power function More...
 
Double_t Shape (Int_t num_of_fitted_peaks, Double_t i, const Double_t *parameter, Double_t sigma, Double_t t, Double_t s, Double_t b, Double_t a0, Double_t a1, Double_t a2)
 AUXILIARY FUNCTION // // This function calculates peaks shape function (see manual) // Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // -t, s-relative amplitudes // -b-slope // -a0, a1, a2- background coefficients // //. More...
 
void StiefelInversion (Double_t **a, Int_t rozmer)
 AUXILIARY FUNCTION // // This function calculates solution of the system of linear equations. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Protected Attributes

Int_t fNPeaks
 
Int_t fNumberIterations
 
Int_t fXmin
 
Int_t fXmax
 
Int_t fStatisticType
 
Int_t fAlphaOptim
 
Int_t fPower
 
Int_t fFitTaylor
 
Double_t fAlpha
 
Double_t fChi
 
Double_tfPositionInit
 
Double_tfPositionCalc
 
Double_tfPositionErr
 
Double_tfAmpInit
 
Double_tfAmpCalc
 
Double_tfAmpErr
 
Double_tfArea
 
Double_tfAreaErr
 
Double_t fSigmaInit
 
Double_t fSigmaCalc
 
Double_t fSigmaErr
 
Double_t fTInit
 
Double_t fTCalc
 
Double_t fTErr
 
Double_t fBInit
 
Double_t fBCalc
 
Double_t fBErr
 
Double_t fSInit
 
Double_t fSCalc
 
Double_t fSErr
 
Double_t fA0Init
 
Double_t fA0Calc
 
Double_t fA0Err
 
Double_t fA1Init
 
Double_t fA1Calc
 
Double_t fA1Err
 
Double_t fA2Init
 
Double_t fA2Calc
 
Double_t fA2Err
 
Bool_tfFixPosition
 
Bool_tfFixAmp
 
Bool_t fFixSigma
 
Bool_t fFixT
 
Bool_t fFixB
 
Bool_t fFixS
 
Bool_t fFixA0
 
Bool_t fFixA1
 
Bool_t fFixA2
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

#include <TSpectrumFit.h>

+ Inheritance diagram for TSpectrumFit:
+ Collaboration diagram for TSpectrumFit:

Member Enumeration Documentation

anonymous enum
Enumerator
kFitOptimChiCounts 
kFitOptimChiFuncValues 
kFitOptimMaxLikelihood 
kFitAlphaHalving 
kFitAlphaOptimal 
kFitPower2 
kFitPower4 
kFitPower6 
kFitPower8 
kFitPower10 
kFitPower12 
kFitTaylorOrderFirst 
kFitTaylorOrderSecond 
kFitNumRegulCycles 

Definition at line 84 of file TSpectrumFit.h.

Constructor & Destructor Documentation

TSpectrumFit::TSpectrumFit ( void  )
TSpectrumFit::TSpectrumFit ( Int_t  numberPeaks)

numberPeaks: number of fitted peaks (must be greater than zero) the constructor allocates arrays for all fitted parameters (peak positions, amplitudes etc) and sets the member variables to their default values.

One can change these variables by member functions (setters) of TSpectrumFit class. Begin_Html

Definition at line 118 of file TSpectrumFit.cxx.

TSpectrumFit::~TSpectrumFit ( )
virtual

destructor

Definition at line 226 of file TSpectrumFit.cxx.

Member Function Documentation

Double_t TSpectrumFit::Area ( Double_t  a,
Double_t  sigma,
Double_t  t,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates area of a peak // Function parameters: // -a-amplitude of the peak // -sigma-sigma of peak // -t-relative amplitude // -b-slope // //.

Definition at line 695 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Dera1 ( Double_t  i)
protected

derivative of background according to a1

Definition at line 608 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Dera2 ( Double_t  i)
protected

derivative of background according to a2

Definition at line 616 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Deramp ( Double_t  i,
Double_t  i0,
Double_t  sigma,
Double_t  t,
Double_t  s,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peak shape function (see manual) // according to amplitude of peak.

// Function parameters: // -i-channel // -i0-position of peak // -sigma-sigma of peak // -t, s-relative amplitudes // -b-slope // //

Definition at line 310 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Derb ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma,
Double_t  t,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to slope b.

// Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // -t-relative amplitude // -b-slope // //

Definition at line 579 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Derderi0 ( Double_t  i,
Double_t  amp,
Double_t  i0,
Double_t  sigma 
)
protected

AUXILIARY FUNCTION // // This function calculates second derivative of peak shape function // (see manual) according to peak position.

// Function parameters: // -i-channel // -amp-amplitude of peak // -i0-position of peak // -sigma-width of peak // //

Definition at line 394 of file TSpectrumFit.cxx.

Referenced by FitAwmi().

Double_t TSpectrumFit::Derdersigma ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma 
)
protected

AUXILIARY FUNCTION // // This function calculates second derivative of peaks shape function // (see manual) according to sigma of peaks.

// Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // //

Definition at line 477 of file TSpectrumFit.cxx.

Referenced by FitAwmi().

Double_t TSpectrumFit::Derfc ( Double_t  x)
protected

AUXILIARY FUNCTION // // This function calculates derivative of error function of x.

// //

Definition at line 276 of file TSpectrumFit.cxx.

Referenced by Derb(), Deri0(), and Dersigma().

Double_t TSpectrumFit::Deri0 ( Double_t  i,
Double_t  amp,
Double_t  i0,
Double_t  sigma,
Double_t  t,
Double_t  s,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peak shape function (see manual) // according to peak position.

// Function parameters: // -i-channel // -amp-amplitude of peak // -i0-position of peak // -sigma-sigma of peak // -t, s-relative amplitudes // -b-slope // //

Definition at line 352 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Derpa ( Double_t  sigma,
Double_t  t,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to its amplitude.

// Function parameters: // -sigma-sigma of peak // -t-relative amplitudes // -b-slope // //

Definition at line 723 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Derpb ( Double_t  a,
Double_t  sigma,
Double_t  t,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to b parameter.

// Function parameters: // -sigma-sigma of peak // -t-relative amplitudes // -b-slope // //

Definition at line 801 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::Derpsigma ( Double_t  a,
Double_t  t,
Double_t  b 
)
protected

Definition at line 736 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::Derpt ( Double_t  a,
Double_t  sigma,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of the area of peak // according to t parameter.

// Function parameters: // -sigma-sigma of peak // -t-relative amplitudes // -b-slope // //

Definition at line 774 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::Ders ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to relative amplitude s.

// Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // //

Definition at line 548 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Dersigma ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma,
Double_t  t,
Double_t  s,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to sigma of peaks.

// Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // -t, s-relative amplitudes // -b-slope // //

Definition at line 427 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Dert ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma,
Double_t  b 
)
protected

AUXILIARY FUNCTION // // This function calculates derivative of peaks shape function (see manual) // according to relative amplitude t.

// Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // -b-slope // //

Definition at line 515 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

Double_t TSpectrumFit::Erfc ( Double_t  x)
protected

Definition at line 242 of file TSpectrumFit.cxx.

Referenced by Deramp(), Derb(), Derfc(), Deri0(), Ders(), Dersigma(), Dert(), and Shape().

void TSpectrumFit::FitAwmi ( Double_t source)

ONE-DIMENSIONAL FIT FUNCTION ALGORITHM WITHOUT MATRIX INVERSION This function fits the source spectrum.

The calling program should fill in input parameters of the TSpectrumFit class The fitted parameters are written into TSpectrumFit class output parameters and fitted data are written into source spectrum.

Function parameters: source-pointer to the vector of source spectrum

Begin_Html

Definition at line 852 of file TSpectrumFit.cxx.

void TSpectrumFit::FitStiefel ( Double_t source)

ONE-DIMENSIONAL FIT FUNCTION ALGORITHM WITH MATRIX INVERSION (STIEFEL-HESTENS METHOD) This function fits the source spectrum.

The calling program should fill in input parameters The fitted parameters are written into output parameters and fitted data are written into source spectrum.

Function parameters: source-pointer to the vector of source spectrum

Begin_Html

Definition at line 2317 of file TSpectrumFit.cxx.

Double_t* TSpectrumFit::GetAmplitudes ( ) const
inline

Definition at line 130 of file TSpectrumFit.h.

Double_t* TSpectrumFit::GetAmplitudesErrors ( ) const
inline

Definition at line 131 of file TSpectrumFit.h.

Double_t* TSpectrumFit::GetAreas ( ) const
inline

Definition at line 132 of file TSpectrumFit.h.

Double_t* TSpectrumFit::GetAreasErrors ( ) const
inline

Definition at line 133 of file TSpectrumFit.h.

void TSpectrumFit::GetBackgroundParameters ( Double_t a0,
Double_t a0Err,
Double_t a1,
Double_t a1Err,
Double_t a2,
Double_t a2Err 
)

GETTER FUNCTION.

This function gets the background parameters and their errors -a0 - gets the fitted value of a0 parameter -a0Err - gets error value of a0 parameter -a1 - gets the fitted value of a1 parameter -a1Err - gets error value of a1 parameter -a2 - gets the fitted value of a2 parameter -a2Err - gets error value of a2 parameter

Definition at line 3456 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::GetChi ( ) const
inline

Definition at line 135 of file TSpectrumFit.h.

Double_t* TSpectrumFit::GetPositions ( ) const
inline

Definition at line 136 of file TSpectrumFit.h.

Double_t* TSpectrumFit::GetPositionsErrors ( ) const
inline

Definition at line 137 of file TSpectrumFit.h.

void TSpectrumFit::GetSigma ( Double_t sigma,
Double_t sigmaErr 
)

GETTER FUNCTION.

This function gets the sigma parameter and its error -sigma - gets the fitted value of sigma parameter -sigmaErr - gets error value of sigma parameter

Definition at line 3437 of file TSpectrumFit.cxx.

void TSpectrumFit::GetTailParameters ( Double_t t,
Double_t tErr,
Double_t b,
Double_t bErr,
Double_t s,
Double_t sErr 
)

GETTER FUNCTION.

This function gets the tail parameters and their errors -t - gets the fitted value of t parameter -tErr - gets error value of t parameter -b - gets the fitted value of b parameter -bErr - gets error value of b parameter -s - gets the fitted value of s parameter -sErr - gets error value of s parameter

Definition at line 3479 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::Ourpowl ( Double_t  a,
Int_t  pw 
)
protected

power function

Definition at line 817 of file TSpectrumFit.cxx.

Referenced by FitAwmi().

void TSpectrumFit::SetBackgroundParameters ( Double_t  a0Init,
Bool_t  fixA0,
Double_t  a1Init,
Bool_t  fixA1,
Double_t  a2Init,
Bool_t  fixA2 
)

SETTER FUNCTION.

This function sets the following fitting parameters of background: -a0Init - initial value of a0 parameter (backgroud is estimated as a0+a1*x+a2*x*x) -fixA0 - logical value of a0 parameter, which allows to fix the parameter (not to fit) -a1Init - initial value of a1 parameter -fixA1 - logical value of a1 parameter, which allows to fix the parameter (not to fit) -a2Init - initial value of a2 parameter -fixA2 - logical value of a2 parameter, which allows to fix the parameter (not to fit)

Definition at line 3395 of file TSpectrumFit.cxx.

void TSpectrumFit::SetFitParameters ( Int_t  xmin,
Int_t  xmax,
Int_t  numberIterations,
Double_t  alpha,
Int_t  statisticType,
Int_t  alphaOptim,
Int_t  power,
Int_t  fitTaylor 
)

SETTER FUNCTION.

This function sets the following fitting parameters: -xmin, xmax - fitting region -numberIterations - # of desired iterations in the fit -alpha - convergence coefficient, it should be positive number and <=1, for details see references -statisticType - type of statistics, possible values kFitOptimChiCounts (chi square statistics with counts as weighting coefficients), kFitOptimChiFuncValues (chi square statistics with function values as weighting coefficients),kFitOptimMaxLikelihood -alphaOptim - optimization of convergence algorithm, possible values kFitAlphaHalving, kFitAlphaOptimal -power - possible values kFitPower2,4,6,8,10,12, for details see references. It applies only for Awmi fitting function. -fitTaylor - order of Taylor expansion, possible values kFitTaylorOrderFirst, kFitTaylorOrderSecond. It applies only for Awmi fitting function.

Definition at line 3304 of file TSpectrumFit.cxx.

void TSpectrumFit::SetPeakParameters ( Double_t  sigma,
Bool_t  fixSigma,
const Double_t positionInit,
const Bool_t fixPosition,
const Double_t ampInit,
const Bool_t fixAmp 
)

SETTER FUNCTION.

This function sets the following fitting parameters of peaks: -sigma - initial value of sigma parameter -fixSigma - logical value of sigma parameter, which allows to fix the parameter (not to fit) -positionInit - aray of initial values of peaks positions -fixPosition - array of logical values which allow to fix appropriate positions (not fit). However they are present in the estimated functional. -ampInit - aray of initial values of peaks amplitudes -fixAmp - aray of logical values which allow to fix appropriate amplitudes (not fit). However they are present in the estimated functional

Definition at line 3356 of file TSpectrumFit.cxx.

void TSpectrumFit::SetTailParameters ( Double_t  tInit,
Bool_t  fixT,
Double_t  bInit,
Bool_t  fixB,
Double_t  sInit,
Bool_t  fixS 
)

SETTER FUNCTION.

This function sets the following fitting parameters of tails of peaks -tInit - initial value of t parameter -fixT - logical value of t parameter, which allows to fix the parameter (not to fit) -bInit - initial value of b parameter -fixB - logical value of b parameter, which allows to fix the parameter (not to fit) -sInit - initial value of s parameter -fixS - logical value of s parameter, which allows to fix the parameter (not to fit)

Definition at line 3418 of file TSpectrumFit.cxx.

Double_t TSpectrumFit::Shape ( Int_t  num_of_fitted_peaks,
Double_t  i,
const Double_t parameter,
Double_t  sigma,
Double_t  t,
Double_t  s,
Double_t  b,
Double_t  a0,
Double_t  a1,
Double_t  a2 
)
protected

AUXILIARY FUNCTION // // This function calculates peaks shape function (see manual) // Function parameters: // -num_of_fitted_peaks-number of fitted peaks // -i-channel // -parameter-array of peaks parameters (amplitudes and positions) // -sigma-sigma of peak // -t, s-relative amplitudes // -b-slope // -a0, a1, a2- background coefficients // //.

Definition at line 637 of file TSpectrumFit.cxx.

Referenced by FitAwmi(), and FitStiefel().

void TSpectrumFit::StiefelInversion ( Double_t **  a,
Int_t  size 
)
protected

AUXILIARY FUNCTION // // This function calculates solution of the system of linear equations.

// The matrix a should have a dimension size*(size+4) // The calling function should fill in the matrix, the column size should // contain vector y (right side of the system of equations). The result is // placed into size+1 column of the matrix. // according to sigma of peaks. // Function parameters: // -a-matrix with dimension size*(size+4) // // -size-number of rows of the matrix // //

Definition at line 2253 of file TSpectrumFit.cxx.

Referenced by FitStiefel().

Member Data Documentation

Double_t TSpectrumFit::fA0Calc
protected

Definition at line 65 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA0Err
protected

Definition at line 66 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA0Init
protected

Definition at line 64 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA1Calc
protected

Definition at line 68 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA1Err
protected

Definition at line 69 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA1Init
protected

Definition at line 67 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA2Calc
protected

Definition at line 71 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA2Err
protected

Definition at line 72 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fA2Init
protected

Definition at line 70 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fAlpha
protected

Definition at line 42 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fAlphaOptim
protected

Definition at line 39 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), and TSpectrumFit().

Double_t* TSpectrumFit::fAmpCalc
protected

Definition at line 48 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetAmplitudes(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fAmpErr
protected

Definition at line 49 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetAmplitudesErrors(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fAmpInit
protected

Definition at line 47 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fArea
protected

Definition at line 50 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetAreas(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fAreaErr
protected

Definition at line 51 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetAreasErrors(), TSpectrumFit(), and ~TSpectrumFit().

Double_t TSpectrumFit::fBCalc
protected

Definition at line 59 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fBErr
protected

Definition at line 60 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fBInit
protected

Definition at line 58 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fChi
protected

Definition at line 43 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetChi(), and TSpectrumFit().

Int_t TSpectrumFit::fFitTaylor
protected

Definition at line 41 of file TSpectrumFit.h.

Referenced by FitAwmi(), SetFitParameters(), and TSpectrumFit().

Bool_t TSpectrumFit::fFixA0
protected

Definition at line 79 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Bool_t TSpectrumFit::fFixA1
protected

Definition at line 80 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Bool_t TSpectrumFit::fFixA2
protected

Definition at line 81 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetBackgroundParameters(), and TSpectrumFit().

Bool_t* TSpectrumFit::fFixAmp
protected

Definition at line 74 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), TSpectrumFit(), and ~TSpectrumFit().

Bool_t TSpectrumFit::fFixB
protected

Definition at line 77 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Bool_t* TSpectrumFit::fFixPosition
protected

Definition at line 73 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), TSpectrumFit(), and ~TSpectrumFit().

Bool_t TSpectrumFit::fFixS
protected

Definition at line 78 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Bool_t TSpectrumFit::fFixSigma
protected

Definition at line 75 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), and TSpectrumFit().

Bool_t TSpectrumFit::fFixT
protected

Definition at line 76 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fNPeaks
protected

Definition at line 34 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fNumberIterations
protected

Definition at line 35 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), and TSpectrumFit().

Double_t* TSpectrumFit::fPositionCalc
protected

Definition at line 45 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetPositions(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fPositionErr
protected

Definition at line 46 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetPositionsErrors(), TSpectrumFit(), and ~TSpectrumFit().

Double_t* TSpectrumFit::fPositionInit
protected

Definition at line 44 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), TSpectrumFit(), and ~TSpectrumFit().

Int_t TSpectrumFit::fPower
protected

Definition at line 40 of file TSpectrumFit.h.

Referenced by FitAwmi(), SetFitParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fSCalc
protected

Definition at line 62 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fSErr
protected

Definition at line 63 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fSigmaCalc
protected

Definition at line 53 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetSigma(), and TSpectrumFit().

Double_t TSpectrumFit::fSigmaErr
protected

Definition at line 54 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetSigma(), and TSpectrumFit().

Double_t TSpectrumFit::fSigmaInit
protected

Definition at line 52 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetPeakParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fSInit
protected

Definition at line 61 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fStatisticType
protected

Definition at line 38 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fTCalc
protected

Definition at line 56 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fTErr
protected

Definition at line 57 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), GetTailParameters(), and TSpectrumFit().

Double_t TSpectrumFit::fTInit
protected

Definition at line 55 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetTailParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fXmax
protected

Definition at line 37 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), SetPeakParameters(), and TSpectrumFit().

Int_t TSpectrumFit::fXmin
protected

Definition at line 36 of file TSpectrumFit.h.

Referenced by FitAwmi(), FitStiefel(), SetFitParameters(), SetPeakParameters(), and TSpectrumFit().


The documentation for this class was generated from the following files: