]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowV0.h
First CVS version of the flow analysis code (Emanuele)
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowV0.h
1 //////////////////////////////////////////////////////////////////////
2 //
3 // $Id$
4 //
5 // Author: Emanuele Simili
6 //
7 //////////////////////////////////////////////////////////////////////
8 //
9 // Description: part of AliFlowEvent, allow flow study of v0s .
10 //
11 //////////////////////////////////////////////////////////////////////
12
13 #ifndef AliFlowV0_h
14 #define AliFlowV0_h
15
16 #include <string.h>
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include <iostream>
20 #include <TROOT.h>
21 #include "TMath.h"
22 #include "TObject.h"
23 #include "TNamed.h"
24
25 #include "AliFlowConstants.h"
26 #include "AliFlowTrack.h"
27
28 class Flow ;
29
30 class AliFlowV0 : public TNamed {
31
32 public:
33
34                 AliFlowV0();
35                 AliFlowV0(const Char_t* name);
36   virtual       ~AliFlowV0();
37
38  // Gets - V0's variables
39   const Char_t* Pid()         const;
40   Float_t       Phi()         const;
41   Float_t       Eta()         const;
42   Float_t       Pt()          const;
43   Float_t       P()           const;
44   Float_t       Y()           const;
45   Short_t       Charge()      const;
46   Float_t       Dca()         const;
47   Float_t       Chi2()        const;
48   Float_t       Mass()        const; 
49   AliFlowTrack* DaughterP()   const; 
50   AliFlowTrack* DaughterN()   const; 
51   Float_t       V0Lenght()    const;
52   Float_t       Sigma()       const;
53   void          CrossPoint(Float_t Pxyz[3]) const;
54   //TVector3      CrossPoint() const ;
55   Float_t       CrossDca()    const;
56   Int_t         MostLikelihoodPID() const;
57   Int_t         Label()         const;
58  // Sets - V0's variables
59   void SetPid(const Char_t* pid);
60   void SetPhi(Float_t phi);     
61   void SetEta(Float_t eta);     
62   void SetPt(Float_t pt);       
63   void SetChi2(Float_t chi2) ;  
64   void SetVmass(Float_t mass);
65   void SetCrossPoint(Float_t pox,Float_t poy,Float_t poz);
66   void SetCrossDca(Float_t dca) ;
67   void SetDca(Float_t dca) ; 
68   void SetSigma(Float_t sigma) ;          
69   void SetDaughters(AliFlowTrack* pos, AliFlowTrack* neg);
70   void SetMostLikelihoodPID(Int_t pdg_code);
71   void SetLabel(Int_t label);
72
73 private:
74
75  // Data Members
76   Float_t  fPhi;                                // reconstructed azimuthal angle of the v0
77   Float_t  fPt;                                 // reconstructed transverse momentum of the v0 
78   Float_t  fEta;                                // reconstructed pseudorapidity of the v0
79   Float_t  fChi2;                               // chi2 of the reconstructed v0
80   Float_t  fMass;                               // reconstructed v0 mass 
81   Float_t  fDca;                                // distance of closest approach of the reconstructed v0 to the main vertex
82   Float_t  fCrossPoint[3] ;                     // crossing point coordinates of the two daughter tracks
83   Float_t  fCrossDCA ;                          // DCA of the 2 tracks at the crossing point 
84   Float_t  fSigma ;                             //! DCA of the 2 tracks at the crossing point 
85   Int_t    fMostLikelihoodPID;                  // most probable P.Id. hypotesis (...need to be implemented)
86   Int_t    fLabel ;                             // Label of the V0 (link: KineTree-ESD) 
87   AliFlowTrack* fDaughters[2] ;                 // daughter particles' pointers 
88   
89   ClassDef(AliFlowV0,1) ;                       // macro for rootcint
90 };
91
92 #endif
93 //////////////////////////////////////////////////////////////////////