Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
CorrFitSmear1DCF.h
1/*
2 * CorrFitSmear1DCF.h
3 *
4 * Created on: 4 sty 2019
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALCORRFITSMEAR1DCF_H_
10#define HALCORRFITSMEAR1DCF_H_
11
12#include "CorrFitKisiel.h"
13
14#include <TMatrixD.h>
18class TAxis;
19namespace Hal {
20 class CorrFitMapKstarRstar;
21 class Femto1DCF;
22 class Spline1D;
23 class CorrFitSmear1DCF : public TObject {
24 Bool_t fSeparateSmear = {kFALSE};
25 Bool_t fAutoFill = {kFALSE};
26 Int_t fThresBin = {0};
27 TF1* fFunc = {nullptr};
28 TF1* fSplot = {nullptr};
29 TH2D* fSmearMatrix = {nullptr};
30 Femto1DCF* fCF = {nullptr};
31 CorrFitMapKstarRstar* fMap = {nullptr};
32 Hal::Spline1D* fSpline = {nullptr};
33 Double_t GaussNS(Double_t* x, Double_t* params) const;
34 Double_t CorrFunc(Double_t* x, Double_t* params) const;
35 Double_t Splot(Double_t* x, Double_t* params) const;
36 TMatrixD GetVec(const TH2D& vec, Int_t bin) const;
37 TMatrixD GetVec(const TH1D& vec) const;
38 TMatrixD Multiply(TMatrixD A, TMatrixD B) const;
39 TMatrixD ReverseDenominator(TF1* smearfunc, TH2D* smearMatrix) const;
40 std::vector<double> GetAutoFill(const TMatrixD& matrix, Bool_t lower) const;
41 std::vector<double> GetGausNorms(TF1* f, TAxis* x) const;
42 void NormalizeMatrix(TMatrixD& matrix) const;
47 Bool_t CheckCompatiblityMap() const;
52 Bool_t CheckCompatibilityCFMap() const;
53
54 public:
64 void SetThresBin(Int_t no) { fThresBin = no; }
70 TH2D RecalcSmearMatrix(TH2D& matrix);
76 static TH2D TransposeHistogram(TH2D& matrix);
81 void SmearSeparately(Bool_t smear = kTRUE) { fSeparateSmear = smear; };
86 void AutoFillLastBin(Bool_t autofill = kTRUE) { fAutoFill = autofill; };
91 void SetCF(Hal::Femto1DCF& cf);
96 void SetMap(CorrFitMapKstarRstar* map) { fMap = map; };
108 CorrFitMapKstarRstar* SmearMatrix(const TH2D& smearMatrix);
118 TF1* GetFunc() { return fSplot; }
119 ClassDef(CorrFitSmear1DCF, 1)
120 };
121} // namespace Hal
122#endif /* HALCORRFITSMEAR1DCF_H_ */
void SmearSeparately(Bool_t smear=kTRUE)
CorrFitMapKstarRstar * SmearFunction(TF1 *func)
void SetThresBin(Int_t no)
CorrFitMapKstarRstar * SmearMatrix(const TH2D &smearMatrix)
TH2D RecalcSmearMatrix(TH2D &matrix)
static TH2D TransposeHistogram(TH2D &matrix)
void SetCF(Hal::Femto1DCF &cf)
void AutoFillLastBin(Bool_t autofill=kTRUE)
void SetMap(CorrFitMapKstarRstar *map)