67427ff7 |
1 | /*************************************************************************** |
2 | * |
3 | * $Id$ |
4 | * |
5 | * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu |
6 | *************************************************************************** |
7 | * |
8 | * Description: part of STAR HBT Framework: AliFemtoMaker package |
9 | * This one does 3D Bertsch-Pratt decomposition in the LCMS frame |
10 | * |
11 | *************************************************************************** |
12 | * |
13 | * $Log$ |
0215f606 |
14 | * Revision 1.1.1.1 2007/04/25 15:38:41 panos |
15 | * Importing the HBT code dir |
16 | * |
67427ff7 |
17 | * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki |
18 | * First version on CVS |
19 | * |
20 | * Revision 1.5 2002/06/07 22:51:39 lisa |
21 | * Widely used AliFemtoBPLCMS3DCorrFctn class now accumulates UNcorrected denominator and has a WriteOutHistos method |
22 | * |
23 | * Revision 1.4 2001/05/23 00:19:04 lisa |
24 | * Add in Smearing classes and methods needed for momentum resolution studies and correction |
25 | * |
26 | * Revision 1.3 2000/10/26 19:48:50 rcwells |
27 | * Added functionality for Coulomb correction of <qInv> in 3D correltions |
28 | * |
29 | * Revision 1.2 2000/09/14 18:36:53 lisa |
30 | * Added Qinv and ExitSep pair cuts and AliFemtoBPLCMS3DCorrFctn_SIM CorrFctn |
31 | * |
32 | * Revision 1.1 2000/08/17 20:48:39 lisa |
33 | * Adding correlationfunction in LCMS frame |
34 | * |
35 | * |
36 | * |
37 | **************************************************************************/ |
38 | |
39 | #ifndef AliFemtoBPLCMS3DCorrFctn_hh |
40 | #define AliFemtoBPLCMS3DCorrFctn_hh |
41 | |
42 | #include "Base/AliFemtoCorrFctn.h" |
43 | //#include "Infrastructure/AliFemtoCoulomb.h" |
44 | #include "Base/AliFemtoPairCut.h" |
45 | //#include "Infrastructure/AliFemtoHisto.h" |
46 | #include "TH3D.h" |
47 | //#include "Infrastructure/AliFemtoSmearPair.h" |
48 | |
49 | class AliFemtoBPLCMS3DCorrFctn : public AliFemtoCorrFctn { |
50 | public: |
51 | AliFemtoBPLCMS3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi); |
0215f606 |
52 | AliFemtoBPLCMS3DCorrFctn(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); |
67427ff7 |
53 | virtual ~AliFemtoBPLCMS3DCorrFctn(); |
54 | |
0215f606 |
55 | AliFemtoBPLCMS3DCorrFctn& operator=(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn); |
56 | |
67427ff7 |
57 | virtual AliFemtoString Report(); |
58 | virtual void AddRealPair(const AliFemtoPair*); |
59 | virtual void AddMixedPair(const AliFemtoPair*); |
60 | |
61 | virtual void Finish(); |
62 | |
63 | TH3D* Numerator(); |
64 | TH3D* Denominator(); |
65 | TH3D* Ratio(); |
66 | TH3D* QinvHisto(); |
67 | |
68 | // here are get and set for the range over which the correlation function |
69 | // is normalized (in Qinv). The range is set to 0.15..0.18 in the constuctor |
70 | // by default, but the Set's below override this |
71 | void SetNormRangeLo(float qLo); |
72 | void SetNormRangeHi(float qHi); |
73 | float GetNormRangeLo(); |
74 | float GetNormRangeHi(); |
75 | |
76 | void WriteOutHistos(); |
77 | |
78 | // void SetCoulombCorrection(AliFemtoCoulomb* Correction); |
79 | |
80 | void SetSpecificPairCut(AliFemtoPairCut*); |
81 | |
82 | // void SetSmearPair(AliFemtoSmearPair*); |
83 | void SetRout(double guess); |
84 | void SetRside(double guess); |
85 | void SetRlong(double guess); |
86 | void SetLambda(double guess); |
87 | |
88 | |
89 | // here are a whole bunch of histos that get filled if we do resolution correction |
90 | TH3D* fIDNumHisto; |
91 | TH3D* fIDDenHisto; |
92 | TH3D* fIDRatHisto; |
93 | // |
94 | TH3D* fSMNumHisto; |
95 | TH3D* fSMDenHisto; |
96 | TH3D* fSMRatHisto; |
97 | // |
98 | TH3D* fCorrectionHisto; |
99 | TH3D* fCorrCFHisto; |
100 | |
101 | |
102 | |
103 | |
104 | private: |
105 | TH3D* fNumerator; |
106 | TH3D* fDenominator; |
107 | // TH3D* fUncorrectedDenominator; |
108 | TH3D* fRatio; |
109 | TH3D* fQinvHisto; |
110 | |
111 | // for resolution correction |
112 | // AliFemtoSmearPair* fSmearPair; //! |
113 | double fLambda; |
114 | double fRout2; |
115 | double fRside2; |
116 | double fRlong2; |
117 | |
118 | AliFemtoPairCut* fPairCut; //! this is a PairCut specific to THIS CorrFctn, not the Analysis |
119 | |
120 | // upper and lower bounds of Qinv region where to do normalization |
121 | float fQinvNormLo; |
122 | float fQinvNormHi; |
123 | |
124 | // and here are the number of pairs in that region... |
125 | unsigned long int fNumRealsNorm; |
126 | unsigned long int fNumMixedNorm; |
127 | |
128 | // AliFemtoCoulomb* fCorrection; //! |
129 | |
130 | |
131 | #ifdef __ROOT__ |
132 | ClassDef(AliFemtoBPLCMS3DCorrFctn, 1) |
133 | #endif |
134 | }; |
135 | |
136 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Numerator(){return fNumerator;} |
137 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Denominator(){return fDenominator;} |
138 | //inline TH3D* AliFemtoBPLCMS3DCorrFctn::UncorrectedDenominator(){return fUncorrectedDenominator;} |
139 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::Ratio(){return fRatio;} |
140 | inline TH3D* AliFemtoBPLCMS3DCorrFctn::QinvHisto(){return fQinvHisto;} |
141 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeLo(float qLo){fQinvNormLo = qLo;} |
142 | inline void AliFemtoBPLCMS3DCorrFctn::SetNormRangeHi(float qHi){fQinvNormHi = qHi;} |
143 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeLo(){return fQinvNormLo;} |
144 | inline float AliFemtoBPLCMS3DCorrFctn::GetNormRangeHi(){return fQinvNormHi;} |
145 | //inline void AliFemtoBPLCMS3DCorrFctn::SetCoulombCorrection(AliFemtoCoulomb* Correction){fCorrection = Correction;} |
146 | inline void AliFemtoBPLCMS3DCorrFctn::SetSpecificPairCut(AliFemtoPairCut* pc){fPairCut=pc;} |
147 | //inline void AliFemtoBPLCMS3DCorrFctn::SetSmearPair(AliFemtoSmearPair* sp){fSmearPair = sp;} |
148 | |
149 | inline void AliFemtoBPLCMS3DCorrFctn::SetRout(double r){fRout2 = r*r;} |
150 | inline void AliFemtoBPLCMS3DCorrFctn::SetRside(double r){fRside2 = r*r;} |
151 | inline void AliFemtoBPLCMS3DCorrFctn::SetRlong(double r){fRlong2 = r*r;} |
152 | inline void AliFemtoBPLCMS3DCorrFctn::SetLambda(double l){fLambda = l;} |
153 | |
154 | #endif |
155 | |