]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 1 | /////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoBPLCMS3DCorrFctn: a class to calculate 3D correlation // | |
4 | // for pairs of identical particles. // | |
5 | // // | |
6 | /////////////////////////////////////////////////////////////////////////// | |
7 | ||
8 | #ifndef ALIFEMTOBPLCMS3DCORRFCTN_H | |
9 | #define ALIFEMTOBPLCMS3DCORRFCTN_H | |
10 | ||
11 | #include "AliFemtoCorrFctn.h" | |
12 | //#include "AliFemtoCoulomb.h" | |
13 | #include "AliFemtoPairCut.h" | |
14 | //#include "AliFemtoHisto.h" | |
15 | #include "TH3D.h" | |
16 | //#include "AliFemtoSmearPair.h" | |
17 | ||
18 | class AliFemtoBPLCMS3DCorrFctn : public AliFemtoCorrFctn { | |
19 | public: | |
20 | AliFemtoBPLCMS3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi); | |
21 | AliFemtoBPLCMS3DCorrFctn(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); | |
22 | virtual ~AliFemtoBPLCMS3DCorrFctn(); | |
23 | ||
24 | AliFemtoBPLCMS3DCorrFctn& operator=(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); | |
25 | ||
26 | virtual AliFemtoString Report(); | |
27 | virtual void AddRealPair( AliFemtoPair* aPair); | |
28 | virtual void AddMixedPair( AliFemtoPair* aPair); | |
29 | ||
30 | virtual void Finish(); | |
31 | ||
32 | TH3D* Numerator(); | |
33 | TH3D* Denominator(); | |
34 | TH3D* Ratio(); | |
35 | TH3D* QinvHisto(); | |
36 | ||
37 | // here are get and set for the range over which the correlation function | |
38 | // is normalized (in Qinv). The range is set to 0.15..0.18 in the constuctor | |
39 | // by default, but the Set's below override this | |
40 | void SetNormRangeLo(float qLo); | |
41 | void SetNormRangeHi(float qHi); | |
42 | float GetNormRangeLo() const; | |
43 | float GetNormRangeHi() const; | |
44 | ||
45 | void WriteOutHistos(); | |
46 | virtual TList* GetOutputList(); | |
47 | ||
48 | // void SetCoulombCorrection(AliFemtoCoulomb* Correction); | |
49 | ||
50 | void SetUseRPSelection(unsigned short aRPSel); | |
51 | ||
52 | // void SetSmearPair(AliFemtoSmearPair*); | |
53 | void SetRout(double guess); | |
54 | void SetRside(double guess); | |
55 | void SetRlong(double guess); | |
56 | void SetLambda(double guess); | |
57 | ||
58 | private: | |
59 | /* // here are a whole bunch of histos that get filled if we do resolution correction */ | |
60 | /* TH3D* fIDNumHisto; // true pairs numerator */ | |
61 | /* TH3D* fIDDenHisto; // true pairs denominator */ | |
62 | /* TH3D* fIDRatHisto; // true pairs ratio */ | |
63 | /* // */ | |
64 | /* TH3D* fSMNumHisto; // mixed pairs numerator */ | |
65 | /* TH3D* fSMDenHisto; // mixed pairs denominator */ | |
66 | /* TH3D* fSMRatHisto; // mixed pairs ratio */ | |
67 | /* // */ | |
68 | /* TH3D* fCorrectionHisto; // correction histogram */ | |
69 | /* TH3D* fCorrCFHisto; // Corrected CF */ | |
70 | ||
71 | TH3D* fNumerator; // numerator | |
72 | TH3D* fDenominator; // denominator | |
73 | // TH3D* fUncorrectedDenominator; | |
74 | TH3D* fRatio; // ratio - the correlation function | |
75 | TH3D* fQinvHisto; // Qinv weights | |
76 | ||
77 | // for resolution correction | |
78 | // AliFemtoSmearPair* fSmearPair; //! | |
79 | double fLambda; // lambda for smearing correction | |
80 | double fRout2; // Rout for smearing correction | |
81 | double fRside2; // Rside for smearing correction | |
82 | double fRlong2; // Rlong for smearing correction | |
83 | ||
84 | // upper and lower bounds of Qinv region where to do normalization | |
85 | float fQinvNormLo; // Lower bound of Qinv normalization range | |
86 | float fQinvNormHi; // Upper bound of Qinv normalization range | |
87 | ||
88 | // and here are the number of pairs in that region... | |
89 | unsigned long int fNumRealsNorm; // pairs in numerator in Qinv normalization range | |
90 | unsigned long int fNumMixedNorm; // pairs in denominator in Qinv normalization range | |
91 | ||
92 | protected: | |
93 | unsigned short fUseRPSelection; // The pair cut uses RP selection | |
94 | ||
95 | // AliFemtoCoulomb* fCorrection; //! | |
96 | ||
97 | ||
98 | #ifdef __ROOT__ | |
99 | ClassDef(AliFemtoBPLCMS3DCorrFctn, 1) | |
100 | #endif | |
101 | }; | |
102 | ||
103 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Numerator(){return fNumerator;} | |
104 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Denominator(){return fDenominator;} | |
105 | //inline TH3D* AliFemtoBPLCMS3DCorrFctn::UncorrectedDenominator(){return fUncorrectedDenominator;} | |
106 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Ratio(){return fRatio;} | |
107 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::QinvHisto(){return fQinvHisto;} | |
108 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeLo(float qLo){fQinvNormLo = qLo;} | |
109 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeHi(float qHi){fQinvNormHi = qHi;} | |
110 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeLo() const{return fQinvNormLo;} | |
111 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeHi() const{return fQinvNormHi;} | |
112 | //inline void AliFemtoBPLCMS3DCorrFctn::SetCoulombCorrection(AliFemtoCoulomb* Correction){fCorrection = Correction;} | |
113 | //inline void AliFemtoBPLCMS3DCorrFctn::SetSmearPair(AliFemtoSmearPair* sp){fSmearPair = sp;} | |
114 | ||
115 | inline void AliFemtoBPLCMS3DCorrFctn::SetRout(double r){fRout2 = r*r;} | |
116 | inline void AliFemtoBPLCMS3DCorrFctn::SetRside(double r){fRside2 = r*r;} | |
117 | inline void AliFemtoBPLCMS3DCorrFctn::SetRlong(double r){fRlong2 = r*r;} | |
118 | inline void AliFemtoBPLCMS3DCorrFctn::SetLambda(double l){fLambda = l;} | |
119 | ||
120 | #endif | |
121 |