New version of the V0 finder (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliESDv0.h
1 #ifndef ALIESDV0_H
2 #define ALIESDV0_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 //-------------------------------------------------------------------------
10 //                          ESD V0 Vertex Class
11 //          This class is part of the Event Summary Data set of classes
12 //    Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16 #include <TPDGCode.h>
17
18 class AliESDtrack;
19
20 class AliESDv0 : public TObject {
21 public:
22   AliESDv0();
23
24   Double_t ChangeMassHypothesis(Int_t code=kK0Short); 
25
26   Int_t GetPdgCode() const {return fPdgCode;}
27   Double_t GetEffMass() const {return fEffMass;}
28   Double_t GetChi2() const {return fChi2;}
29   void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
30   void GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
31   void GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
32   void GetXYZ(Double_t &x, Double_t &y, Double_t &z) const;
33   Double_t GetD(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
34   Int_t GetNindex() const {return fNidx;}
35   Int_t GetPindex() const {return fPidx;}
36   void SetESDindexes(Int_t ip, Int_t im){fNidx=ip;fPidx=im;}
37   void SetDcaDaughters(Double_t rDcaDaughters=0.);
38   Double_t GetDcaDaughters() {return fDcaDaughters;}
39 protected: 
40   Int_t fPdgCode;           // reconstructed V0's type (PDG code)
41   Double_t fEffMass;        // reconstructed V0's effective mass
42   Double_t fDcaDaughters;   // dca between V0's daughters
43   Double_t fChi2;           // V0's chi2 value
44   Double_t fPos[3];         // V0's position (global)
45   Double_t fPosCov[6];      // covariance matrix of the vertex position
46
47   Int_t fNidx;              // index of the negative daughter
48   Double_t fNmom[3];        // momentum of the negative daughter (global)
49   Double_t fNmomCov[6];     // covariance matrix of the negative daughter mom.
50
51   Int_t fPidx;              // index of the positive daughter
52   Double_t fPmom[3];        // momentum of the positive daughter (global)
53   Double_t fPmomCov[6];     // covariance matrix of the positive daughter mom.
54
55   ClassDef(AliESDv0,1)      // ESD V0 vertex
56 };
57
58 inline 
59 void AliESDv0::GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
60 px=fNmom[0]; py=fNmom[1]; pz=fNmom[2];
61 }
62
63 inline 
64 void AliESDv0::GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
65 px=fPmom[0]; py=fPmom[1]; pz=fPmom[2];
66 }
67
68 inline
69 void AliESDv0::SetDcaDaughters(Double_t rDcaDaughters){
70   fDcaDaughters=rDcaDaughters;
71 }
72
73 #endif
74
75