]>
Commit | Line | Data |
---|---|---|
d0e92d9a | 1 | /////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoXi: special type of particle desling with the specifics // | |
4 | // of the Xi type of particle // | |
5 | // // | |
6 | /////////////////////////////////////////////////////////////////////////// | |
7 | #ifndef ALIFEMTOXI_H | |
8 | #define ALIFEMTOXI_H | |
9 | ||
10 | #include "AliFemtoVector.h" //same as in AliFemtoTrack.h | |
11 | #include "AliFemtoV0.h" | |
12 | ||
13 | #ifdef __ROOT__ | |
14 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
15 | #include "StStrangeMuDstMaker/StXiMuDst.h" | |
16 | #endif | |
17 | #endif | |
18 | ||
19 | class AliFemtoXi : public AliFemtoV0 { | |
20 | public: | |
21 | AliFemtoXi(); | |
22 | #ifdef __ROOT__ | |
23 | #ifndef __NO_STAR_DEPENDENCE_ALLOWED__ | |
24 | AliFemtoXi(StXiMuDst&); // from strangeness Xi micro dst structure | |
25 | #endif | |
26 | #endif | |
27 | virtual ~AliFemtoXi(){/* no-op */} | |
28 | ||
29 | void UpdateXi(); | |
30 | float DecayLengthXi() const; // 3-d decay distance | |
31 | AliFemtoThreeVector DecayVertexXi() const; // Coordinates of decay vertex | |
32 | float DecayVertexXiX() const; // Coordinates of decay vertex | |
33 | float DecayVertexXiY() const; // Coordinates of decay vertex | |
34 | float DecayVertexXiZ() const; // Coordinates of decay vertex | |
35 | float DcaXiDaughters() const; // DCA of xi daughters at decay vertex | |
36 | float DcaXiToPrimVertex() const; // DCA of xi to primary vertex | |
37 | float DcaBacToPrimVertex() const; // DCA of bachelor xi daughter to pri vertex | |
38 | AliFemtoThreeVector MomBac() const; // Momentum components of bac. daughter | |
39 | float MomBacX() const; // Momentum components of bac. daughter | |
40 | float MomBacY() const; // Momentum components of bac. daughter | |
41 | float MomBacZ() const; // Momentum components of bac. daughter | |
42 | ||
43 | int TpcHitsBac() const; // Number of TPC hits on bac. daughter | |
44 | unsigned long TrackTopologyMapBac(unsigned int i) const; | |
45 | ||
46 | AliFemtoThreeVector MomXi() const ; // Momentum components of Xi | |
47 | float MomXiX() const ; // Momentum components of Xi | |
48 | float MomXiY() const ; // Momentum components of Xi | |
49 | float MomXiZ() const ; // Momentum components of Xi | |
50 | float AlphaXi() const ; // Armenteros-Podolanski variable | |
51 | float PtArmXi() const ; // Armenteros-Podolanski variable | |
52 | float EXi() const ; // Energy assuming xi hypothesis | |
53 | float EOmega() const ; // Energy assuming omega hypothesis | |
54 | float EBacKaon() const ; // Energy of bac. daughter assuming kaon | |
55 | float EBacPion() const ; // Energy of bac. daughter assuming pion | |
56 | float MassXi() const ; // Mass assuming Xi hypothesis | |
57 | float MassOmega() const ; // Mass assuming Omega hypothesis | |
58 | float RapXi() const ; // Rapidity assuming (anti) xi | |
59 | float RapOmega() const ; // Rapidity assuming (anti) omega | |
60 | float CTauXi() const ; // Lifetime (ctau) const assuming (anti) xi | |
61 | float CTauOmega() const ; // Lifetime (ctau) const assuming (anti) omega | |
62 | float PtXi() const ; // Transverse momentum | |
63 | float PtotXi() const ; // Total momentum | |
64 | float PtBac() const ; // Transverse momentum of bac. daughter | |
65 | float PtotBac() const ; // Total momentum of bac. daughter | |
66 | float DedxBac() const; // dedx of Bac track | |
67 | unsigned short IdBac() const; // Id of bac. track | |
68 | unsigned short KeyBac() const; // Id of bac. track | |
69 | ||
70 | void SetdecayLengthXi(const float x); | |
71 | void SetdecayVertexXi(const AliFemtoThreeVector v); | |
72 | void SetdecayVertexXiX(const float x); | |
73 | void SetdecayVertexXiY(const float x); | |
74 | void SetdecayVertexXiZ(const float x); | |
75 | void SetdcaXiDaughters(const float x); | |
76 | void SetdcaXiToPrimVertex(const float x); | |
77 | void SetdcaBacToPrimVertex(const float x); | |
78 | void SetmomBac(const AliFemtoThreeVector v); | |
79 | void SetmomBacX(const float x); | |
80 | void SetmomBacY(const float x); | |
81 | void SetmomBacZ(const float x); | |
82 | ||
83 | void SettpcHitsBac(const int& word); | |
84 | ||
85 | void SetTrackTopologyMapBac(unsigned int word, const unsigned long& m); | |
86 | ||
87 | void SetmomXi( AliFemtoThreeVector v); | |
88 | void SetmomXiX( float x); | |
89 | void SetmomXiY( float x); | |
90 | void SetmomXiZ( float x); | |
91 | void SetalphaXi( float x); | |
92 | void SetptArmXi( float x); | |
93 | void SeteXi( float x); | |
94 | void SeteOmega( float x); | |
95 | void SeteBacPion( float x); | |
96 | void SeteBacKaon( float x); | |
97 | void SetmassXi( float x); | |
98 | void SetmassOmega( float x); | |
99 | void SetrapXi( float x); | |
100 | void SetrapOmega( float x); | |
101 | void SetcTauXi( float x); | |
102 | void SetcTauOmega( float x); | |
103 | void SetptXi( float x); | |
104 | void SetptotXi( float x); | |
105 | void SetptBac( float x); | |
106 | void SetptotBac( float x); | |
107 | void SetidBac(const unsigned short& s); | |
108 | void SetdedxBac(float x); | |
109 | void SetkeyBac(const unsigned short& s); | |
110 | ||
111 | ||
112 | protected: | |
113 | int fCharge; // Charge | |
114 | float fDecayLengthXi; // Decay Length of th Xi | |
115 | AliFemtoThreeVector fDecayVertexXi; // Xi decay vertex location | |
116 | float fDcaXiDaughters; // Dca of Xi daughters | |
117 | float fDcaXiToPrimVertex; // Dca of Xi to primary vertex | |
118 | float fDcaBachelorToPrimVertex; // Dca of bachelor to primary vertex | |
119 | AliFemtoThreeVector fMomBachelor; // Momentum of the bachelor | |
120 | ||
121 | unsigned int fTopologyMapBachelor[2]; // TPC topology map for the bachelor | |
122 | unsigned short fKeyBachelor; // Unique key for the bachelor | |
123 | ||
124 | int fTpcHitsBac; // Number of TPC hits for bachelor | |
125 | ||
126 | float fChi2Xi; // Fit quality for Xi | |
127 | float fClXi; // Confidence level for Xi | |
128 | float fChi2Bachelor; // Fit quality for bachelor | |
129 | float fClBachelor; // Confidence level for bachelor | |
130 | ||
131 | float fDedxBachelor; // dEdx for bachelor | |
132 | unsigned short fNufDedxBachelor; // dEdx for bachelor | |
133 | ||
134 | // the following variables are not in the persistent version and can be calculated via UpdateXi(); | |
135 | AliFemtoThreeVector fMomXi; // Momentum of the Xi | |
136 | float fAlphaXi; // Armenteros-Podolanski variable | |
137 | float fPtArmXi; // Armenteros-Podolanski variable | |
138 | ||
139 | float fEXi; // Energy assuming xi hypothesis | |
140 | float fEOmega; // Energy assuming omega hypothesis | |
141 | float fEBacPion; // Energy of bac. daughter assuming kaon | |
142 | float fEBacKaon; // Energy of bac. daughter assuming pion | |
143 | float fMassXi; // Mass assuming Xi hypothesis | |
144 | float fMassOmega; // Mass assuming Omega hypothesis | |
145 | float fRapXi; // Rapidity assuming (anti) xi | |
146 | float fRapOmega; // Rapidity assuming (anti) omega | |
147 | float fCTauXi; // Lifetime (ctau) const assuming (anti) xi | |
148 | float fCTauOmega; // Lifetime (ctau) const assuming (anti) omega | |
149 | float fPtXi; // Transverse momentum | |
150 | float fPtotXi; // Total momentum | |
151 | float fPtBac; // Transverse momentum of bac. daughter | |
152 | float fPtotBac; // Total momentum of bac. daughter | |
153 | ||
154 | unsigned short fKeyBac; // Key of bac. track | |
155 | }; | |
156 | ||
157 | inline float AliFemtoXi::DecayLengthXi() const { return fDecayLengthXi; } | |
158 | inline AliFemtoThreeVector AliFemtoXi::DecayVertexXi() const { return fDecayVertexXi; } | |
159 | inline float AliFemtoXi::DecayVertexXiX() const { return fDecayVertexXi.x(); } | |
160 | inline float AliFemtoXi::DecayVertexXiY() const { return fDecayVertexXi.y(); } | |
161 | inline float AliFemtoXi::DecayVertexXiZ() const { return fDecayVertexXi.z(); } | |
162 | inline float AliFemtoXi::DcaXiDaughters() const { return fDcaXiDaughters; } | |
163 | inline float AliFemtoXi::DcaXiToPrimVertex() const { return fDcaXiToPrimVertex; } | |
164 | inline float AliFemtoXi::DcaBacToPrimVertex() const { return fDcaBachelorToPrimVertex; } | |
165 | inline AliFemtoThreeVector AliFemtoXi::MomBac() const { return fMomBachelor; } | |
166 | inline float AliFemtoXi::MomBacX() const { return fMomBachelor.x(); } | |
167 | inline float AliFemtoXi::MomBacY() const { return fMomBachelor.y(); } | |
168 | inline float AliFemtoXi::MomBacZ() const { return fMomBachelor.z(); } | |
169 | inline AliFemtoThreeVector AliFemtoXi::MomXi() const { return fMomXi; } | |
170 | inline float AliFemtoXi::MomXiX() const { return fMomXi.x(); } | |
171 | inline float AliFemtoXi::MomXiY() const { return fMomXi.y(); } | |
172 | inline float AliFemtoXi::MomXiZ() const { return fMomXi.z(); } | |
173 | inline float AliFemtoXi::AlphaXi() const { return fAlphaXi; } | |
174 | inline float AliFemtoXi::PtArmXi() const {return fPtArmXi;} | |
175 | inline float AliFemtoXi::EXi() const {return fEXi;} | |
176 | inline float AliFemtoXi::EOmega() const {return fEOmega;} | |
177 | inline float AliFemtoXi::EBacPion() const {return fEBacPion;} | |
178 | inline float AliFemtoXi::EBacKaon() const {return fEBacKaon;} | |
179 | inline float AliFemtoXi::MassXi() const {return fMassXi;} | |
180 | inline float AliFemtoXi::MassOmega() const {return fMassOmega;} | |
181 | inline float AliFemtoXi::RapXi() const {return fRapXi;} | |
182 | inline float AliFemtoXi::RapOmega() const {return fRapOmega;} | |
183 | inline float AliFemtoXi::CTauXi() const {return fCTauXi;} | |
184 | inline float AliFemtoXi::CTauOmega() const {return fCTauOmega;} | |
185 | inline float AliFemtoXi::PtXi() const {return fPtXi;} | |
186 | inline float AliFemtoXi::PtotXi() const {return fPtotXi;} | |
187 | inline float AliFemtoXi::PtBac() const {return fPtBac;} | |
188 | inline float AliFemtoXi::PtotBac() const {return fPtotBac;} | |
189 | inline int AliFemtoXi::TpcHitsBac() const | |
190 | { return fTpcHitsBac; } | |
191 | inline float AliFemtoXi::DedxBac() const {return fDedxBachelor;} | |
192 | ||
193 | inline unsigned long AliFemtoXi::TrackTopologyMapBac(unsigned int word) const { return fTopologyMapBachelor[word]; } | |
ea77036b | 194 | inline unsigned short AliFemtoXi::IdBac() const { return fKeyBac; } |
d0e92d9a | 195 | inline unsigned short AliFemtoXi::KeyBac() const { return fKeyBac; } |
196 | ||
197 | inline void AliFemtoXi::SetdecayLengthXi(const float x){ fDecayLengthXi= x;} | |
a19edcc9 | 198 | inline void AliFemtoXi::SetdecayVertexXiX(const float x){ fDecayVertexXi.SetX(x);} |
199 | inline void AliFemtoXi::SetdecayVertexXiY(const float x){ fDecayVertexXi.SetY(x);} | |
200 | inline void AliFemtoXi::SetdecayVertexXiZ(const float x){ fDecayVertexXi.SetZ(x);} | |
d0e92d9a | 201 | inline void AliFemtoXi::SetdecayVertexXi(const AliFemtoThreeVector v){ fDecayVertexXi = v; } |
202 | inline void AliFemtoXi::SetdcaXiDaughters(const float x){fDcaXiDaughters= x;} | |
203 | inline void AliFemtoXi::SetdcaXiToPrimVertex(const float x){fDcaXiToPrimVertex= x;} | |
204 | inline void AliFemtoXi::SetdcaBacToPrimVertex(const float x){ fDcaBachelorToPrimVertex = x;} | |
205 | inline void AliFemtoXi::SetmomBac(const AliFemtoThreeVector v){fMomBachelor = v; } | |
a19edcc9 | 206 | inline void AliFemtoXi::SetmomBacX(const float x){fMomBachelor.SetX(x);} |
207 | inline void AliFemtoXi::SetmomBacY(const float x){fMomBachelor.SetY(x);} | |
208 | inline void AliFemtoXi::SetmomBacZ(const float x){fMomBachelor.SetZ(x);} | |
d0e92d9a | 209 | inline void AliFemtoXi::SetTrackTopologyMapBac(unsigned int word, const unsigned long& m){fTopologyMapBachelor[word]=m;} |
210 | inline void AliFemtoXi::SetmomXi(AliFemtoThreeVector v){fMomXi= v; } | |
a19edcc9 | 211 | inline void AliFemtoXi::SetmomXiX(const float x){fMomXi.SetX(x);} |
212 | inline void AliFemtoXi::SetmomXiY(const float x){fMomXi.SetY(x);} | |
213 | inline void AliFemtoXi::SetmomXiZ(const float x){fMomXi.SetZ(x);} | |
d0e92d9a | 214 | |
215 | inline void AliFemtoXi::SetalphaXi( float x){fAlphaXi= x;} | |
216 | inline void AliFemtoXi::SetptArmXi( float x){fPtArmXi = x;} | |
217 | inline void AliFemtoXi::SeteXi( float x){fEXi= x;} | |
218 | inline void AliFemtoXi::SeteOmega( float x){fEOmega= x;} | |
219 | inline void AliFemtoXi::SeteBacPion( float x){fEBacPion= x;} | |
220 | inline void AliFemtoXi::SeteBacKaon( float x){fEBacKaon= x;} | |
221 | inline void AliFemtoXi::SetmassXi( float x){fMassXi = x;} | |
222 | inline void AliFemtoXi::SetmassOmega( float x){fMassOmega= x;} | |
223 | inline void AliFemtoXi::SetrapXi( float x){fRapXi= x;} | |
224 | inline void AliFemtoXi::SetrapOmega( float x){fRapOmega = x;} | |
225 | inline void AliFemtoXi::SetcTauXi( float x){fCTauXi = x;} | |
226 | inline void AliFemtoXi::SetcTauOmega( float x){fCTauOmega = x;} | |
227 | inline void AliFemtoXi::SetptXi( float x){fPtXi = x;} | |
228 | inline void AliFemtoXi::SetptotXi( float x){fPtotXi = x;} | |
229 | inline void AliFemtoXi::SetptBac( float x){fPtBac = x;} | |
230 | inline void AliFemtoXi::SetptotBac( float x){fPtotBac = x;} | |
231 | inline void AliFemtoXi::SetidBac(const unsigned short& s){ fKeyBac= s;} | |
232 | inline void AliFemtoXi::SetkeyBac(const unsigned short& s){ fKeyBac= s;} | |
233 | inline void AliFemtoXi::SettpcHitsBac(const int& i){fTpcHitsBac=i;} | |
234 | inline void AliFemtoXi::SetdedxBac(float x){fDedxBachelor=x;} | |
235 | ||
236 | #endif | |
237 | ||
238 | ||
239 | /*********************************************************************** | |
240 | * | |
241 | * $Log$ | |
ea77036b | 242 | * Revision 1.1.2.1 2007/10/05 09:38:17 akisiel |
243 | * Fix stray colons | |
244 | * | |
245 | * Revision 1.1 2007/05/16 10:22:12 akisiel | |
246 | * Making the directory structure of AliFemto flat. All files go into one common directory | |
247 | * | |
d0e92d9a | 248 | * Revision 1.2 2007/05/03 09:42:29 akisiel |
249 | * Fixing Effective C++ warnings | |
250 | * | |
251 | * Revision 1.1.1.1 2007/04/25 15:38:41 panos | |
252 | * Importing the HBT code dir | |
253 | * | |
254 | * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki | |
255 | * First version on CVS | |
256 | * | |
257 | * Revision 1.3 2003/09/02 17:58:33 perev | |
258 | * gcc 3.2 updates + WarnOff | |
259 | * | |
260 | * Revision 1.2 2001/12/05 15:10:33 laue | |
261 | * Boris' updates (mainly access functions) | |
262 | * | |
263 | * | |
264 | ***********************************************************************/ | |
265 | ||
266 | ||
267 | ||
268 | ||
269 | ||
270 | ||
271 | ||
272 | ||
273 | ||
274 | ||
275 | ||
276 | ||
277 | ||
278 | ||
279 | ||
280 |