Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoCorrFunc2D.h
1/*
2 * FemtoCorrFunc2Db.h
3 *
4 * Created on: 26 cze 2023
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_ANALYSIS_FEMTO_BASE_CORRFUNC_FEMTOCORRFUNC2D_H_
10#define HAL_ANALYSIS_FEMTO_BASE_CORRFUNC_FEMTOCORRFUNC2D_H_
11
12#include "Array.h"
13#include "DividedHisto.h"
14#include "FemtoCorrFunc.h"
15
16#include <iostream>
17
18#include <TString.h>
19
20namespace Hal {
22 protected:
23 const TString fLabelX, fLabelY;
24 Array_1<Float_t> fRangeX;
25 Array_1<Float_t> fRangeY;
26 TH2D* fNumProp = {nullptr};
27 TH2D* fDenProp = {nullptr};
28 Int_t fBinsX = {100};
29 Int_t fBinsY = {100};
30
31 virtual Bool_t InitPropMon();
32 virtual void AddHTMLCode(std::ofstream& /*file*/) const {};
33 virtual std::pair<Double_t, Double_t> GetPairValNum(FemtoPair* pair) const = 0;
34 virtual std::pair<Double_t, Double_t> GetPairValDenRot(FemtoPair* pair) const = 0;
35 virtual std::pair<Double_t, Double_t> GetPairValDenPerf(FemtoPair* pair) const { return GetPairValNum(pair); };
36 virtual std::pair<Double_t, Double_t> GetPairValDenHemi(FemtoPair* pair) const = 0;
37 virtual std::pair<Double_t, Double_t> GetPairValDenChar(FemtoPair* pair) const { return GetPairValNum(pair); };
38 virtual std::pair<Double_t, Double_t> GetPairValDenMix(FemtoPair* pair) const { return GetPairValNum(pair); };
39 Int_t ConvertVal(std::pair<Double_t, Double_t> vals) const;
40 FemtoCorrFunc2D(const DividedHisto1D* h, TString labelX = "", TString labelY = "", Int_t sizeX = 0, Int_t sizeY = 0);
41 virtual Bool_t Angle(Char_t /*opt*/) const { return kFALSE; }
42
43 public:
45 FemtoCorrFunc2D(const FemtoCorrFunc2D& other);
46 FemtoCorrFunc2D(const DividedHisto1D& h, TString labelX = "", TString labelY = "", Int_t sizeX = 0, Int_t sizeY = 0);
47 virtual Bool_t Check();
48 virtual TString HTMLExtract(Int_t no, TString dir = "") const;
49 TString GetXlabel() const { return fLabelX; };
50 TString GetYlabel() const { return fLabelY; };
51 void SetNBinsX(Int_t bins) { fBinsX = bins; };
52 void SetNBinsY(Int_t bins) { fBinsY = bins; };
53 Int_t GetXsize() const { return fRangeX.GetSize() - 1; };
54 Int_t GetYsize() const { return fRangeY.GetSize() - 1; };
55 const Array_1<Float_t> GetRangeX() const { return fRangeX; };
56 const Array_1<Float_t> GetRangeY() const { return fRangeY; };
57 DividedHisto1D* GetCF(Int_t i, Int_t j) const;
58 TH2D* GetNumMon() const { return fNumProp; }
59 TH2D* GetDenMon() const { return fDenProp; };
60 void FillNum(FemtoPair* pair);
61 void FillDenMixed(FemtoPair* pair);
62 void FillDenRotated(FemtoPair* pair);
63 void FillDenHemisphere(FemtoPair* pair);
64 void FillDenCharged(FemtoPair* pair);
65 void FillDenPerfect(FemtoPair* pair);
66 virtual ~FemtoCorrFunc2D();
67 ClassDef(FemtoCorrFunc2D, 2)
68 };
69} /* namespace Hal */
70
71#endif /* HAL_ANALYSIS_FEMTO_BASE_CORRFUNC_FEMTOCORRFUNC2D_H_ */
Int_t GetSize() const
Definition Array.h:50
void FillNum(FemtoPair *pair)
virtual TString HTMLExtract(Int_t no, TString dir="") const