]>
Commit | Line | Data |
---|---|---|
d0e92d9a | 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" | |
67427ff7 | 15 | #include "TH3D.h" |
d0e92d9a | 16 | //#include "AliFemtoSmearPair.h" |
67427ff7 | 17 | |
18 | class AliFemtoBPLCMS3DCorrFctn : public AliFemtoCorrFctn { | |
19 | public: | |
20 | AliFemtoBPLCMS3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi); | |
0215f606 | 21 | AliFemtoBPLCMS3DCorrFctn(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); |
67427ff7 | 22 | virtual ~AliFemtoBPLCMS3DCorrFctn(); |
23 | ||
0215f606 | 24 | AliFemtoBPLCMS3DCorrFctn& operator=(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); |
25 | ||
67427ff7 | 26 | virtual AliFemtoString Report(); |
d0e92d9a | 27 | virtual void AddRealPair( AliFemtoPair* aPair); |
28 | virtual void AddMixedPair( AliFemtoPair* aPair); | |
67427ff7 | 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); | |
d0e92d9a | 42 | float GetNormRangeLo() const; |
43 | float GetNormRangeHi() const; | |
67427ff7 | 44 | |
45 | void WriteOutHistos(); | |
0b3bd1ac | 46 | virtual TList* GetOutputList(); |
67427ff7 | 47 | |
48 | // void SetCoulombCorrection(AliFemtoCoulomb* Correction); | |
49 | ||
fee52126 | 50 | void SetUseRPSelection(unsigned short aRPSel); |
67427ff7 | 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 | ||
d0e92d9a | 58 | private: |
b03c43fb | 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 */ | |
67427ff7 | 70 | |
d0e92d9a | 71 | TH3D* fNumerator; // numerator |
72 | TH3D* fDenominator; // denominator | |
67427ff7 | 73 | // TH3D* fUncorrectedDenominator; |
d0e92d9a | 74 | TH3D* fRatio; // ratio - the correlation function |
75 | TH3D* fQinvHisto; // Qinv weights | |
67427ff7 | 76 | |
77 | // for resolution correction | |
78 | // AliFemtoSmearPair* fSmearPair; //! | |
d0e92d9a | 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 | |
67427ff7 | 83 | |
67427ff7 | 84 | // upper and lower bounds of Qinv region where to do normalization |
d0e92d9a | 85 | float fQinvNormLo; // Lower bound of Qinv normalization range |
86 | float fQinvNormHi; // Upper bound of Qinv normalization range | |
67427ff7 | 87 | |
88 | // and here are the number of pairs in that region... | |
d0e92d9a | 89 | unsigned long int fNumRealsNorm; // pairs in numerator in Qinv normalization range |
90 | unsigned long int fNumMixedNorm; // pairs in denominator in Qinv normalization range | |
67427ff7 | 91 | |
fee52126 | 92 | unsigned short fUseRPSelection; // The pair cut uses RP selection |
67427ff7 | 93 | |
fee52126 | 94 | // AliFemtoCoulomb* fCorrection; //! |
95 | ||
67427ff7 | 96 | |
97 | #ifdef __ROOT__ | |
98 | ClassDef(AliFemtoBPLCMS3DCorrFctn, 1) | |
99 | #endif | |
100 | }; | |
101 | ||
102 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Numerator(){return fNumerator;} | |
103 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Denominator(){return fDenominator;} | |
104 | //inline TH3D* AliFemtoBPLCMS3DCorrFctn::UncorrectedDenominator(){return fUncorrectedDenominator;} | |
105 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Ratio(){return fRatio;} | |
106 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::QinvHisto(){return fQinvHisto;} | |
107 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeLo(float qLo){fQinvNormLo = qLo;} | |
108 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeHi(float qHi){fQinvNormHi = qHi;} | |
d0e92d9a | 109 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeLo() const{return fQinvNormLo;} |
110 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeHi() const{return fQinvNormHi;} | |
67427ff7 | 111 | //inline void AliFemtoBPLCMS3DCorrFctn::SetCoulombCorrection(AliFemtoCoulomb* Correction){fCorrection = Correction;} |
67427ff7 | 112 | //inline void AliFemtoBPLCMS3DCorrFctn::SetSmearPair(AliFemtoSmearPair* sp){fSmearPair = sp;} |
113 | ||
114 | inline void AliFemtoBPLCMS3DCorrFctn::SetRout(double r){fRout2 = r*r;} | |
115 | inline void AliFemtoBPLCMS3DCorrFctn::SetRside(double r){fRside2 = r*r;} | |
116 | inline void AliFemtoBPLCMS3DCorrFctn::SetRlong(double r){fRlong2 = r*r;} | |
117 | inline void AliFemtoBPLCMS3DCorrFctn::SetLambda(double l){fLambda = l;} | |
118 | ||
119 | #endif | |
120 |