GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
TGo4Fitter Class Reference

#include <TGo4Fitter.h>

+ Inheritance diagram for TGo4Fitter:

Public Types

enum  {
  ff_least_squares = 0, ff_chi_square = 1, ff_chi_Pearson = 2, ff_chi_Neyman = 3,
  ff_chi_gamma = 4, ff_ML_Poisson = 5, ff_user = 6
}
 

Public Member Functions

 TGo4Fitter ()
 
 TGo4Fitter (const char *iName, const char *iTitle)
 
 TGo4Fitter (const char *iName, Int_t iFitFunctionType, Bool_t IsAddStandardActions)
 
virtual ~TGo4Fitter ()
 
void SetFitFunctionType (Int_t iFitFunctionType)
 
Int_t GetFitFunctionType ()
 
void SetUserFitFunction (TUserFitFunction iFunc)
 
void SetMemoryUsage (Int_t iMemoryUsage)
 
Int_t GetMemoryUsage ()
 
virtual void Clear (Option_t *option=0)
 
Int_t GetNumData () const
 
TGo4FitDataGetData (Int_t n)
 
const char * GetDataName (Int_t n)
 
TGo4FitDataFindData (const char *DataName)
 
TGo4FitDataAddData (TGo4FitData *d)
 
TGo4FitDataHistogramAddH1 (const char *DataName, TH1 *histo, Bool_t Owned=kFALSE, Double_t lrange=0., Double_t rrange=0.)
 
TGo4FitDataHistogramSetH1 (const char *DataName, TH1 *histo, Bool_t Owned=kFALSE)
 
TGo4FitDataGraphAddGraph (const char *DataName, TGraph *gr, Bool_t Owned=kFALSE, Double_t lrange=0., Double_t rrange=0.)
 
TGo4FitDataGraphSetGraph (const char *DataName, TGraph *gr, Bool_t Owned=kFALSE)
 
TGo4FitDataRemoveData (const char *DataName, Bool_t IsDel=kFALSE)
 
void DeleteAllData ()
 
Int_t GetNumModel () const
 
TGo4FitModelGetModel (Int_t n)
 
TGo4FitModelFindModel (const char *ModelName)
 
TGo4FitModelAddModel (TGo4FitModel *m)
 
TGo4FitModelAddModel (const char *DataName, TGo4FitModel *m)
 
void AddPolynomX (const char *DataName, const char *NamePrefix, Int_t MaxOrder=1, Int_t GroupIndex=0, Double_t lrange=0., Double_t rrange=0.)
 
void AddPolynomX (const char *DataName, const char *NamePrefix, TArrayD &Coef, Int_t GroupIndex=0)
 
void AddPolynoms (const char *DataName, const char *NamePrefix, Int_t MaxOrder=1, Int_t NumAxis=1, Int_t GroupIndex=0)
 
TGo4FitModelGauss1AddGauss1 (const char *DataName, const char *ModelName, Double_t iPosition, Double_t iWidth, Double_t iAmpl=1., Int_t Axis=0)
 
Int_t NumModelsAssosiatedTo (const char *DataName)
 
TGo4FitModelCloneModel (const char *ModelName, const char *NewName=0)
 
TGo4FitModelRemoveModel (const char *ModelName, Bool_t IsDel=kFALSE)
 
void DeleteModelsAssosiatedTo (const char *DataName)
 
void DeleteAllModels ()
 
void AssignModelTo (const char *ModelName, const char *DataName, Double_t RatioValue=1., Bool_t FixRatio=kFALSE)
 
void ClearModelAssignmentTo (const char *ModelName, const char *DataName=0)
 
void ChangeDataNameInAssignments (const char *oldname, const char *newname)
 
Int_t GetNumComp () const
 
TGo4FitComponentGetComp (Int_t n)
 
void EstimateAmplitudes (Int_t NumIters=1)
 
void AddAmplEstimation (Int_t NumIters=1)
 
void AddStandardActions ()
 
Double_t CalculateFitFunction (Double_t *pars=0, Int_t FitFunctionType=-1, const char *DataName=0)
 
Int_t CalculateNDF (const char *DataName=0)
 
virtual void FillSlotList (TSeqCollection *list)
 
virtual void Print (Option_t *option) const
 
Bool_t CalculatesMomentums (const char *DataName, Bool_t UseRanges, Bool_t SubstractModels, Double_t &first, Double_t &second)
 
Double_t CalculatesIntegral (const char *DataName, const char *ModelName=0, Bool_t OnlyCounts=kFALSE)
 
Double_t CalculatesModelIntegral (const char *ModelName, Bool_t OnlyCounts=kFALSE)
 
TObject * CreateDrawObject (const char *ObjName, const char *DataName, Bool_t IsModel=kFALSE, const char *ModelName=0)
 
virtual void Draw (Option_t *option)
 
void ProvideLastDrawObjects (TObjArray &lst)
 
void PrintAmpls () const
 
void PrintLines () const
 
TString FindNextName (const char *Head, Int_t start, Bool_t isModel=kTRUE)
 
- Public Member Functions inherited from TGo4FitterAbstract
 TGo4FitterAbstract ()
 
 TGo4FitterAbstract (const char *iName, const char *iTitle)
 
virtual ~TGo4FitterAbstract ()
 
virtual Int_t NumPars ()
 
void SetParsListChange ()
 
void CopyParsValuesFrom (TGo4FitterAbstract *fitter)
 
virtual Bool_t GetParFixed (const char *ParName)
 
virtual Bool_t GetParRange (const char *ParName, Double_t &RangeMin, Double_t &RangeMax)
 
virtual Bool_t GetParEpsilon (const char *ParName, Double_t &Epsilon)
 
Bool_t IsSuitableConfig (TGo4FitterConfig *Config)
 
Bool_t ApplyConfig (TGo4FitterConfig *Config)
 
Double_t CalculateFitFunction (Double_t *pars=0)
 
void AddAction (TGo4FitterAction *Action)
 
void AddActionAt (TGo4FitterAction *Action, Int_t indx)
 
Int_t GetNumActions ()
 
TGo4FitterActionGetAction (Int_t num)
 
void DeleteActions ()
 
void DeleteAction (TGo4FitterAction *action)
 
void ReplaceAction (TGo4FitterAction *action, Int_t dir)
 
void DoActions (Bool_t AllowFitterChange=kFALSE, TObjArray *Actions=0)
 
void DoAction (TGo4FitterAction *Action)
 
void DoAction (Int_t indx)
 
TObjArray * ProcessObjects (TObjArray *objs, Bool_t CloneFitter=kTRUE, Bool_t OnlyRequired=kTRUE, TObjArray *rownames=0, TObjArray *colnames=0)
 
void AddSimpleMinuit ()
 
TGo4FitterOutputAddOutputAction (const char *Action, const char *Option=0)
 
void DeleteOutputActions ()
 
Int_t NeedPadsNumber ()
 
void SetPad (Int_t indx, TVirtualPad *pad)
 
Bool_t IsParsAsResults ()
 
Int_t GetNumResults () const
 
Double_t GetResultValue (Int_t n) const
 
Double_t GetResultFF () const
 
Int_t GetResultNDF () const
 
const TArrayD * GetResults ()
 
void PrintResults () const
 
- Public Member Functions inherited from TGo4FitParsList
 TGo4FitParsList ()
 
 TGo4FitParsList (Bool_t IsParsOwned)
 
 TGo4FitParsList (const char *Name, const char *Title, Bool_t IsParsOwned)
 
virtual ~TGo4FitParsList ()
 
TGo4FitParameterGetPar (Int_t n)
 
Int_t GetParIndex (const TGo4FitParameter *par)
 
TGo4FitParameterFindPar (const char *ParName)
 
TGo4FitParameterFindPar (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFindPar (TGo4FitParameter *par)
 
Double_t GetParValue (const char *ParName)
 
Bool_t SetParValue (const char *ParName, Double_t iValue)
 
void GetParsValues (Double_t *pars)
 
void SetParsValues (Double_t *pars)
 
Double_t GetParError (const char *ParName)
 
Bool_t SetParError (const char *ParName, Double_t iError)
 
virtual Bool_t SetParFixed (const char *ParName, Bool_t iFixed=kTRUE)
 
Int_t NumFixedPars ()
 
Int_t NumFreePars ()
 
virtual Bool_t SetParRange (const char *ParName, Double_t RangeMin, Double_t RangeMax)
 
virtual Bool_t SetParEpsilon (const char *ParName, Double_t Epsilon)
 
void SetParName (Int_t n, const char *name)
 
const char * GetParName (Int_t n)
 
const char * GetParFullName (Int_t n)
 
void SetParsNames (const char *name0="Par0", const char *name1="Par1", const char *name2="Par2", const char *name3="Par3", const char *name4="Par4", const char *name5="Par5", const char *name6="Par6", const char *name7="Par7", const char *name8="Par8", const char *name9="Par9")
 
void SetParsValues (Double_t par0=0., Double_t par1=0., Double_t par2=0., Double_t par3=0., Double_t par4=0., Double_t par5=0., Double_t par6=0., Double_t par7=0., Double_t par8=0., Double_t par9=0.)
 
virtual void MemorizePars ()
 
virtual bool CanRollbackPars ()
 
virtual void RememberPars ()
 
Bool_t IsAllParsFixed ()
 
TGo4FitParameterCreatePar (const char *ParName, const char *Title, Double_t iValue=0)
 
Bool_t RemovePar (const char *name)
 
Bool_t RemovePar (TGo4FitParameter *par)
 
void PrintPars () const
 
virtual void CollectParsTo (TGo4FitParsList &list)
 
void ClearPars ()
 
- Public Member Functions inherited from TGo4FitNamed
 TGo4FitNamed ()
 
 TGo4FitNamed (const char *Name, const char *Title, TNamed *Owner=0)
 
virtual ~TGo4FitNamed ()
 
const char * GetFullName ()
 
const char * GetOwnerFullName ()
 
void SetOwner (TNamed *iOwner)
 
TNamed * GetOwner ()
 
void Print (Option_t *option) const
 
- Public Member Functions inherited from TGo4FitSlotList
 TGo4FitSlotList ()
 
virtual ~TGo4FitSlotList ()
 
void SetUpdateSlotList ()
 
const TObjArray * GetSlotList (Bool_t ForceUpdate=kFALSE)
 
Int_t NumSlots ()
 
TGo4FitSlotGetSlot (Int_t nslot)
 
TGo4FitSlotFindSlot (const char *FullSlotName)
 
Bool_t ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2)
 
Bool_t ConnectSlots (const char *Slot1FullName, const char *Slot2FullName)
 
TGo4FitSlotSetObject (TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotSetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotIsObjectInSlots (TObject *obj)
 
Bool_t CheckObjects (Bool_t MakeOut=kTRUE)
 
Bool_t IsEmptySlots ()
 
void ClearObjects (const char *PlaceName=0, Bool_t NonOwned=kTRUE)
 
void ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned)
 
void SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=0)
 

Protected Member Functions

Bool_t ModelBuffersAllocated (TGo4FitModel *model)
 
Bool_t DataBuffersAllocated (TGo4FitData *data)
 
Int_t GetDataBinsSize (TGo4FitData *data)
 
Double_t * GetDataBinsValues (TGo4FitData *data)
 
Double_t * GetDataBinsDevs (TGo4FitData *data)
 
Double_t * GetDataBinsResult (TGo4FitData *data)
 
Double_t * GetModelBinsValues (TGo4FitModel *model, const char *DataName)
 
void RebuildAll (Bool_t ForceBuild=kFALSE)
 
virtual void CollectAllPars ()
 
virtual Double_t DoCalculation ()
 
virtual Int_t DoNDFCalculation ()
 
Double_t CalculateFCN (Int_t FitFunctionType, TGo4FitData *selectdata=0)
 
Double_t PointFitFunction (Int_t FitFunctionType, Double_t value, Double_t modelvalue, Double_t standdev)
 
virtual Bool_t InitFitterData ()
 
virtual void FinalizeFitterData ()
 
- Protected Member Functions inherited from TGo4FitterAbstract
virtual Bool_t Initialize ()
 
Bool_t IsInitialized ()
 
virtual void Finalize ()
 
virtual TGo4FitParameterGet (Int_t n)
 
void CheckParsListChanging ()
 
Bool_t InitializeDependencies (TObjArray &Dependencies, Bool_t BlockPars, Bool_t DoInit)
 
void RunDependenciesList (TObjArray &Dependencies, Double_t *pars)
 
void FinalizeDependencies (TObjArray &Dependencies)
 
void ExecuteDependencies (Double_t *pars)
 
- Protected Member Functions inherited from TGo4FitParsList
TGo4FitParameterAddPar (TGo4FitParameter *par)
 
TGo4FitParameterInsertPar (TGo4FitParameter *par, Int_t indx)
 
void SetParsOwner (TGo4FitNamed *iOwner)
 
void ClearParsBlocking ()
 
TGo4FitParameterFind (const char *ParName)
 
TGo4FitParameterFind (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFind (TGo4FitParameter *par)
 
Bool_t RemoveParByIndex (Int_t indx)
 
- Protected Member Functions inherited from TGo4FitSlotList
void CheckDuplicatesOnSlot ()
 
void PrepareSlotsForWriting ()
 
 ClassDef (TGo4FitSlotList, 1)
 

Protected Attributes

TObjArray fxDatas
 
TObjArray fxModels
 
Int_t fiFitFunctionType
 
Int_t fiMemoryUsage
 
- Protected Attributes inherited from TGo4FitterAbstract
TObjArray fxActions
 
TArrayD fxResults
 
TGo4FitterConfigfxCurrentConfig
 
Bool_t fbParsChange
 
Bool_t fbInitializationDone
 
Bool_t fbNeedToFinalize
 
Bool_t fbParsAsResults
 
- Protected Attributes inherited from TGo4FitSlotList
TObjArray * fxSlotList
 
Bool_t fbUpdateSlotList
 

Private Member Functions

void MoveDrawObjectsToROOT ()
 
void CheckSlotsBeforeDelete (TGo4FitComponent *comp)
 

Private Attributes

TUserFitFunction fxUserFitFunction
 
TObjArray * fxDrawObjs
 

Friends

class TGo4FitAmplEstimation
 

Detailed Description

Central class of Go4Fit package.

Definition at line 37 of file TGo4Fitter.h.

Member Enumeration Documentation

anonymous enum
Enumerator
ff_least_squares 
ff_chi_square 
ff_chi_Pearson 
ff_chi_Neyman 
ff_chi_gamma 
ff_ML_Poisson 
ff_user 

Definition at line 39 of file TGo4Fitter.h.

Constructor & Destructor Documentation

TGo4Fitter::TGo4Fitter ( )

Default constructor.

Definition at line 41 of file TGo4Fitter.cxx.

TGo4Fitter::TGo4Fitter ( const char *  iName,
const char *  iTitle 
)

Creates TGo4Fitter object and sets name and title.

Definition at line 48 of file TGo4Fitter.cxx.

References fxDatas, and fxModels.

TGo4Fitter::TGo4Fitter ( const char *  iName,
Int_t  iFitFunctionType,
Bool_t  IsAddStandardActions 
)

Creates TGo4Fitter object and set type of fit function. If AddStandardActions flag is set,

Definition at line 56 of file TGo4Fitter.cxx.

References AddStandardActions(), fxDatas, fxModels, and SetFitFunctionType().

TGo4Fitter::~TGo4Fitter ( )
virtual

Destructor. Delete TGo4Fitter object.

Definition at line 66 of file TGo4Fitter.cxx.

References TGo4FitSlotList::CheckDuplicatesOnSlot(), and MoveDrawObjectsToROOT().

Member Function Documentation

void TGo4Fitter::AddAmplEstimation ( Int_t  NumIters = 1)

Add amplitude estimation to actions list.

Definition at line 654 of file TGo4Fitter.cxx.

References TGo4FitterAbstract::AddAction(), and TGo4FitAmplEstimation.

Referenced by AddStandardActions(), BuildFitter(), TGo4FitPanel::Button_PerformFit(), and TGo4FitPanel::Cmd_AddNewAction().

TGo4FitData * TGo4Fitter::AddData ( TGo4FitData d)

Add data object to fitter. Data object owned by fitter and will be destroyed together with fitter.

Definition at line 118 of file TGo4Fitter.cxx.

References fxDatas, TGo4FitterAbstract::SetParsListChange(), and TGo4FitSlotList::SetUpdateSlotList().

Referenced by AddGraph(), AddH1(), BuildFitter(), TGo4FitPanel::Cmd_AddNewData(), TGo4FitPanel::CreateDataFor(), Example13(), Example8(), Example9(), and TGo4FitPanel::Wiz_CreateNewData().

TGo4FitModelGauss1 * TGo4Fitter::AddGauss1 ( const char *  DataName,
const char *  ModelName,
Double_t  iPosition,
Double_t  iWidth,
Double_t  iAmpl = 1.,
Int_t  Axis = 0 
)
TGo4FitDataGraph * TGo4Fitter::AddGraph ( const char *  DataName,
TGraph *  gr,
Bool_t  Owned = kFALSE,
Double_t  lrange = 0.,
Double_t  rrange = 0. 
)

Create TGo4FitDataGraph object and adds its to fitter.

Definition at line 142 of file TGo4Fitter.cxx.

References AddData(), and TGo4FitComponent::SetRange().

Referenced by Example12(), and TXXXCalibPar::TXXXCalibPar().

TGo4FitDataHistogram * TGo4Fitter::AddH1 ( const char *  DataName,
TH1 *  histo,
Bool_t  Owned = kFALSE,
Double_t  lrange = 0.,
Double_t  rrange = 0. 
)

Create TGo4FitDataHistogram object and adds its to fitter.

Definition at line 126 of file TGo4Fitter.cxx.

References AddData(), and TGo4FitComponent::SetRange().

Referenced by Example1(), Example10(), Example11(), Example2(), Example3(), Example4(), Example5(), and TXXXCalibPar::TXXXCalibPar().

TGo4FitModel * TGo4Fitter::AddModel ( TGo4FitModel m)

Add model component to fitter. Model already should be assigned to at least one data object.

Definition at line 203 of file TGo4Fitter.cxx.

References fxModels, TGo4FitterAbstract::SetParsListChange(), and TGo4FitSlotList::SetUpdateSlotList().

Referenced by AddGauss1(), AddPolynoms(), AddPolynomX(), BuildFitter(), CloneModel(), TGo4FitPanel::CreateModel(), Example10(), Example13(), Example2(), Example3(), Example4(), Example8(), and Example9().

TGo4FitModel * TGo4Fitter::AddModel ( const char *  DataName,
TGo4FitModel m 
)

Add model component to fitter and assign it to specified data object.

Definition at line 211 of file TGo4Fitter.cxx.

References TGo4FitModel::AssignToData(), fxModels, TGo4FitterAbstract::SetParsListChange(), and TGo4FitSlotList::SetUpdateSlotList().

void TGo4Fitter::AddPolynoms ( const char *  DataName,
const char *  NamePrefix,
Int_t  MaxOrder = 1,
Int_t  NumAxis = 1,
Int_t  GroupIndex = 0 
)

Construct full polynom for specified data object. NamePrefix sets prefix of model name for each polynom component. MaxOrder sets maximum order of polynom (default =1 ) NumAxis sets number of axis, for which polynom will be sets GroupIndex sets index of models group for all polynomial components (default = 0 - background group)

Definition at line 297 of file TGo4Fitter.cxx.

References AddModel(), FindModel(), and TGo4FitModel::SetGroupIndex().

Referenced by TGo4FitPanel::Button_SimpleFit(), and TGo4FitPanel::CreateModel().

void TGo4Fitter::AddPolynomX ( const char *  DataName,
const char *  NamePrefix,
Int_t  MaxOrder = 1,
Int_t  GroupIndex = 0,
Double_t  lrange = 0.,
Double_t  rrange = 0. 
)

Construct 1-dim polynom for specified data object for x scale. NamePrefix sets prefix of model name for each polynom component. MaxOrder sets maximum order of polynom (default =1 ) NumAxis sets number of axis, for which polynom will be sets GroupIndex sets index of models group for all polyn components (default = 0 - background group) lbound and rbound sets range, where polynom will be calculated

Definition at line 225 of file TGo4Fitter.cxx.

References AddModel(), FindModel(), TGo4FitModel::SetGroupIndex(), and TGo4FitComponent::SetRange().

Referenced by Example1(), Example10(), Example12(), Example2(), Example3(), Example4(), Example5(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitPeakFinder::ROOTPeakFinder(), TGo4FitPeakFinder::SergeyLinevPeakFinder(), and TXXXCalibPar::TXXXCalibPar().

void TGo4Fitter::AddPolynomX ( const char *  DataName,
const char *  NamePrefix,
TArrayD &  Coef,
Int_t  GroupIndex = 0 
)

Construct 1-dim polynom with specified polynom coefficients NamePrefix sets prefix of model name for each polynom component. GroupIndex sets index of models group for all polynomial components (default = 0 - background group)

Definition at line 262 of file TGo4Fitter.cxx.

References AddModel(), FindModel(), TGo4FitComponent::SetAmplValue(), and TGo4FitModel::SetGroupIndex().

void TGo4Fitter::AddStandardActions ( )

Add list of standard actions to fitter. Now : AmplEstimate action and Minuit minimizer with "MIGRAD 500 1" command.

Definition at line 659 of file TGo4Fitter.cxx.

References AddAmplEstimation(), and TGo4FitterAbstract::AddSimpleMinuit().

Referenced by BuildFitter(), TGo4FitPanel::Button_PerformFit(), TGo4FitPanel::CreateFitterFor(), and TGo4Fitter().

void TGo4Fitter::AssignModelTo ( const char *  ModelName,
const char *  DataName,
Double_t  RatioValue = 1.,
Bool_t  FixRatio = kFALSE 
)

Assign model to specified data object. When model assigns to more then one data, additional "Ratio1", "Ratio2" and so on parameters will be created. They means ratio in amplitude of model component in this data to amplitude of this component in data, to wich model was assigned first. By default, this ratio is 1. and not fixed.

Definition at line 424 of file TGo4Fitter.cxx.

References TGo4FitModel::AssignToData(), TGo4FitModel::ClearAssignments(), FindModel(), GetData(), GetNumData(), and TGo4FitterAbstract::SetParsListChange().

Referenced by TGo4FitPanel::Cmd_AssignModelToAllData(), TGo4FitPanel::Cmd_AssignModelToData(), TGo4FitPanel::Wiz_ModelList_itemChanged(), and TGo4FitPanel::Wiz_ModelListSelect().

Double_t TGo4Fitter::CalculateFCN ( Int_t  FitFunctionType,
TGo4FitData selectdata = 0 
)
protected
Double_t TGo4Fitter::CalculateFitFunction ( Double_t *  pars = 0,
Int_t  FitFunctionType = -1,
const char *  DataName = 0 
)

Calculate value of fit function for given set of parameters and specified type of fit function (it can not correspond to minimized fit function type). If DataName not specified (default), fitfunction calculates for all data objects.

Definition at line 582 of file TGo4Fitter.cxx.

References CalculateFCN(), TGo4FitterAbstract::ExecuteDependencies(), FindData(), GetFitFunctionType(), and TGo4FitParsList::SetParsValues().

Int_t TGo4Fitter::CalculateNDF ( const char *  DataName = 0)

Calculates number of degree of freedom (NDF). If DataName not specified (default), NDF calculates for all data objects. NDF defined as total number of bins in data object minus number of variable parameters.

Definition at line 595 of file TGo4Fitter.cxx.

References TGo4FitData::DefineBinsSize(), FindData(), GetData(), GetModel(), GetNumData(), GetNumModel(), TGo4FitModel::IsAssignTo(), and TGo4FitParsList::NumFreePars().

Referenced by DoNDFCalculation().

Double_t TGo4Fitter::CalculatesIntegral ( const char *  DataName,
const char *  ModelName = 0,
Bool_t  OnlyCounts = kFALSE 
)
Double_t TGo4Fitter::CalculatesModelIntegral ( const char *  ModelName,
Bool_t  OnlyCounts = kFALSE 
)

Calculates integral of model (if ModelName is specified) if OnlyCounts specified, only sum of values in bins position are calculated

Definition at line 846 of file TGo4Fitter.cxx.

References TGo4FitModel::AssignmentName(), CalculatesIntegral(), and FindModel().

Referenced by TGo4FitPanel::FillParsTable().

Bool_t TGo4Fitter::CalculatesMomentums ( const char *  DataName,
Bool_t  UseRanges,
Bool_t  SubstractModels,
Double_t &  first,
Double_t &  second 
)
void TGo4Fitter::ChangeDataNameInAssignments ( const char *  oldname,
const char *  newname 
)

Change data name in model component assignments. This function should be used, if data name is changing out of the fitter.

Definition at line 448 of file TGo4Fitter.cxx.

References TGo4FitModel::ChangeDataNameInAssignments(), GetModel(), and GetNumModel().

Referenced by TGo4FitPanel::ChangeObjectName(), and TGo4FitPanel::Wiz_DataList_doubleClicked().

void TGo4Fitter::CheckSlotsBeforeDelete ( TGo4FitComponent comp)
private
void TGo4Fitter::Clear ( Option_t *  option = 0)
virtual

Remove all data, all models and all actions

Reimplemented from TGo4FitterAbstract.

Definition at line 96 of file TGo4Fitter.cxx.

References TGo4FitterAbstract::Clear(), DeleteAllData(), and DeleteAllModels().

Referenced by TGo4FitterEnvelope::Clear(), and TGo4FitPanel::Cmd_ClearFitter().

void TGo4Fitter::ClearModelAssignmentTo ( const char *  ModelName,
const char *  DataName = 0 
)

Remove assignment to given data (if exists). If DataName==0, all assignments will be cleared.

Definition at line 439 of file TGo4Fitter.cxx.

References TGo4FitModel::ClearAssignments(), TGo4FitModel::ClearAssignmentTo(), FindModel(), and TGo4FitterAbstract::SetParsListChange().

Referenced by TGo4FitPanel::Wiz_ModelList_itemChanged(), and TGo4FitPanel::Wiz_ModelListSelect().

TGo4FitModel * TGo4Fitter::CloneModel ( const char *  ModelName,
const char *  NewName = 0 
)

Clones specified model.

Definition at line 355 of file TGo4Fitter.cxx.

References AddModel(), and FindModel().

Referenced by TGo4FitPanel::Cmd_CloneModel(), and TGo4FitPanel::Wiz_CloneModelBtn_clicked().

void TGo4Fitter::CollectAllPars ( )
protectedvirtual

Should collect parameters from all associated to fitter objects. This function should be extend in inherited classes.

Reimplemented from TGo4FitterAbstract.

Definition at line 79 of file TGo4Fitter.cxx.

References TGo4FitModel::AssignmentName(), TGo4FitterAbstract::CollectAllPars(), TGo4FitComponent::CollectParsTo(), FindData(), GetData(), GetModel(), GetNumData(), GetNumModel(), and TGo4FitModel::NumAssigments().

TObject * TGo4Fitter::CreateDrawObject ( const char *  ObjName,
const char *  DataName,
Bool_t  IsModel = kFALSE,
const char *  ModelName = 0 
)
Bool_t TGo4Fitter::DataBuffersAllocated ( TGo4FitData data)
protected
void TGo4Fitter::DeleteAllData ( )
void TGo4Fitter::DeleteAllModels ( )
void TGo4Fitter::DeleteModelsAssosiatedTo ( const char *  DataName)
Double_t TGo4Fitter::DoCalculation ( )
protectedvirtual

Calculates value of fit function according current values of parameters. Should be implemented in inherited classes.

Reimplemented from TGo4FitterAbstract.

Definition at line 617 of file TGo4Fitter.cxx.

References CalculateFCN(), and fiFitFunctionType.

Int_t TGo4Fitter::DoNDFCalculation ( )
protectedvirtual

Calculates number of dimensions of freedom; Should be implemented in inherited classes.

Reimplemented from TGo4FitterAbstract.

Definition at line 622 of file TGo4Fitter.cxx.

References CalculateNDF().

void TGo4Fitter::Draw ( Option_t *  option)
virtual

Draw fitter on current canvas. As options, data name(s) or component name(s) should be specified, separated by commas. For instance: Draw("data1") - draw data object with name "data1" and it's full model Draw("data1,Gauss1,Gauss2") - draw data object "data1", full model and model components with names "Gauss1" and "Gauss2" All objects is created via CreateDrawObject() method and stored in internal list. They will be moved to ROOT when fitter will be destroyed.

Definition at line 983 of file TGo4Fitter.cxx.

References CreateDrawObject(), FindModel(), fxDrawObjs, GetData(), GetDataName(), GetModel(), GetNumData(), GetNumModel(), TGo4FitModel::IsAssignTo(), MoveDrawObjectsToROOT(), and TGo4FitNamed::SetOwner().

Referenced by Example1(), Example10(), Example11(), Example12(), Example13(), Example2(), Example4(), Example5(), Example6(), and Example7().

void TGo4Fitter::EstimateAmplitudes ( Int_t  NumIters = 1)

Estimate amplitude of all model components. This routine typically should be executed before general minimization routine. To obtain good estimation of amplitudes, rest model parameters (like position and widths) should has good estimation, otherwise amplitude estimation routine gives unacceptable values.

Definition at line 648 of file TGo4Fitter.cxx.

References TGo4FitAmplEstimation::DoAction().

void TGo4Fitter::FillSlotList ( TSeqCollection *  list)
virtual

Collect all TGo4FitSlot objects, situated in fitter, data and models to givven TObjArray.

Reimplemented from TGo4FitSlotList.

Definition at line 665 of file TGo4Fitter.cxx.

References TGo4FitSlotList::FillSlotList(), GetComp(), and GetNumComp().

void TGo4Fitter::FinalizeFitterData ( )
protectedvirtual

Finalize fitter data. Called during Finalize() method. Should be reimplemented in derived classes.

Reimplemented from TGo4FitterAbstract.

Definition at line 484 of file TGo4Fitter.cxx.

References TGo4FitData::Finalize(), TGo4FitModel::Finalize(), GetData(), GetModel(), GetNumData(), and GetNumModel().

TGo4FitData * TGo4Fitter::FindData ( const char *  DataName)
TGo4FitModel * TGo4Fitter::FindModel ( const char *  ModelName)
TString TGo4Fitter::FindNextName ( const char *  Head,
Int_t  start,
Bool_t  isModel = kTRUE 
)
TGo4FitComponent * TGo4Fitter::GetComp ( Int_t  n)

Return TGo4FitComponent object with given index. If index < GetNumData() return data object, else return model component. If index not valid, return 0.

Definition at line 220 of file TGo4Fitter.cxx.

References GetData(), GetModel(), and GetNumData().

Referenced by FillSlotList().

TGo4FitData * TGo4Fitter::GetData ( Int_t  n)
Double_t * TGo4Fitter::GetDataBinsDevs ( TGo4FitData data)
protected

Definition at line 692 of file TGo4Fitter.cxx.

References TGo4FitData::GetBinsDevs().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

Double_t * TGo4Fitter::GetDataBinsResult ( TGo4FitData data)
protected

Definition at line 697 of file TGo4Fitter.cxx.

References TGo4FitData::GetBinsResult().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

Int_t TGo4Fitter::GetDataBinsSize ( TGo4FitData data)
protected

Definition at line 682 of file TGo4Fitter.cxx.

References TGo4FitData::GetBinsSize().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

Double_t * TGo4Fitter::GetDataBinsValues ( TGo4FitData data)
protected

Definition at line 687 of file TGo4Fitter.cxx.

References TGo4FitData::GetBinsValues().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

const char * TGo4Fitter::GetDataName ( Int_t  n)

Return name of data object with given index. If index not valid, return 0.

Definition at line 108 of file TGo4Fitter.cxx.

References GetData().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers(), TGo4FitPanel::Cmd_AssignModelToData(), Draw(), TGo4FitPanel::FillPopupForItem(), and TGo4FitPanel::UpdateWizDataList().

Int_t TGo4Fitter::GetFitFunctionType ( )
inline
Int_t TGo4Fitter::GetMemoryUsage ( )
inline

Return value of memory usage parameter. See SetMemoryUsage for detailed description.

Definition at line 113 of file TGo4Fitter.h.

References fiMemoryUsage.

Referenced by CalculateFCN(), and InitFitterData().

TGo4FitModel * TGo4Fitter::GetModel ( Int_t  n)
Double_t * TGo4Fitter::GetModelBinsValues ( TGo4FitModel model,
const char *  DataName 
)
protected

Definition at line 702 of file TGo4Fitter.cxx.

References TGo4FitModel::GetModelBins().

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

Int_t TGo4Fitter::GetNumComp ( ) const
inline

Return total number of TGo4FitComponent (data and model) objects in fitter. This is just a sum GetNumData()+GetNumModel().

Definition at line 281 of file TGo4Fitter.h.

References GetNumData(), and GetNumModel().

Referenced by FillSlotList(), and PrintAmpls().

Int_t TGo4Fitter::GetNumData ( ) const
inline
Int_t TGo4Fitter::GetNumModel ( ) const
inline
Bool_t TGo4Fitter::InitFitterData ( )
protectedvirtual

Initialize fitter data. Called during Initialize() method. Should be reimplemented in derived classes.

Reimplemented from TGo4FitterAbstract.

Definition at line 454 of file TGo4Fitter.cxx.

References TGo4FitModel::ConnectToDataIfAssigned(), ff_least_squares, ff_user, fiFitFunctionType, fxUserFitFunction, GetData(), GetMemoryUsage(), GetModel(), GetNumData(), GetNumModel(), TGo4FitData::Initialize(), and TGo4FitModel::Initialize().

Bool_t TGo4Fitter::ModelBuffersAllocated ( TGo4FitModel model)
protected
void TGo4Fitter::MoveDrawObjectsToROOT ( )
private

Definition at line 1183 of file TGo4Fitter.cxx.

References fxDrawObjs.

Referenced by Draw(), and ~TGo4Fitter().

Int_t TGo4Fitter::NumModelsAssosiatedTo ( const char *  DataName)

Counts models associated with specific data.

Definition at line 390 of file TGo4Fitter.cxx.

References GetModel(), GetNumModel(), and TGo4FitModel::IsAssignTo().

Double_t TGo4Fitter::PointFitFunction ( Int_t  FitFunctionType,
Double_t  value,
Double_t  modelvalue,
Double_t  standdev 
)
protected
void TGo4Fitter::Print ( Option_t *  option) const
virtual

Print containment of fitter. If option = "**", print also containment of all associated objects like histogram, calibrations and so on.

Reimplemented from TGo4FitterAbstract.

Definition at line 707 of file TGo4Fitter.cxx.

References ff_chi_gamma, ff_chi_Neyman, ff_chi_Pearson, ff_chi_square, ff_ML_Poisson, ff_user, fiFitFunctionType, fxDatas, fxModels, TGo4FitterAbstract::Print(), PrintAmpls(), PrintLines(), TGo4FitParsList::PrintPars(), and TGo4FitterAbstract::PrintResults().

Referenced by Example10(), Example11(), Example12(), Example13(), Example2(), Example4(), Example5(), Example7(), and Example8().

void TGo4Fitter::PrintAmpls ( ) const

Print value of all amplitude parameters.

Definition at line 1127 of file TGo4Fitter.cxx.

References TGo4FitComponent::GetAmplError(), TGo4FitComponent::GetAmplFullName(), TGo4FitComponent::GetAmplPar(), TGo4FitComponent::GetAmplValue(), and GetNumComp().

Referenced by Print().

void TGo4Fitter::PrintLines ( ) const

Print amplitude, position and width for each model components

Definition at line 1137 of file TGo4Fitter.cxx.

References TGo4FitComponent::GetAmplValue(), GetNumModel(), TGo4FitModel::GetPosition(), and TGo4FitModel::GetWidth().

Referenced by Print(), TYYYParameter::PrintParameter(), and TXXXCalibPar::UpdateFrom().

void TGo4Fitter::ProvideLastDrawObjects ( TObjArray &  lst)

Copy pointer on drawn object after last command to specified TObjArray. From this moment user should take care about proper destroying of this objects.

Definition at line 1174 of file TGo4Fitter.cxx.

References fxDrawObjs.

void TGo4Fitter::RebuildAll ( Bool_t  ForceBuild = kFALSE)
protected

Update all data objects and model components according to current parameters values. Only those objects will be recalculated, which parameters were changed after last recalculation. If ForceBuild flag is set (default = kFALSE), all objects will be recalculated anyway.

Definition at line 627 of file TGo4Fitter.cxx.

References TGo4FitModel::AddModelToDataResult(), TGo4FitData::BuffersAllocated(), TGo4FitData::GetBinsResult(), TGo4FitData::GetBinsSize(), GetData(), GetModel(), GetNumData(), GetNumModel(), TGo4FitModel::IsAssignTo(), and TGo4FitModel::RebuildShape().

Referenced by CalculateFCN(), and TGo4FitAmplEstimation::CalculateWithBuffers().

TGo4FitData * TGo4Fitter::RemoveData ( const char *  DataName,
Bool_t  IsDel = kFALSE 
)

Remove data object from fitter. If IsDel flag is set, object will be destroyed, otherwise (by default) function return pointer on this object.

Definition at line 172 of file TGo4Fitter.cxx.

References CheckSlotsBeforeDelete(), FindData(), fxDatas, TGo4FitterAbstract::SetParsListChange(), and TGo4FitSlotList::SetUpdateSlotList().

Referenced by TGo4FitPanel::Cmd_DeleteData(), and TGo4FitPanel::Wiz_RemoveData().

TGo4FitModel * TGo4Fitter::RemoveModel ( const char *  ModelName,
Bool_t  IsDel = kFALSE 
)

Remove model component from fitter. If IsDel flag specified, component is delete, otherwise (by default) function return pointer on this model component.

Definition at line 377 of file TGo4Fitter.cxx.

References CheckSlotsBeforeDelete(), FindModel(), fxModels, TGo4FitterAbstract::SetParsListChange(), and TGo4FitSlotList::SetUpdateSlotList().

Referenced by TGo4FitPanel::Cmd_RemoveModel(), and TGo4FitPanel::Wiz_DelModelBtn_clicked().

void TGo4Fitter::SetFitFunctionType ( Int_t  iFitFunctionType)
inline

Set fitted function type for minimization. Possible values are: TGo4Fitter:ff_least_squares = 0 sum of difference squares between model and data; TGo4Fitter:ff_chi_square = 1 standard chi-square sum TGo4Fitter:ff_chi_Pearson = 2 Pearson chi-square for Poisson statistic TGo4Fitter:ff_chi_Neyman = 3 modified Neyman chi-square for Poisson statistic TGo4Fitter:ff_chi_gamma = 4 modified chi-square for Poisson statistic TGo4Fitter:ff_ML_Poisson = 5 -2Ln from maximum likelihood function for Poisson statistic TGo4Fitter:ff_user = 6 user function User function type should not be specified directly, but using SetUserFitFunction() method. More information about fit function types can be found in Go4Fit tutorial.

Definition at line 80 of file TGo4Fitter.h.

References fiFitFunctionType.

Referenced by TGo4FitPanel::CreateFitterFor(), QFitterWidget::FitFunctionTypeCmb_activated(), TGo4Fitter(), and TGo4FitPanel::Wiz_FitFuncCmb_activated().

TGo4FitDataGraph * TGo4Fitter::SetGraph ( const char *  DataName,
TGraph *  gr,
Bool_t  Owned = kFALSE 
)

Set graph to existing TGo4FitDataGraph object

Definition at line 150 of file TGo4Fitter.cxx.

References FindData(), and TGo4FitDataGraph::SetGraph().

TGo4FitDataHistogram * TGo4Fitter::SetH1 ( const char *  DataName,
TH1 *  histo,
Bool_t  Owned = kFALSE 
)

Set histogram to existing TGo4FitDataHistogram object

Definition at line 134 of file TGo4Fitter.cxx.

References FindData(), and TGo4FitDataHistogram::SetHistogram().

Referenced by TXXXCalibPar::SetCalibSpectrum().

void TGo4Fitter::SetMemoryUsage ( Int_t  iMemoryUsage)

Set value of memory usage. This parameter can be: 0 - no additional memory will be allocated in buffers 1 - buffers will be allocated only for data objects 2 - buffers will be used for all data and models objects 3 - individual setup for data and model objects will be used for memory allocaions

Definition at line 72 of file TGo4Fitter.cxx.

References fiMemoryUsage.

Referenced by BuildFitter(), TGo4FitPanel::Button_PeakFinder(), TGo4FitPanel::Button_PerformFit(), TGo4FitPanel::Button_SimpleFit(), TGo4FitPanel::CreateFitterFor(), Example13(), and Example8().

void TGo4Fitter::SetUserFitFunction ( TUserFitFunction  iFunc)
inline

Set user-defined fitted function. Function should be global and has following signature: Double_t (TUserFitFunction)(Int_t, Double_t, Double_t*) First parameter - number of points, Second - array of data points, Third - array of model points. Function should return value, which will be MINIMIZED by fitter. If necessary maximization, fit function should return negative value.

Definition at line 97 of file TGo4Fitter.h.

References ff_user, fiFitFunctionType, and fxUserFitFunction.

Friends And Related Function Documentation

friend class TGo4FitAmplEstimation
friend

Definition at line 385 of file TGo4Fitter.h.

Referenced by AddAmplEstimation().

Member Data Documentation

Int_t TGo4Fitter::fiFitFunctionType
protected

Defines type of fitted function.

Definition at line 429 of file TGo4Fitter.h.

Referenced by DoCalculation(), GetFitFunctionType(), InitFitterData(), Print(), SetFitFunctionType(), and SetUserFitFunction().

Int_t TGo4Fitter::fiMemoryUsage
protected

Defines use of memory during actions executions.

Definition at line 434 of file TGo4Fitter.h.

Referenced by GetMemoryUsage(), and SetMemoryUsage().

TObjArray TGo4Fitter::fxDatas
protected

Container for data objects.

Definition at line 419 of file TGo4Fitter.h.

Referenced by AddData(), DeleteAllData(), FindData(), GetData(), GetNumData(), Print(), RemoveData(), and TGo4Fitter().

TObjArray* TGo4Fitter::fxDrawObjs
private

Definition at line 446 of file TGo4Fitter.h.

Referenced by Draw(), MoveDrawObjectsToROOT(), and ProvideLastDrawObjects().

TObjArray TGo4Fitter::fxModels
protected

Container for model components.

Definition at line 424 of file TGo4Fitter.h.

Referenced by AddModel(), DeleteAllModels(), DeleteModelsAssosiatedTo(), FindModel(), GetModel(), GetNumModel(), Print(), RemoveModel(), and TGo4Fitter().

TUserFitFunction TGo4Fitter::fxUserFitFunction
private

Pointer on user fit function.

Definition at line 444 of file TGo4Fitter.h.

Referenced by InitFitterData(), PointFitFunction(), and SetUserFitFunction().


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