23 #include "TObjArray.h"
55 TGo4Fitter(
const char* iName,
const char* iTitle);
61 TGo4Fitter(
const char * iName, Int_t iFitFunctionType, Bool_t IsAddStandardActions);
118 virtual void Clear(Option_t* option = 0);
148 TGo4FitDataHistogram*
AddH1(
const char* DataName, TH1* histo, Bool_t Owned = kFALSE, Double_t lrange = 0., Double_t rrange = 0.);
158 TGo4FitDataGraph*
AddGraph(
const char* DataName, TGraph* gr, Bool_t Owned = kFALSE, Double_t lrange = 0., Double_t rrange = 0.);
208 void AddPolynomX(
const char* DataName,
const char* NamePrefix, Int_t MaxOrder = 1, Int_t GroupIndex = 0, Double_t lrange = 0., Double_t rrange = 0. );
215 void AddPolynomX(
const char* DataName,
const char* NamePrefix, TArrayD& Coef, Int_t GroupIndex = 0);
224 void AddPolynoms(
const char* DataName,
const char* NamePrefix, Int_t MaxOrder = 1, Int_t NumAxis = 1, Int_t GroupIndex = 0);
229 TGo4FitModelGauss1*
AddGauss1(
const char* DataName,
const char* ModelName, Double_t iPosition, Double_t iWidth, Double_t iAmpl = 1., Int_t Axis = 0);
263 void AssignModelTo(
const char* ModelName,
const char* DataName, Double_t RatioValue = 1., Bool_t FixRatio = kFALSE);
311 Double_t
CalculateFitFunction(Double_t* pars = 0, Int_t FitFunctionType = -1,
const char* DataName = 0);
329 virtual void Print(Option_t* option)
const;
335 Bool_t
CalculatesMomentums(
const char* DataName, Bool_t UseRanges, Bool_t SubstractModels, Double_t& first, Double_t& second);
341 Double_t
CalculatesIntegral(
const char* DataName,
const char* ModelName = 0, Bool_t OnlyCounts = kFALSE);
353 TObject*
CreateDrawObject(
const char* ObjName,
const char* DataName, Bool_t IsModel = kFALSE,
const char* ModelName = 0);
363 virtual void Draw(Option_t* option);
381 TString
FindNextName(
const char* Head, Int_t start, Bool_t isModel = kTRUE);
411 Double_t
PointFitFunction(Int_t FitFunctionType, Double_t value, Double_t modelvalue, Double_t standdev);
462 #endif // TGO4FITTER_H
virtual void Print(Option_t *option) const
TGo4FitDataGraph * AddGraph(const char *DataName, TGraph *gr, Bool_t Owned=kFALSE, Double_t lrange=0., Double_t rrange=0.)
void RebuildAll(Bool_t ForceBuild=kFALSE)
virtual Double_t DoCalculation()
void SetMemoryUsage(Int_t iMemoryUsage)
virtual Int_t DoNDFCalculation()
TGo4FitComponent * GetComp(Int_t n)
void MoveDrawObjectsToROOT()
void SetFitFunctionType(Int_t iFitFunctionType)
virtual void Draw(Option_t *option)
void AddAmplEstimation(Int_t NumIters=1)
void ClearModelAssignmentTo(const char *ModelName, const char *DataName=0)
virtual void CollectAllPars()
virtual void FinalizeFitterData()
Int_t GetDataBinsSize(TGo4FitData *data)
void EstimateAmplitudes(Int_t NumIters=1)
TGo4FitModel * FindModel(const char *ModelName)
void AddPolynoms(const char *DataName, const char *NamePrefix, Int_t MaxOrder=1, Int_t NumAxis=1, Int_t GroupIndex=0)
Double_t * GetDataBinsResult(TGo4FitData *data)
Int_t NumModelsAssosiatedTo(const char *DataName)
void CheckSlotsBeforeDelete(TGo4FitComponent *comp)
void AddPolynomX(const char *DataName, const char *NamePrefix, Int_t MaxOrder=1, Int_t GroupIndex=0, Double_t lrange=0., Double_t rrange=0.)
Double_t PointFitFunction(Int_t FitFunctionType, Double_t value, Double_t modelvalue, Double_t standdev)
void AssignModelTo(const char *ModelName, const char *DataName, Double_t RatioValue=1., Bool_t FixRatio=kFALSE)
TGo4FitData * RemoveData(const char *DataName, Bool_t IsDel=kFALSE)
TGo4FitModel * RemoveModel(const char *ModelName, Bool_t IsDel=kFALSE)
TUserFitFunction fxUserFitFunction
Double_t * GetDataBinsDevs(TGo4FitData *data)
void DeleteModelsAssosiatedTo(const char *DataName)
virtual void FillSlotList(TSeqCollection *list)
Double_t CalculatesIntegral(const char *DataName, const char *ModelName=0, Bool_t OnlyCounts=kFALSE)
TGo4FitData * AddData(TGo4FitData *d)
Double_t(* TUserFitFunction)(Double_t, Double_t, Double_t)
TGo4FitModelGauss1 * AddGauss1(const char *DataName, const char *ModelName, Double_t iPosition, Double_t iWidth, Double_t iAmpl=1., Int_t Axis=0)
void ChangeDataNameInAssignments(const char *oldname, const char *newname)
Int_t CalculateNDF(const char *DataName=0)
TGo4FitDataGraph * SetGraph(const char *DataName, TGraph *gr, Bool_t Owned=kFALSE)
TGo4FitModel * GetModel(Int_t n)
Double_t CalculatesModelIntegral(const char *ModelName, Bool_t OnlyCounts=kFALSE)
ClassDef(TGo4FitSlotList, 1)
TString FindNextName(const char *Head, Int_t start, Bool_t isModel=kTRUE)
TGo4FitData * GetData(Int_t n)
Int_t GetFitFunctionType()
Double_t * GetModelBinsValues(TGo4FitModel *model, const char *DataName)
Double_t CalculateFitFunction(Double_t *pars=0, Int_t FitFunctionType=-1, const char *DataName=0)
Bool_t DataBuffersAllocated(TGo4FitData *data)
TGo4FitModel * CloneModel(const char *ModelName, const char *NewName=0)
const char * GetDataName(Int_t n)
Int_t GetNumModel() const
TGo4FitModel * AddModel(TGo4FitModel *m)
TObject * CreateDrawObject(const char *ObjName, const char *DataName, Bool_t IsModel=kFALSE, const char *ModelName=0)
virtual Bool_t InitFitterData()
void SetUserFitFunction(TUserFitFunction iFunc)
TGo4FitDataHistogram * SetH1(const char *DataName, TH1 *histo, Bool_t Owned=kFALSE)
Bool_t CalculatesMomentums(const char *DataName, Bool_t UseRanges, Bool_t SubstractModels, Double_t &first, Double_t &second)
Double_t * GetDataBinsValues(TGo4FitData *data)
virtual void Clear(Option_t *option=0)
TGo4FitData * FindData(const char *DataName)
Double_t CalculateFCN(Int_t FitFunctionType, TGo4FitData *selectdata=0)
void ProvideLastDrawObjects(TObjArray &lst)
Bool_t ModelBuffersAllocated(TGo4FitModel *model)
void AddStandardActions()
TGo4FitDataHistogram * AddH1(const char *DataName, TH1 *histo, Bool_t Owned=kFALSE, Double_t lrange=0., Double_t rrange=0.)