10#ifndef HALCORRFITFUNC_H_
11#define HALCORRFITFUNC_H_
16#include "FemtoConst.h"
17#include "MinimizerStepConf.h"
20#include <RtypesCore.h>
50 void PrepareSecondMiminizer(ROOT::Math::Minimizer* min,
const double* pars,
const double* errors)
const;
51 void SetParsOfMinimizer(ROOT::Math::Minimizer* min)
const;
52 Int_t CountNDF()
const;
53 ROOT::Math::Minimizer* GetMinimizer1(EMinAlgo algo)
const;
54 ROOT::Math::Minimizer* GetMinimizer2(EMinAlgo algo)
const;
187 virtual void Fit(TObject* histo);
191 virtual void FitDummy(TObject* histo);
195 virtual void Check();
236 virtual double GetChiTFD(
const double* params)
const = 0;
237 virtual double GetLogTFD(
const double* params)
const = 0;
238 virtual double GetChiTF(
const double* params)
const = 0;
245 virtual void SetErrors(TH1* num,
const TH1* den)
const = 0;
256 const Double_t NumErr,
258 const Double_t DenErr,
260 Double_t& cfe)
const;
284 void SetRange(Double_t min, Double_t max);
328 Double_t
GetChiNDF(Option_t* opt =
"fitted")
const;
374 Bool_t scale = kTRUE,
376 TF1* GetFittedFunction()
const;
384 virtual void PreFit(TObject* histo, Double_t bins = 1);
406 virtual void Draw(Option_t* option =
"");
407 virtual void Repaint();
415 virtual ~CorrFitFunc();
TH1 * fDenominatorHistogram
virtual void PrepareRootMinimizer(ROOT::Math::Minimizer *minizer) const
double FunctorLogTFD(const double *params)
CorrFitPainter * fPainter
void ParametersChanged() const
virtual void PreFit(TObject *histo, Double_t bins=1)
Double_t GetNormError() const
void MakeDummyXMLConfig(TString xmlFile)
TH1 * fCorrelationFunctionHistogram
virtual void SetErrors(TH1 *num, const TH1 *den) const =0
double FunctorChiTF(const double *params)
ChiSqMap2D * GetChiSquareMap(Int_t par1, Int_t par1_steps, Int_t par2, Int_t par2_steps, Bool_t scale=kTRUE, EMinFunc=kChi2) const
virtual void SetFittingMask(const CorrFitMask &map)=0
Double_t GetRangeMin(Int_t flag=0) const
void NumericalPreMinimization(Double_t bins)
void DummyNumericalFunction()
virtual void RecalculateFunction() const
Femto::EKinematics fKinematics
virtual void FitDummy(TObject *histo)
virtual void Fit(TObject *histo)
void NumericalMinimization()
void SetTolerance(Double_t tol)
Hal::CorrFitGUI * StartGui(Int_t prec=-1)
virtual void EstimateActiveBins()=0
void SetupFunction(TF1 *f) const
void SetNormLimits(Double_t min, Double_t max)
Double_t GetChiNDF(Option_t *opt="fitted") const
virtual void PrepareHalMinimizer() const
virtual void MakePainter(TString options)=0
void CalcError(const Double_t Num, const Double_t NumErr, const Double_t Den, const Double_t DenErr, Double_t &cf, Double_t &cfe) const
void SetMinimizerConf(const MinimizerStepConf &conf)
void SetRange(Double_t min, Double_t max)
Int_t GetFreeParamsNo() const
TH1 * fNumeratorHistogram
virtual void RecalculateSmoothFunction() const =0
void SetMaxIteration(Int_t max)
double FunctorChiTFD(const double *params)
virtual void PrepareRaw()=0
Double_t GetRangeMax(Int_t flag=0) const
CorrFitFunc(Int_t nparams=1, Int_t dim=1)
Array_1< Double_t > fRange
Double_t GetChiSquare(Option_t *opt="fitted") const
Double_t GetParError(Int_t par) const
Double_t GetParameter(Int_t par) const
void SetParLimits(Int_t par, Double_t min, Double_t max)