Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
CorrFit1DCF.h
1/*
2 * CorrFit1DCF.h
3 *
4 * Created on: 02-04-2015
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#ifndef HALCORRFIT1DCF_H_
11#define HALCORRFIT1DCF_H_
12
13/*abstract class that represent theoretical correlation function */
14
15
16#include "CorrFitFunc.h"
17
18class TLegend;
19namespace Hal {
20 class CorrFitMath1DCF;
21 class CorrFitMask1D;
22 class CorrFit1DCFPainter;
26 class CorrFit1DCF : public CorrFitFunc {
27 friend class Femto1DCF;
28 friend class CorrFitMath1DCF;
29 friend class CorrFit1DCFPainter;
30
31 private:
32 Double_t EvalDenominator(Double_t x) const;
33 Int_t fRinvParIndex = {1};
34 Int_t fLambdaParIndex = {2};
35
36
37 protected:
41 mutable Int_t fBinX;
42
43 virtual void MakePainter(TString opt);
44
45 CorrFitMask1D* GetMask() const { return (CorrFitMask1D*) fMask; };
50 virtual void CalculateNumErrors(TH1* /*h*/) {};
51 virtual Double_t GetNumericalError(Int_t /*binX*/) const { return 0; };
52 void PrepareRaw();
53 void EstimateActiveBins();
54 void RecalculateSmoothFunction() const;
55 void SetErrors(TH1* num, const TH1* den) const;
56 double GetChiTF(const double* par) const;
57 double GetChiTFD(const double* par) const;
58 double GetLogTFD(const double* par) const;
63 virtual TF1* GetFunctionForDrawing() const;
70 Double_t GetFunDrawable(Double_t* x, Double_t* params) const;
79 Double_t EvalCF(const Double_t* x, const Double_t* params) const;
86 Double_t EvalCFNormalized(const Double_t* x, const Double_t* params) const;
93 virtual Double_t CalculateCF(const Double_t* /*x*/, const Double_t* /*params*/) const { return 1; };
94 virtual void Fit(TObject* histo);
95
96 public:
101 CorrFit1DCF(Int_t parameters = 3);
107 virtual Double_t Eval(Double_t q) const;
108 void SetFittingMask(const CorrFitMask& map);
114 void SetRLimits(Double_t min, Double_t max) { SetParLimits(RadiusID(), min, max); };
120 void SetLambdaLimits(Double_t min, Double_t max) { SetParLimits(LambdaID(), min, max); }
125 Double_t GetRadius() const { return GetParameter(RadiusID()); };
130 Double_t GetRadiusError() const { return GetParError(RadiusID()); };
135 Double_t GetLambda() const { return GetParameter(LambdaID()); };
140 Double_t GetLambdaError() const { return GetParError(LambdaID()); };
145 inline Int_t RadiusID() const { return fRinvParIndex; };
150 inline Int_t LambdaID() const { return fLambdaParIndex; };
151 virtual ~CorrFit1DCF();
152 ClassDef(CorrFit1DCF, 1)
153 };
154} // namespace Hal
155
156#endif /* HALCORRFIT1DCF_H_ */
Int_t LambdaID() const
virtual Double_t Eval(Double_t q) const
virtual void Fit(TObject *histo)
Double_t GetLambdaError() const
Int_t RadiusID() const
Double_t GetRadiusError() const
void SetLambdaLimits(Double_t min, Double_t max)
void SetRLimits(Double_t min, Double_t max)
virtual Double_t CalculateCF(const Double_t *, const Double_t *) const
Definition CorrFit1DCF.h:93
Double_t GetRadius() const
CorrFit1DCF(Int_t parameters=3)
Double_t GetFunDrawable(Double_t *x, Double_t *params) const
Double_t EvalCFNormalized(const Double_t *x, const Double_t *params) const
void SetFittingMask(const CorrFitMask &map)
Double_t EvalCF(const Double_t *x, const Double_t *params) const
void RecalculateSmoothFunction() const
virtual void MakePainter(TString opt)
virtual TF1 * GetFunctionForDrawing() const
Double_t GetLambda() const
void SetErrors(TH1 *num, const TH1 *den) const
double GetLogTFD(const double *par) const
virtual void CalculateNumErrors(TH1 *)
Definition CorrFit1DCF.h:50
CorrFitMask * fMask
Double_t GetParError(Int_t par) const
Definition CorrFit.cxx:149
Double_t GetParameter(Int_t par) const
Definition CorrFit.cxx:141
void SetParLimits(Int_t par, Double_t min, Double_t max)
Definition CorrFit.cxx:102