32eaa9dbdf0888af414b01e602f32c1b74c9e43c
[u/mrichter/AliRoot.git] / ITS / AliCascadeVertex.h
1 #ifndef ALICASCADEVERTEX_H
2 #define ALICASCADEVERTEX_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //-------------------------------------------------------------------------
8 //                          Cascade Vertex Class
9 //
10 //    Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
11 //-------------------------------------------------------------------------
12
13 #include <TObject.h>
14 #include "AliPDG.h"
15
16 class AliITStrackV2;
17 class AliV0vertex;
18
19 #define kXiMinus       3312
20 #define kXiPlusBar    -3312
21 #define kOmegaMinus    3334
22 #define kOmegaPlusBar -3334
23
24 class AliCascadeVertex : public TObject {
25 public:
26   AliCascadeVertex();
27   AliCascadeVertex(const AliV0vertex &vtx, const AliITStrackV2 &trk);
28
29   Double_t ChangeMassHypothesis(Double_t &v0q, Int_t code=kXiMinus); 
30
31   Int_t GetPdgCode() const {return fPdgCode;}
32   Double_t GetEffMass() const {return fEffMass;}
33   Double_t GetChi2() const {return fChi2;}
34   void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
35   void GetXYZ(Double_t &x, Double_t &y, Double_t &z) const;
36   Double_t GetD(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
37
38   void GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
39      px=fV0mom[0][0]; py=fV0mom[0][1]; pz=fV0mom[0][2];
40   }
41   Int_t GetNlabel() const {return fV0lab[0];}
42   void GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
43      px=fV0mom[1][0]; py=fV0mom[1][1]; pz=fV0mom[1][2];
44   }
45   Int_t GetPlabel() const {return fV0lab[1];}
46   void GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
47      px=fBachMom[0]; py=fBachMom[1]; pz=fBachMom[2];
48   }
49   Int_t GetBlabel() const {return fBachLab;}
50
51 private: 
52   Int_t fPdgCode;           // reconstructed cascade type (PDG code)
53   Double_t fEffMass;        // reconstructed cascade effective mass
54   Double_t fChi2;           // chi2 value
55   Double_t fPos[3];         // cascade vertex position (global)
56   Double_t fPosCov[6];      // covariance matrix of the vertex position
57
58   Int_t fV0lab[2];          // labels of the V0 daughter tracks
59   Double_t fV0mom[2][3];    // V0 daughters' momenta (global)
60   Double_t fV0momCov[6];    // covariance matrix of the V0 momentum.
61
62   Int_t fBachLab;           // label of the bachelor track
63   Double_t fBachMom[3];      // bachelor momentum (global)
64   Double_t fBachMomCov[6];   // covariance matrix of the bachelor momentum.
65
66   ClassDef(AliCascadeVertex,1)   // reconstructed cascade vertex
67 };
68
69 #endif
70
71