1 ///////////////////////////////////////////////////////////////////////////
3 // AliFemtoV0: special type of particle desling with the specifics //
4 // of the V0 type of particle //
5 // It stores the information both about the V0 itself and about it's //
6 // daughters, so that the caut betwen the daughter characteristics is //
9 ///////////////////////////////////////////////////////////////////////////
10 #include "AliFemtoV0.h"
11 #include "phys_constants.h"
13 // -----------------------------------------------------------------------
14 AliFemtoV0::AliFemtoV0():
15 fDecayLengthV0(0), fDecayVertexV0(0), fPrimaryVertex(0),
16 fDcaV0Daughters(0), fDcaV0ToPrimVertex(0),
17 fDcaPosToPrimVertex(0), fDcaNegToPrimVertex(0),
18 fMomPos(0), fMomNeg(0),
19 fTpcHitsPos(0), fTpcHitsNeg(0), fOnFlyStatusV0(0),
20 fChi2V0(0), fClV0(0), fChi2Pos(0), fClPos(0), fChi2Neg(0), fClNeg(0), fCosPointingAngle(0),
21 fDedxPos(0), fErrDedxPos(0), fLenDedxPos(0),
22 fDedxNeg(0), fErrDedxNeg(0), fLenDedxNeg(0),
23 fNufDedxPos(0), fNufDedxNeg(0),
24 fHelixPos(), fHelixNeg(),
25 fMomV0(0), fEtaV0(0), fPhiV0(0), fYV0(0),
26 fAlphaV0(0), fPtArmV0(0),
27 fELambda(0), fEK0Short(0),
28 fEPosProton(0), fEPosPion(0),
29 fENegProton(0), fENegPion(0),
30 fMassLambda(0), fMassAntiLambda(0),
31 fMassK0Short(0), fRapLambda(0),
32 fRapK0Short(0), fCTauLambda(0),
33 fCTauK0Short(0), fPtV0(0), fPtotV0(0),
34 fPtPos(0), fPtotPos(0),
35 fPtNeg(0), fPtotNeg(0),
36 fEtaPos(0), fEtaNeg(0), fTPCNclsPos(0), fTPCNclsNeg(0), fClustersPos(0), fClustersNeg(0), fSharingPos(0), fSharingNeg(0), fNdofPos(0), fNdofNeg(0), fStatusPos(0), fStatusNeg(0),
37 fPosNSigmaTPCK(0), fPosNSigmaTPCPi(0), fPosNSigmaTPCP(0), fNegNSigmaTPCK(0), fNegNSigmaTPCPi(0), fNegNSigmaTPCP(0),
38 fPosNSigmaTOFK(0), fPosNSigmaTOFPi(0), fPosNSigmaTOFP(0), fNegNSigmaTOFK(0), fNegNSigmaTOFPi(0), fNegNSigmaTOFP(0),
39 fKeyNeg(0), fKeyPos(0),
40 fNominalTpcEntrancePointPos(0,0,0),fNominalTpcExitPointPos(0,0,0),
41 fNominalTpcEntrancePointNeg(0,0,0),fNominalTpcExitPointNeg(0,0,0),
42 fTPCMomentumPos(0), fTPCMomentumNeg(0),
43 fTOFProtonTimePos(0), fTOFPionTimePos(0), fTOFKaonTimePos(0),
44 fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
45 fImpactDprimPos(-999), fImpactDweakPos(-999), fImpactDmatPos(-999), fImpactDprimNeg(-999), fImpactDweakNeg(-999), fImpactDmatNeg(-999),
48 // Default empty constructor
49 fTrackTopologyMapPos[0] = 0;
50 fTrackTopologyMapPos[1] = 0;
51 fTrackTopologyMapNeg[0] = 0;
52 fTrackTopologyMapNeg[1] = 0;
56 fNominalTpcPointsPos[i].SetX(0);
57 fNominalTpcPointsPos[i].SetY(0);
58 fNominalTpcPointsPos[i].SetZ(0);
59 fNominalTpcPointsNeg[i].SetX(0);
60 fNominalTpcPointsNeg[i].SetY(0);
61 fNominalTpcPointsNeg[i].SetZ(0);
65 // -----------------------------------------------------------------------
66 AliFemtoV0::AliFemtoV0(const AliFemtoV0& v) :
67 fDecayLengthV0(0), fDecayVertexV0(0), fPrimaryVertex(0),
68 fDcaV0Daughters(0), fDcaV0ToPrimVertex(0),
69 fDcaPosToPrimVertex(0), fDcaNegToPrimVertex(0),
70 fMomPos(0), fMomNeg(0),
71 fTpcHitsPos(0), fTpcHitsNeg(0), fOnFlyStatusV0(0),
72 fChi2V0(0), fClV0(0), fChi2Pos(0), fClPos(0), fChi2Neg(0), fClNeg(0), fCosPointingAngle(0),
73 fDedxPos(0), fErrDedxPos(0), fLenDedxPos(0),
74 fDedxNeg(0), fErrDedxNeg(0), fLenDedxNeg(0),
75 fNufDedxPos(0), fNufDedxNeg(0),
76 fHelixPos(), fHelixNeg(),
77 fMomV0(0), fEtaV0(0), fPhiV0(0), fYV0(0),
78 fAlphaV0(0), fPtArmV0(0),
79 fELambda(0), fEK0Short(0),
80 fEPosProton(0), fEPosPion(0),
81 fENegProton(0), fENegPion(0),
82 fMassLambda(0), fMassAntiLambda(0),
83 fMassK0Short(0), fRapLambda(0),
84 fRapK0Short(0), fCTauLambda(0),
85 fCTauK0Short(0), fPtV0(0), fPtotV0(0),
86 fPtPos(0), fPtotPos(0),
87 fPtNeg(0), fPtotNeg(0),
88 fEtaPos(0), fEtaNeg(0), fTPCNclsPos(0), fTPCNclsNeg(0), fClustersPos(0), fClustersNeg(0), fSharingPos(0), fSharingNeg(0), fNdofPos(0), fNdofNeg(0), fStatusPos(0), fStatusNeg(0),
89 fPosNSigmaTPCK(0), fPosNSigmaTPCPi(0), fPosNSigmaTPCP(0), fNegNSigmaTPCK(0), fNegNSigmaTPCPi(0), fNegNSigmaTPCP(0),
90 fPosNSigmaTOFK(0), fPosNSigmaTOFPi(0), fPosNSigmaTOFP(0), fNegNSigmaTOFK(0), fNegNSigmaTOFPi(0), fNegNSigmaTOFP(0),
91 fKeyNeg(0), fKeyPos(0),
92 fNominalTpcEntrancePointPos(0,0,0),fNominalTpcExitPointPos(0,0,0),
93 fNominalTpcEntrancePointNeg(0,0,0),fNominalTpcExitPointNeg(0,0,0),
94 fTPCMomentumPos(0), fTPCMomentumNeg(0),
95 fTOFProtonTimePos(0), fTOFPionTimePos(0), fTOFKaonTimePos(0),
96 fTOFProtonTimeNeg(0), fTOFPionTimeNeg(0), fTOFKaonTimeNeg(0),
97 fImpactDprimPos(0), fImpactDweakPos(0), fImpactDmatPos(0), fImpactDprimNeg(0), fImpactDweakNeg(0), fImpactDmatNeg(0),
101 fDecayLengthV0 = v.fDecayLengthV0;
102 fDecayVertexV0 = v.fDecayVertexV0;
103 fDcaV0Daughters = v.fDcaV0Daughters;
104 fDcaV0ToPrimVertex = v.fDcaV0ToPrimVertex;
105 fDcaPosToPrimVertex = v.fDcaPosToPrimVertex;
106 fDcaNegToPrimVertex = v.fDcaNegToPrimVertex;
113 fCosPointingAngle = v.fCosPointingAngle;
115 fTrackTopologyMapPos[0] = v.fTrackTopologyMapPos[0];
116 fTrackTopologyMapPos[1] = v.fTrackTopologyMapPos[1];
117 fTrackTopologyMapNeg[0] = v.fTrackTopologyMapNeg[0];
118 fTrackTopologyMapNeg[1] = v.fTrackTopologyMapNeg[1];
124 fTPCNclsPos = v.fTPCNclsPos;
125 fTPCNclsNeg = v.fTPCNclsNeg;
126 fClustersPos = v.fClustersPos;
127 fClustersNeg = v.fClustersNeg;
128 fSharingPos = v.fSharingPos;
129 fSharingNeg = v.fSharingNeg;
130 fNdofPos = v.fNdofPos;
131 fNdofNeg = v.fNdofNeg;
132 fStatusPos = v.fStatusPos;
133 fStatusNeg = v.fStatusNeg;
134 fOnFlyStatusV0 = v.fOnFlyStatusV0;
136 fPosNSigmaTPCK = v.fPosNSigmaTPCK;
137 fPosNSigmaTPCPi = v.fPosNSigmaTPCPi ;
138 fPosNSigmaTPCP = v.fPosNSigmaTPCP ;
139 fNegNSigmaTPCK = v.fNegNSigmaTPCK ;
140 fNegNSigmaTPCPi = v.fNegNSigmaTPCPi ;
141 fNegNSigmaTPCP = v.fNegNSigmaTPCP ;
142 fPosNSigmaTOFK = v.fPosNSigmaTOFK ;
143 fPosNSigmaTOFPi = v.fPosNSigmaTOFPi ;
144 fPosNSigmaTOFP = v.fPosNSigmaTOFP ;
145 fNegNSigmaTOFK = v.fNegNSigmaTOFK ;
146 fNegNSigmaTOFPi = v.fNegNSigmaTOFPi ;
147 fNegNSigmaTOFP = v.fNegNSigmaTOFP ;
150 fTpcHitsPos = v.fTpcHitsPos;
151 fTpcHitsNeg = v.fTpcHitsNeg;
155 fChi2Pos = v.fChi2Pos;
157 fChi2Neg = v.fChi2Neg;
159 fDedxPos = v.fDedxPos;
160 fErrDedxPos = v.fErrDedxPos;//Gael 04Fev2002
161 fLenDedxPos = v.fLenDedxPos;//Gael 04Fev2002
162 fDedxNeg = v.fDedxNeg;
163 fErrDedxNeg = v.fErrDedxNeg;//Gael 04Fev2002
164 fLenDedxNeg = v.fLenDedxNeg;//Gael 04Fev2002
166 fNufDedxPos = v.fNufDedxPos;
167 fNufDedxNeg = v.fNufDedxNeg;
169 fHelixPos = v.fHelixPos;// Gael 12 Sept
170 fHelixNeg = v.fHelixNeg;// Gael 12 Sept
172 fNominalTpcEntrancePointPos = v.fNominalTpcEntrancePointPos;
173 fNominalTpcExitPointPos = v.fNominalTpcExitPointPos;
174 fNominalTpcEntrancePointNeg = v.fNominalTpcEntrancePointNeg;
175 fNominalTpcExitPointNeg = v.fNominalTpcExitPointNeg;
177 fTPCMomentumPos = v.fTPCMomentumPos;
178 fTPCMomentumNeg = v.fTPCMomentumNeg;
180 fTOFProtonTimePos=v.fTOFProtonTimePos; fTOFPionTimePos=v.fTOFPionTimePos; fTOFKaonTimePos=v.fTOFKaonTimePos;
181 fTOFProtonTimeNeg=v.fTOFProtonTimeNeg; fTOFPionTimeNeg=v.fTOFPionTimeNeg; fTOFKaonTimeNeg=v.fTOFKaonTimeNeg;
186 fNominalTpcPointsPos[i].SetX(v.fNominalTpcPointsPos[i].x());
187 fNominalTpcPointsPos[i].SetY(v.fNominalTpcPointsPos[i].y());
188 fNominalTpcPointsPos[i].SetZ(v.fNominalTpcPointsPos[i].z());
189 fNominalTpcPointsNeg[i].SetX(v.fNominalTpcPointsNeg[i].x());
190 fNominalTpcPointsNeg[i].SetY(v.fNominalTpcPointsNeg[i].y());
191 fNominalTpcPointsNeg[i].SetZ(v.fNominalTpcPointsNeg[i].z());
194 fImpactDprimPos = v.fImpactDprimPos;
195 fImpactDweakPos = v.fImpactDweakPos;
196 fImpactDmatPos = v.fImpactDmatPos;
197 fImpactDprimNeg = v.fImpactDprimNeg;
198 fImpactDweakNeg = v.fImpactDweakNeg;
199 fImpactDmatNeg = v.fImpactDmatNeg;
201 fHiddenInfo = v.fHiddenInfo? v.fHiddenInfo->Clone() : 0;// GR 11 DEC 02
204 AliFemtoV0& AliFemtoV0::operator=(const AliFemtoV0& aV0)
206 // assignment operator
209 fDecayLengthV0 = aV0.fDecayLengthV0;
210 fDecayVertexV0 = aV0.fDecayVertexV0;
211 fDcaV0Daughters = aV0.fDcaV0Daughters;
212 fDcaV0ToPrimVertex = aV0.fDcaV0ToPrimVertex;
213 fDcaPosToPrimVertex = aV0.fDcaPosToPrimVertex;
214 fDcaNegToPrimVertex = aV0.fDcaNegToPrimVertex;
215 fMomPos = aV0.fMomPos;
216 fMomNeg = aV0.fMomNeg;
218 fTrackTopologyMapPos[0] = aV0.fTrackTopologyMapPos[0];
219 fTrackTopologyMapPos[1] = aV0.fTrackTopologyMapPos[1];
220 fTrackTopologyMapNeg[0] = aV0.fTrackTopologyMapNeg[0];
221 fTrackTopologyMapNeg[1] = aV0.fTrackTopologyMapNeg[1];
223 fKeyPos = aV0.fKeyPos;
224 fKeyNeg = aV0.fKeyNeg;
226 fEtaPos = aV0.fEtaPos;
227 fEtaNeg = aV0.fEtaNeg;
228 fTPCNclsPos = aV0.fTPCNclsPos;
229 fTPCNclsNeg = aV0.fTPCNclsNeg;
230 fClustersPos = aV0.fClustersPos;
231 fClustersNeg = aV0.fClustersNeg;
232 fSharingPos = aV0.fSharingPos;
233 fSharingNeg = aV0.fSharingNeg;
234 fNdofPos = aV0.fNdofPos;
235 fNdofNeg = aV0.fNdofNeg;
236 fStatusPos = aV0.fStatusPos;
237 fStatusNeg = aV0.fStatusNeg;
238 fOnFlyStatusV0 = aV0.fOnFlyStatusV0;
240 fPosNSigmaTPCK = aV0.fPosNSigmaTPCK;
241 fPosNSigmaTPCPi = aV0.fPosNSigmaTPCPi ;
242 fPosNSigmaTPCP = aV0.fPosNSigmaTPCP ;
243 fNegNSigmaTPCK = aV0.fNegNSigmaTPCK ;
244 fNegNSigmaTPCPi = aV0.fNegNSigmaTPCPi ;
245 fNegNSigmaTPCP = aV0.fNegNSigmaTPCP ;
246 fPosNSigmaTOFK = aV0.fPosNSigmaTOFK ;
247 fPosNSigmaTOFPi = aV0.fPosNSigmaTOFPi ;
248 fPosNSigmaTOFP = aV0.fPosNSigmaTOFP ;
249 fNegNSigmaTOFK = aV0.fNegNSigmaTOFK ;
250 fNegNSigmaTOFPi = aV0.fNegNSigmaTOFPi ;
251 fNegNSigmaTOFP = aV0.fNegNSigmaTOFP ;
256 fCosPointingAngle = aV0.fCosPointingAngle;
258 fTpcHitsPos = aV0.fTpcHitsPos;
259 fTpcHitsNeg = aV0.fTpcHitsNeg;
261 fChi2V0 = aV0.fChi2V0;
263 fChi2Pos = aV0.fChi2Pos;
265 fChi2Neg = aV0.fChi2Neg;
267 fDedxPos = aV0.fDedxPos;
268 fErrDedxPos = aV0.fErrDedxPos;//Gael 04Fev2002
269 fLenDedxPos = aV0.fLenDedxPos;//Gael 04Fev2002
270 fDedxNeg = aV0.fDedxNeg;
271 fErrDedxNeg = aV0.fErrDedxNeg;//Gael 04Fev2002
272 fLenDedxNeg = aV0.fLenDedxNeg;//Gael 04Fev2002
274 fNufDedxPos = aV0.fNufDedxPos;
275 fNufDedxNeg = aV0.fNufDedxNeg;
277 fHelixPos = aV0.fHelixPos;// Gael 12 Sept
278 fHelixNeg = aV0.fHelixNeg;// Gael 12 Sept
280 fNominalTpcEntrancePointPos = aV0.fNominalTpcEntrancePointPos;
281 fNominalTpcExitPointPos = aV0.fNominalTpcExitPointPos;
282 fNominalTpcEntrancePointPos = aV0.fNominalTpcEntrancePointPos;
283 fNominalTpcExitPointPos = aV0.fNominalTpcExitPointPos;
284 fNominalTpcEntrancePointNeg = aV0.fNominalTpcEntrancePointNeg;
285 fNominalTpcExitPointNeg = aV0.fNominalTpcExitPointNeg;
287 fTPCMomentumPos = aV0.fTPCMomentumPos;
288 fTPCMomentumNeg = aV0.fTPCMomentumNeg;
290 fTOFProtonTimePos=aV0.fTOFProtonTimePos; fTOFPionTimePos=aV0.fTOFPionTimePos; fTOFKaonTimePos=aV0.fTOFKaonTimePos;
291 fTOFProtonTimeNeg=aV0.fTOFProtonTimeNeg; fTOFPionTimeNeg=aV0.fTOFPionTimeNeg; fTOFKaonTimeNeg=aV0.fTOFKaonTimeNeg;
295 fNominalTpcPointsPos[i].SetX(aV0.fNominalTpcPointsPos[i].x());
296 fNominalTpcPointsPos[i].SetY(aV0.fNominalTpcPointsPos[i].y());
297 fNominalTpcPointsPos[i].SetZ(aV0.fNominalTpcPointsPos[i].z());
298 fNominalTpcPointsNeg[i].SetX(aV0.fNominalTpcPointsNeg[i].x());
299 fNominalTpcPointsNeg[i].SetY(aV0.fNominalTpcPointsNeg[i].y());
300 fNominalTpcPointsNeg[i].SetZ(aV0.fNominalTpcPointsNeg[i].z());
303 fImpactDprimPos = aV0.fImpactDprimPos;
304 fImpactDweakPos = aV0.fImpactDweakPos;
305 fImpactDmatPos = aV0.fImpactDmatPos;
306 fImpactDprimNeg = aV0.fImpactDprimNeg;
307 fImpactDweakNeg = aV0.fImpactDweakNeg;
308 fImpactDmatNeg = aV0.fImpactDmatNeg;
310 if (fHiddenInfo) delete fHiddenInfo;
311 fHiddenInfo = aV0.fHiddenInfo? aV0.fHiddenInfo->Clone() : 0;// GR 11 DEC 02
317 // -----------------------------------------------------------------------
318 void AliFemtoV0::UpdateV0(){
319 //Calc. derived memebers of the v0 class
320 float tMomNegAlongV0, tMomPosAlongV0;
322 fMomV0 = fMomPos + fMomNeg;
323 fPtV0 = fMomV0.Perp();
324 fPtotV0 = fMomV0.Mag();
325 fPtPos = fMomPos.Perp();
326 fPtotPos= fMomPos.Mag();
327 fPtNeg = fMomNeg.Perp();
328 fPtotNeg= fMomNeg.Mag();
329 fELambda= ::sqrt(fPtotV0*fPtotV0+kMLAMBDA*kMLAMBDA);
330 fEK0Short= ::sqrt(fPtotV0*fPtotV0+kMKAON0SHORT*kMKAON0SHORT);
331 fEPosProton = ::sqrt(fPtotPos*fPtotPos+kMPROTON*kMPROTON);
332 fENegProton = ::sqrt(fPtotNeg*fPtotNeg+kMPROTON*kMPROTON);
333 fEPosPion = ::sqrt(fPtotPos*fPtotPos+kMPIONPLUS*kMPIONPLUS);
334 fENegPion = ::sqrt(fPtotNeg*fPtotNeg+kMPIONMINUS*kMPIONMINUS);
336 tMomNegAlongV0 = fMomNeg*fMomV0 / ::sqrt(::pow(fPtotV0,2));
337 tMomPosAlongV0 = fMomPos*fMomV0 / ::sqrt(::pow(fPtotV0,2));
339 if(tMomPosAlongV0+tMomNegAlongV0!=0)
340 fAlphaV0 = (tMomPosAlongV0-tMomNegAlongV0)/(tMomPosAlongV0+tMomNegAlongV0);
342 //printf("%1.15f\n",fPtotPos);
343 //printf("%1.15f\n",tMomPosAlongV0);
345 if(fPtotPos<tMomPosAlongV0) fPtArmV0=0; else
347 fPtArmV0 = ::sqrt(fPtotPos*fPtotPos - tMomPosAlongV0*tMomPosAlongV0);
349 fMassLambda = ::sqrt(::pow(fEPosProton+fENegPion,2)-::pow(fPtotV0,2));
350 fMassAntiLambda = ::sqrt(::pow(fENegProton+fEPosPion,2)-::pow(fPtotV0,2));
351 fMassK0Short = ::sqrt(::pow(fENegPion+fEPosPion,2)-::pow(fPtotV0,2));
352 fRapLambda = 0.5*::log( (fELambda+fMomV0.z()) / (fELambda-fMomV0.z()) );
354 fCTauLambda = kMLAMBDA*(fDecayLengthV0) / ::sqrt( ::pow((double)fMomV0.Mag(),2.) );
356 fRapK0Short = 0.5*::log( (fEK0Short+fMomV0.z()) / (fEK0Short-fMomV0.z()) );
357 fCTauK0Short = kMKAON0SHORT*(fDecayLengthV0) / ::sqrt( ::pow((double)fMomV0.Mag(),2.) );
360 // -----------------------------------------------------------------------
361 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
363 #include "StStrangeMuDstMaker/StV0MuDst.h"
364 AliFemtoV0::AliFemtoV0( StV0MuDst& v){ // from strangess micro dst structure
365 fDecayLengthV0 = v.decayLengthV0();
366 fDecayVertexV0 = AliFemtoThreeVector( v.decayVertexV0X(), v.decayVertexV0Y(), v.decayVertexV0Z() );
367 fDcaV0Daughters = v.dcaV0Daughters();
368 fDcaV0ToPrimVertex = v.dcaV0ToPrimVertex();
369 fDcaPosToPrimVertex = v.dcaPosToPrimVertex();
370 fDcaNegToPrimVertex = v.dcaNegToPrimVertex();
371 fMomPos = AliFemtoThreeVector( v.momPosX(), v.momPosY(), v.momPosZ() );
372 fMomNeg = AliFemtoThreeVector( v.momNegX(), v.momNegY(), v.momNegZ() );
374 cout << " hist pos ";
375 cout << v.topologyMapPos().numberOfHits(kTpcId);
376 cout << " hist neg ";
377 cout << v.topologyMapNeg().numberOfHits(kTpcId) << endl;
379 fTpcHitsPos = ( v.topologyMapPos().numberOfHits(kTpcId) );
380 fTpcHitsNeg = ( v.topologyMapNeg().numberOfHits(kTpcId) );
381 fTrackTopologyMapPos[0] = ( v.topologyMapPos().data(0) );
382 fTrackTopologyMapPos[1] = ( v.topologyMapPos().data(1) );
383 fTrackTopologyMapNeg[0] = ( v.topologyMapNeg().data(0) );
384 fTrackTopologyMapNeg[1] = ( v.topologyMapNeg().data(1) );
385 fKeyPos = v.keyPos();
386 fKeyNeg = v.keyNeg();
387 fChi2V0 = v.chi2V0();
389 fChi2Pos = v.chi2Pos();
391 fChi2Neg = v.chi2Neg();
393 fDedxPos = v.dedxPos();
394 fErrDedxPos = v.errDedxPos();//Gael 04Fev2002
395 fLenDedxPos = v.lenDedxPos();//Gael 04Fev2002
396 fDedxNeg = v.dedxNeg();
397 fErrDedxNeg = v.errDedxNeg();//Gael 04Fev2002
398 fLenDedxNeg = v.lenDedxNeg();//Gael 04Fev2002
399 fNufDedxPos = v.nufDedxPos();
400 fNufDedxNeg = v.nufDedxNeg();
401 fHiddenInfo = 0;//GR 11 DEC 02
404 cout << " keyPos " << v.keyPos() << endl;
405 cout << " keyNeg " << v.keyNeg() << endl;
407 fMomV0 = AliFemtoThreeVector( v.momV0X(), v.momV0Y(), v.momV0Z() );
412 cout << v.ptArmV0() << endl;
414 fAlphaV0 = v.alphaV0();
415 fPtArmV0 = v.ptArmV0();
416 fELambda = v.eLambda();
417 fEK0Short = v.eK0Short();
418 fEPosProton = v.ePosProton();
419 fEPosPion = v.ePosPion();
420 fENegPion = v.eNegPion();
421 fENegProton = v.eNegProton();
422 fMassLambda = v.massLambda();
423 fMassAntiLambda = v.massAntiLambda();
424 fMassK0Short = v.massK0Short();
425 fRapLambda = v.rapLambda();
426 fRapK0Short = v.rapK0Short();
427 fCTauLambda = v.cTauLambda();
428 fCTauK0Short = v.cTauK0Short();
430 fPtotV0 = v.ptotV0();
432 fPtotPos = v.ptotPos();
433 fDedxPos = v.dedxPos();
435 fPtotNeg = v.ptotNeg();
436 fDedxNeg = v.dedxNeg();
439 #endif // __NO_STAR_DEPENDENCE_ALLOWED__
443 void AliFemtoV0::SetHelixPos(const AliFmPhysicalHelixD& h){fHelixPos = h;}// Gael 12 Sept 02
444 const AliFmPhysicalHelixD& AliFemtoV0::HelixPos() const {return fHelixPos;}// Gael 12 Sept 02
445 void AliFemtoV0::SetHelixNeg(const AliFmPhysicalHelixD& h){fHelixNeg = h;}// Gael 12 Sept 02
446 const AliFmPhysicalHelixD& AliFemtoV0::HelixNeg() const {return fHelixNeg;}// Gael 12 Sept 02
448 void AliFemtoV0::SetHiddenInfo(AliFemtoHiddenInfo* aHiddenInfo) {fHiddenInfo=aHiddenInfo;}
449 bool AliFemtoV0::ValidHiddenInfo() const { if (fHiddenInfo) return true; else return false; }
450 AliFemtoHiddenInfo* AliFemtoV0::GetHiddenInfo() const {return fHiddenInfo;}
452 AliFemtoThreeVector AliFemtoV0::NominalTpcPointPos(int i) {
454 return fNominalTpcPointsPos[0];
456 return fNominalTpcPointsPos[8];
457 return fNominalTpcPointsPos[i];
459 AliFemtoThreeVector AliFemtoV0::NominalTpcPointNeg(int i) {
461 return fNominalTpcPointsNeg[0];
463 return fNominalTpcPointsNeg[8];
464 return fNominalTpcPointsNeg[i];