]>
Commit | Line | Data |
---|---|---|
67427ff7 | 1 | /*********************************************************************** |
2 | * | |
3 | * $Id: AliFemtoXi.h,v 1.0 1999/09/07 | |
4 | * | |
5 | * Authors: Frank Laue | |
6 | * | |
7 | *********************************************************************** | |
8 | * | |
9 | * Description: Xi class with members copied from StXihbtXi.h | |
10 | * | |
11 | ***********************************************************************/ | |
12 | #ifndef AliFemtoXi_hh | |
13 | #define AliFemtoXi_hh | |
14 | ||
15 | #include "Infrastructure/AliFemtoVector.h" //same as in AliFemtoTrack.h | |
16 | #include "Infrastructure/AliFemtoV0.h" | |
17 | ||
18 | #ifdef __ROOT__ | |
19 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
20 | #include "StStrangeMuDstMaker/StXiMuDst.h" | |
21 | #endif | |
22 | #endif | |
23 | ||
24 | class AliFemtoXi : public AliFemtoV0 { | |
25 | public: | |
0215f606 | 26 | AliFemtoXi(); |
67427ff7 | 27 | #ifdef __ROOT__ |
28 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
29 | AliFemtoXi(StXiMuDst&); // from strangeness Xi micro dst structure | |
30 | #endif | |
31 | #endif | |
0215f606 | 32 | virtual ~AliFemtoXi(){/* no-op */} |
67427ff7 | 33 | |
34 | void UpdateXi(); | |
35 | float decayLengthXi() const; // 3-d decay distance | |
36 | AliFemtoThreeVector decayVertexXi() const; // Coordinates of decay vertex | |
37 | float decayVertexXiX() const; // Coordinates of decay vertex | |
38 | float decayVertexXiY() const; // Coordinates of decay vertex | |
39 | float decayVertexXiZ() const; // Coordinates of decay vertex | |
40 | float dcaXiDaughters() const; // DCA of xi daughters at decay vertex | |
41 | float dcaXiToPrimVertex() const; // DCA of xi to primary vertex | |
42 | float dcaBacToPrimVertex() const; // DCA of bachelor xi daughter to pri vertex | |
43 | AliFemtoThreeVector momBac() const; // Momentum components of bac. daughter | |
44 | float momBacX() const; // Momentum components of bac. daughter | |
45 | float momBacY() const; // Momentum components of bac. daughter | |
46 | float momBacZ() const; // Momentum components of bac. daughter | |
47 | ||
48 | int tpcHitsBac() const; // Number of TPC hits on bac. daughter | |
49 | unsigned long trackTopologyMapBac(unsigned int) const; | |
50 | ||
51 | AliFemtoThreeVector momXi() const ; // Momentum components of Xi | |
52 | float momXiX() const ; // Momentum components of Xi | |
53 | float momXiY() const ; // Momentum components of Xi | |
54 | float momXiZ() const ; // Momentum components of Xi | |
55 | float alphaXi() const ; // Armenteros-Podolanski variable | |
56 | float ptArmXi() const ; // Armenteros-Podolanski variable | |
57 | float eXi() const ; // Energy assuming xi hypothesis | |
58 | float eOmega() const ; // Energy assuming omega hypothesis | |
59 | float eBacKaon() const ; // Energy of bac. daughter assuming kaon | |
60 | float eBacPion() const ; // Energy of bac. daughter assuming pion | |
61 | float massXi() const ; // Mass assuming Xi hypothesis | |
62 | float massOmega() const ; // Mass assuming Omega hypothesis | |
63 | float rapXi() const ; // Rapidity assuming (anti) xi | |
64 | float rapOmega() const ; // Rapidity assuming (anti) omega | |
65 | float cTauXi() const ; // Lifetime (ctau) const assuming (anti) xi | |
66 | float cTauOmega() const ; // Lifetime (ctau) const assuming (anti) omega | |
67 | float ptXi() const ; // Transverse momentum | |
68 | float ptotXi() const ; // Total momentum | |
69 | float ptBac() const ; // Transverse momentum of bac. daughter | |
70 | float ptotBac() const ; // Total momentum of bac. daughter | |
71 | float dedxBac() const; // dedx of Bac track | |
72 | unsigned short idBac() const; // Id of bac. track | |
73 | unsigned short keyBac() const; // Id of bac. track | |
74 | ||
75 | void SetdecayLengthXi(const float); | |
76 | void SetdecayVertexXi(const AliFemtoThreeVector); | |
77 | void SetdecayVertexXiX(const float); | |
78 | void SetdecayVertexXiY(const float); | |
79 | void SetdecayVertexXiZ(const float); | |
80 | void SetdcaXiDaughters(const float); | |
81 | void SetdcaXiToPrimVertex(const float); | |
82 | void SetdcaBacToPrimVertex(const float); | |
83 | void SetmomBac(const AliFemtoThreeVector); | |
84 | void SetmomBacX(const float); | |
85 | void SetmomBacY(const float); | |
86 | void SetmomBacZ(const float); | |
87 | ||
88 | void SettpcHitsBac(const int&); | |
89 | ||
90 | void SetTrackTopologyMapBac(unsigned int, const unsigned long&); | |
91 | ||
92 | void SetmomXi( AliFemtoThreeVector); | |
93 | void SetmomXiX( float); | |
94 | void SetmomXiY( float); | |
95 | void SetmomXiZ( float); | |
96 | void SetalphaXi( float); | |
97 | void SetptArmXi( float); | |
98 | void SeteXi( float); | |
99 | void SeteOmega( float); | |
100 | void SeteBacPion( float); | |
101 | void SeteBacKaon( float); | |
102 | void SetmassXi( float); | |
103 | void SetmassOmega( float); | |
104 | void SetrapXi( float); | |
105 | void SetrapOmega( float); | |
106 | void SetcTauXi( float); | |
107 | void SetcTauOmega( float); | |
108 | void SetptXi( float); | |
109 | void SetptotXi( float); | |
110 | void SetptBac( float); | |
111 | void SetptotBac( float); | |
112 | void SetidBac(const unsigned short&); | |
113 | void SetdedxBac(float); | |
114 | void SetkeyBac(const unsigned short&); | |
115 | ||
116 | ||
117 | protected: | |
118 | int fCharge; | |
119 | float fDecayLengthXi; | |
120 | AliFemtoThreeVector fDecayVertexXi; | |
121 | float fDcaXiDaughters; | |
122 | float fDcaXiToPrimVertex; | |
123 | float fDcaBachelorToPrimVertex; | |
124 | AliFemtoThreeVector fMomBachelor; | |
125 | ||
126 | unsigned int fTopologyMapBachelor[2]; | |
127 | unsigned short fKeyBachelor; | |
128 | ||
129 | int fTpcHitsBac; | |
130 | ||
131 | float fChi2Xi; | |
132 | float fClXi; | |
133 | float fChi2Bachelor; | |
134 | float fClBachelor; | |
135 | ||
136 | float fDedxBachelor; | |
137 | unsigned short fNufDedxBachelor; | |
138 | ||
139 | // the following variables are not in the persistent version and can be calculated via UpdateXi(); | |
140 | AliFemtoThreeVector fMomXi; | |
141 | float fAlphaXi; | |
142 | float fPtArmXi; | |
143 | ||
144 | float fEXi; | |
145 | float fEOmega; | |
146 | float fEBacPion; | |
147 | float fEBacKaon; | |
148 | float fMassXi; | |
149 | float fMassOmega; | |
150 | float fRapXi; | |
151 | float fRapOmega; | |
152 | float fCTauXi; | |
153 | float fCTauOmega; | |
154 | float fPtXi; | |
155 | float fPtotXi; | |
156 | float fPtBac; | |
157 | float fPtotBac; | |
158 | ||
159 | unsigned short fKeyBac; | |
160 | }; | |
161 | ||
162 | inline float AliFemtoXi::decayLengthXi() const { return fDecayLengthXi; } | |
163 | inline AliFemtoThreeVector AliFemtoXi::decayVertexXi() const { return fDecayVertexXi; } | |
164 | inline float AliFemtoXi::decayVertexXiX() const { return fDecayVertexXi.x(); } | |
165 | inline float AliFemtoXi::decayVertexXiY() const { return fDecayVertexXi.y(); } | |
166 | inline float AliFemtoXi::decayVertexXiZ() const { return fDecayVertexXi.z(); } | |
167 | inline float AliFemtoXi::dcaXiDaughters() const { return fDcaXiDaughters; } | |
168 | inline float AliFemtoXi::dcaXiToPrimVertex() const { return fDcaXiToPrimVertex; } | |
169 | inline float AliFemtoXi::dcaBacToPrimVertex() const { return fDcaBachelorToPrimVertex; } | |
170 | inline AliFemtoThreeVector AliFemtoXi::momBac() const { return fMomBachelor; } | |
171 | inline float AliFemtoXi::momBacX() const { return fMomBachelor.x(); } | |
172 | inline float AliFemtoXi::momBacY() const { return fMomBachelor.y(); } | |
173 | inline float AliFemtoXi::momBacZ() const { return fMomBachelor.z(); } | |
174 | inline AliFemtoThreeVector AliFemtoXi::momXi() const { return fMomXi; } | |
175 | inline float AliFemtoXi::momXiX() const { return fMomXi.x(); } | |
176 | inline float AliFemtoXi::momXiY() const { return fMomXi.y(); } | |
177 | inline float AliFemtoXi::momXiZ() const { return fMomXi.z(); } | |
178 | inline float AliFemtoXi::alphaXi() const { return fAlphaXi; } | |
179 | inline float AliFemtoXi::ptArmXi() const {return fPtArmXi;} | |
180 | inline float AliFemtoXi::eXi() const {return fEXi;} | |
181 | inline float AliFemtoXi::eOmega() const {return fEOmega;} | |
182 | inline float AliFemtoXi::eBacPion() const {return fEBacPion;} | |
183 | inline float AliFemtoXi::eBacKaon() const {return fEBacKaon;} | |
184 | inline float AliFemtoXi::massXi() const {return fMassXi;} | |
185 | inline float AliFemtoXi::massOmega() const {return fMassOmega;} | |
186 | inline float AliFemtoXi::rapXi() const {return fRapXi;} | |
187 | inline float AliFemtoXi::rapOmega() const {return fRapOmega;} | |
188 | inline float AliFemtoXi::cTauXi() const {return fCTauXi;} | |
189 | inline float AliFemtoXi::cTauOmega() const {return fCTauOmega;} | |
190 | inline float AliFemtoXi::ptXi() const {return fPtXi;} | |
191 | inline float AliFemtoXi::ptotXi() const {return fPtotXi;} | |
192 | inline float AliFemtoXi::ptBac() const {return fPtBac;} | |
193 | inline float AliFemtoXi::ptotBac() const {return fPtotBac;} | |
194 | inline int AliFemtoXi::tpcHitsBac() const | |
195 | { return fTpcHitsBac; } | |
196 | inline float AliFemtoXi::dedxBac() const {return fDedxBachelor;} | |
197 | ||
198 | inline unsigned long AliFemtoXi::trackTopologyMapBac(unsigned int word) const { return fTopologyMapBachelor[word]; } | |
199 | inline unsigned short AliFemtoXi::idBac() const { return fKeyBac; }; | |
200 | inline unsigned short AliFemtoXi::keyBac() const { return fKeyBac; } | |
201 | ||
202 | inline void AliFemtoXi::SetdecayLengthXi(const float x){ fDecayLengthXi= x;} | |
203 | inline void AliFemtoXi::SetdecayVertexXiX(const float x){ fDecayVertexXi.setX(x);} | |
204 | inline void AliFemtoXi::SetdecayVertexXiY(const float x){ fDecayVertexXi.setY(x);} | |
205 | inline void AliFemtoXi::SetdecayVertexXiZ(const float x){ fDecayVertexXi.setZ(x);} | |
206 | inline void AliFemtoXi::SetdecayVertexXi(const AliFemtoThreeVector v){ fDecayVertexXi = v; } | |
207 | inline void AliFemtoXi::SetdcaXiDaughters(const float x){fDcaXiDaughters= x;} | |
208 | inline void AliFemtoXi::SetdcaXiToPrimVertex(const float x){fDcaXiToPrimVertex= x;} | |
209 | inline void AliFemtoXi::SetdcaBacToPrimVertex(const float x){ fDcaBachelorToPrimVertex = x;} | |
210 | inline void AliFemtoXi::SetmomBac(const AliFemtoThreeVector v){fMomBachelor = v; } | |
211 | inline void AliFemtoXi::SetmomBacX(const float x){fMomBachelor.setX(x);} | |
212 | inline void AliFemtoXi::SetmomBacY(const float x){fMomBachelor.setY(x);} | |
213 | inline void AliFemtoXi::SetmomBacZ(const float x){fMomBachelor.setZ(x);} | |
214 | inline void AliFemtoXi::SetTrackTopologyMapBac(unsigned int word, const unsigned long& m){fTopologyMapBachelor[word]=m;} | |
215 | inline void AliFemtoXi::SetmomXi(AliFemtoThreeVector v){fMomXi= v; } | |
216 | inline void AliFemtoXi::SetmomXiX(const float x){fMomXi.setX(x);} | |
217 | inline void AliFemtoXi::SetmomXiY(const float x){fMomXi.setY(x);} | |
218 | inline void AliFemtoXi::SetmomXiZ(const float x){fMomXi.setZ(x);} | |
219 | ||
220 | inline void AliFemtoXi::SetalphaXi( float x){fAlphaXi= x;} | |
221 | inline void AliFemtoXi::SetptArmXi( float x){fPtArmXi = x;} | |
222 | inline void AliFemtoXi::SeteXi( float x){fEXi= x;} | |
223 | inline void AliFemtoXi::SeteOmega( float x){fEOmega= x;} | |
224 | inline void AliFemtoXi::SeteBacPion( float x){fEBacPion= x;} | |
225 | inline void AliFemtoXi::SeteBacKaon( float x){fEBacKaon= x;} | |
226 | inline void AliFemtoXi::SetmassXi( float x){fMassXi = x;} | |
227 | inline void AliFemtoXi::SetmassOmega( float x){fMassOmega= x;} | |
228 | inline void AliFemtoXi::SetrapXi( float x){fRapXi= x;} | |
229 | inline void AliFemtoXi::SetrapOmega( float x){fRapOmega = x;} | |
230 | inline void AliFemtoXi::SetcTauXi( float x){fCTauXi = x;} | |
231 | inline void AliFemtoXi::SetcTauOmega( float x){fCTauOmega = x;} | |
232 | inline void AliFemtoXi::SetptXi( float x){fPtXi = x;} | |
233 | inline void AliFemtoXi::SetptotXi( float x){fPtotXi = x;} | |
234 | inline void AliFemtoXi::SetptBac( float x){fPtBac = x;} | |
235 | inline void AliFemtoXi::SetptotBac( float x){fPtotBac = x;} | |
236 | inline void AliFemtoXi::SetidBac(const unsigned short& s){ fKeyBac= s;} | |
237 | inline void AliFemtoXi::SetkeyBac(const unsigned short& s){ fKeyBac= s;} | |
238 | inline void AliFemtoXi::SettpcHitsBac(const int& i){fTpcHitsBac=i;} | |
239 | inline void AliFemtoXi::SetdedxBac(float x){fDedxBachelor=x;} | |
240 | ||
241 | #endif | |
242 | ||
243 | ||
244 | /*********************************************************************** | |
245 | * | |
246 | * $Log$ | |
0215f606 | 247 | * Revision 1.1.1.1 2007/04/25 15:38:41 panos |
248 | * Importing the HBT code dir | |
249 | * | |
67427ff7 | 250 | * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki |
251 | * First version on CVS | |
252 | * | |
253 | * Revision 1.3 2003/09/02 17:58:33 perev | |
254 | * gcc 3.2 updates + WarnOff | |
255 | * | |
256 | * Revision 1.2 2001/12/05 15:10:33 laue | |
257 | * Boris' updates (mainly access functions) | |
258 | * | |
259 | * | |
260 | ***********************************************************************/ | |
261 | ||
262 | ||
263 | ||
264 | ||
265 | ||
266 | ||
267 | ||
268 | ||
269 | ||
270 | ||
271 | ||
272 | ||
273 | ||
274 | ||
275 | ||
276 |