23 #include "TObjArray.h" 55 TGo4Fitter(
const char *iName,
const char *iTitle);
61 TGo4Fitter(
const char *iName, Int_t iFitFunctionType, Bool_t IsAddStandardActions);
118 void Clear(Option_t *option =
"")
override;
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 =
nullptr, Int_t FitFunctionType = -1,
const char *DataName =
nullptr);
329 void Print(Option_t *option =
"")
const override;
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 =
nullptr, Bool_t OnlyCounts = kFALSE);
353 TObject *
CreateDrawObject(
const char *ObjName,
const char *DataName, Bool_t IsModel = kFALSE,
const char *ModelName =
nullptr);
363 void Draw(Option_t *option)
override;
381 TString
FindNextName(
const char *Head, Int_t start, Bool_t isModel = kTRUE);
410 Double_t
PointFitFunction(Int_t FitFunctionType, Double_t value, Double_t modelvalue, Double_t standdev);
450 #endif // TGO4FITTER_H
Double_t CalculatesIntegral(const char *DataName, const char *ModelName=nullptr, Bool_t OnlyCounts=kFALSE)
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)
void SetMemoryUsage(Int_t iMemoryUsage)
TGo4FitComponent * GetComp(Int_t n)
void MoveDrawObjectsToROOT()
void SetFitFunctionType(Int_t iFitFunctionType)
void AddAmplEstimation(Int_t NumIters=1)
void EstimateAmplitudes(Int_t NumIters=1)
TGo4FitModel * FindModel(const char *ModelName)
void ClearModelAssignmentTo(const char *ModelName, const char *DataName=nullptr)
Double_t CalculateFitFunction(Double_t *pars=nullptr, Int_t FitFunctionType=-1, const char *DataName=nullptr)
void AddPolynoms(const char *DataName, const char *NamePrefix, Int_t MaxOrder=1, Int_t NumAxis=1, Int_t GroupIndex=0)
Bool_t InitFitterData() override
Int_t NumModelsAssosiatedTo(const char *DataName)
Double_t * GetDataBinsDevs(TGo4FitData *data) const
void CheckSlotsBeforeDelete(TGo4FitComponent *comp)
Double_t DoCalculation() override
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)
Double_t * GetDataBinsResult(TGo4FitData *data) const
Int_t GetDataBinsSize(TGo4FitData *data) const
TGo4FitModel * RemoveModel(const char *ModelName, Bool_t IsDel=kFALSE)
TUserFitFunction fxUserFitFunction
void CollectAllPars() override
void DeleteModelsAssosiatedTo(const char *DataName)
TGo4FitData * AddData(TGo4FitData *d)
Double_t * GetDataBinsValues(TGo4FitData *data) const
void FillSlotList(TSeqCollection *) override
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)
Double_t CalculateFCN(Int_t FitFunctionType, TGo4FitData *selectdata=nullptr)
TGo4FitDataGraph * SetGraph(const char *DataName, TGraph *gr, Bool_t Owned=kFALSE)
void FinalizeFitterData() override
TGo4FitModel * GetModel(Int_t n)
Double_t CalculatesModelIntegral(const char *ModelName, Bool_t OnlyCounts=kFALSE)
Int_t DoNDFCalculation() override
TString FindNextName(const char *Head, Int_t start, Bool_t isModel=kTRUE)
Int_t GetNumModel() const
TGo4FitData * GetData(Int_t n)
TObject * CreateDrawObject(const char *ObjName, const char *DataName, Bool_t IsModel=kFALSE, const char *ModelName=nullptr)
Int_t GetFitFunctionType() const
Bool_t DataBuffersAllocated(TGo4FitData *data)
Double_t(* TUserFitFunction)(Double_t, Double_t, Double_t)
const char * GetDataName(Int_t n)
TGo4FitModel * AddModel(TGo4FitModel *m)
TGo4FitModel * CloneModel(const char *ModelName, const char *NewName=nullptr)
Double_t * GetModelBinsValues(TGo4FitModel *model, const char *DataName) const
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)
TGo4FitData * FindData(const char *DataName)
Int_t CalculateNDF(const char *DataName=nullptr)
void ProvideLastDrawObjects(TObjArray &lst)
void Draw(Option_t *option) override
void Clear(Option_t *option="") override
Bool_t ModelBuffersAllocated(TGo4FitModel *model)
Int_t GetMemoryUsage() const
void AddStandardActions()
TGo4FitDataHistogram * AddH1(const char *DataName, TH1 *histo, Bool_t Owned=kFALSE, Double_t lrange=0., Double_t rrange=0.)
void Print(Option_t *option="") const override