]>
Commit | Line | Data |
---|---|---|
70c54bac | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoCorrFctnDEtaDPhiCorrections - A correlation function that analyzes // | |
4 | // two particle correlations with respect to the azimuthal angle (phi) // | |
5 | // and pseudorapidity (eta) difference // | |
6 | // // | |
7 | // Authors: Adam Kisiel Adam.Kisiel@cern.ch // | |
8 | // // | |
9 | //////////////////////////////////////////////////////////////////////////////// | |
10 | ||
11 | #ifndef ALIFEMTOCORRFCTNDETADPHICORRECTIONS_H | |
12 | #define ALIFEMTOCORRFCTNDETADPHICORRECTIONS_H | |
13 | ||
14 | #include "TH1D.h" | |
15 | #include "TH2D.h" | |
eef80284 | 16 | #include "TH1F.h" |
17 | #include "TH2F.h" | |
18 | #include "TH3F.h" | |
19 | #include "THn.h" | |
70c54bac | 20 | #include "THnSparse.h" |
21 | #include "TFile.h" | |
22 | #include "AliFemtoCorrFctn.h" | |
23 | ||
24 | class AliFemtoCorrFctnDEtaDPhiCorrections : public AliFemtoCorrFctn { | |
25 | public: | |
26 | enum CorrectionType {kNone=0, kPt=1, kEta=2}; | |
0ca38d56 | 27 | enum ParticleType {kNoCorrection=0, kPion=1, kKaon=2, kProton=3, kAll=4, kPionMinus=5, kKaonMinus=6, kProtonMinus=7}; |
70c54bac | 28 | typedef enum CorrectionType ReadCorrectionType; |
29 | ||
30 | AliFemtoCorrFctnDEtaDPhiCorrections(char* title, const int& aPhiBins, const int& aEtaBins); | |
31 | AliFemtoCorrFctnDEtaDPhiCorrections(const AliFemtoCorrFctnDEtaDPhiCorrections& aCorrFctn); | |
32 | virtual ~AliFemtoCorrFctnDEtaDPhiCorrections(); | |
33 | ||
34 | AliFemtoCorrFctnDEtaDPhiCorrections& operator=(const AliFemtoCorrFctnDEtaDPhiCorrections& aCorrFctn); | |
35 | ||
36 | virtual AliFemtoString Report(); | |
37 | virtual void AddRealPair(AliFemtoPair* aPair); | |
38 | virtual void AddMixedPair(AliFemtoPair* aPair); | |
39 | ||
40 | virtual void Finish(); | |
41fa2a11 | 41 | void SetDoFullAnalysis(Bool_t do2d); |
70c54bac | 42 | double CalculateCorrectionWeight(double pT1, double pT2); |
0ca38d56 | 43 | double CalculateCorrectionWeight(double pT1); |
eef80284 | 44 | double CalculateCorrectionWeight(double pT1, double pT2, double eta1, double eta2, double phi1, double phi2, double zvert1, double zvert2); |
45 | void LoadCorrectionTabFromROOTFile1D(const char *file, ParticleType partType1, ParticleType partType2); | |
46 | void LoadCorrectionTabFromROOTFile(const char *file, ParticleType partType1, ParticleType partType2, bool doPtCorr, bool doEtaCorr, bool doPhiCorr, bool doZVertCorr); | |
2bcd668c | 47 | // void LoadCorrectionTabFromFile(const char *pTtab, const char *corrTab); // Not implemented |
2ddcfd01 | 48 | void SetCorrectionTab(ParticleType partType); |
70c54bac | 49 | |
50 | void WriteHistos(); | |
51 | virtual TList* GetOutputList(); | |
52 | private: | |
53 | ||
54 | TH2D *fDPhiDEtaNumerator; // Numerator of dEta dPhi function | |
55 | TH2D *fDPhiDEtaDenominator; // Denominator of dEta dPhi function | |
56 | ||
57 | TH1D *fDPhiNumerator; // Numerator of dPhi correlation | |
58 | TH1D *fDPhiDenominator; // Denominator of dPhi correlation | |
59 | ||
60 | TH1D *fDCosNumerator; // Numerator of colinearity correlation | |
61 | TH1D *fDCosDenominator; // Denominator of colinearity correlation | |
62 | ||
41fa2a11 | 63 | Bool_t fDoFullAnalysis; // set to 1 to do 2D Pt analysis |
70c54bac | 64 | |
65 | TH1D *fPhi; | |
66 | TH1D *fEta; | |
b569c586 | 67 | TH1D *fPtSumDist; |
70c54bac | 68 | |
69 | TH2D *fYtYtNumerator; | |
70 | TH2D *fYtYtDenominator; | |
71 | ||
70c54bac | 72 | bool fIfCorrection; |
73 | THnSparseF *fPtCorrectionsNum; | |
74 | THnSparseF *fPtCorrectionsDen; | |
75 | ||
76 | THnSparseF *fEtaCorrectionsNum; | |
77 | THnSparseF *fEtaCorrectionsDen; | |
78 | ||
79 | double* fCorrFactorTab; | |
80 | double* fpTab; | |
81 | ParticleType fPartType; // particle type for calculations of correction factor | |
82 | ||
83 | double fphiL; | |
84 | double fphiT; | |
85 | ||
eef80284 | 86 | TFile *ifileCorrTab; |
87 | bool fdoPtCorr; | |
88 | bool fdoEtaCorr; | |
89 | bool fdoPhiCorr; | |
90 | bool fdoZVertCorr; | |
91 | int fpartType1; | |
92 | int fpartType2; | |
93 | ||
94 | THnT<float>* fhntReco1; | |
95 | THnT<float>* fhntReco2; | |
96 | TH1F *fh1Reco1; | |
97 | TH1F *fh1Reco2; | |
98 | TH2F *fh2Reco1; | |
99 | TH2F *fh2Reco2; | |
100 | TH3F *fh3Reco1; | |
101 | TH3F *fh3Reco2; | |
102 | TH1D *fhCont1; | |
103 | TH1D *fhCont2; | |
2ddcfd01 | 104 | |
a0179664 | 105 | bool fCorr1D; |
106 | ||
70c54bac | 107 | #ifdef __ROOT__ |
108 | ClassDef(AliFemtoCorrFctnDEtaDPhiCorrections, 1) | |
109 | #endif | |
110 | }; | |
111 | ||
112 | ||
113 | #endif | |
114 |