]>
Commit | Line | Data |
---|---|---|
30a892e3 | 1 | ////////////////////////////////////////////////////////////////////// |
2 | // | |
3 | // $Id$ | |
4 | // | |
5 | // Author: Emanuele Simili | |
6 | // | |
7 | ////////////////////////////////////////////////////////////////////// | |
8 | // | |
92016a03 | 9 | // Description: an array of V0s is part of AliFlowEvent, |
10 | // this class allow flow study neutral secundary vertices (V0s) | |
11 | // as they are reconstructer by AliRoot at the ESD level . | |
30a892e3 | 12 | // |
13 | ////////////////////////////////////////////////////////////////////// | |
14 | ||
92016a03 | 15 | #ifndef ALIFLOWV0_H |
16 | #define ALIFLOWV0_H | |
30a892e3 | 17 | |
18 | #include <string.h> | |
19 | #include <stdio.h> | |
20 | #include <stdlib.h> | |
21 | #include <iostream> | |
22 | #include <TROOT.h> | |
23 | #include "TMath.h" | |
30a892e3 | 24 | #include "TNamed.h" |
25 | ||
30a892e3 | 26 | #include "AliFlowTrack.h" |
27 | ||
30a892e3 | 28 | class AliFlowV0 : public TNamed { |
29 | ||
30 | public: | |
31 | ||
32 | AliFlowV0(); | |
33 | AliFlowV0(const Char_t* name); | |
34 | virtual ~AliFlowV0(); | |
35 | ||
92016a03 | 36 | // Gets |
37 | const Char_t* Pid() const ; | |
38 | Float_t P() const ; | |
39 | Float_t Y() const ; | |
40 | Float_t Phi() const { return fPhi; } | |
41 | Float_t Eta() const { return fEta; } | |
42 | Float_t Pt() const { return fPt; } | |
43 | Short_t Charge() const { return 0 ; } | |
44 | Float_t Dca() const { return fDca ; } | |
45 | Float_t Chi2() const { return fChi2; } | |
46 | Float_t Mass() const { return fMass ; } | |
4e566f2f | 47 | AliFlowTrack* DaughterP() const { return fDaughterP ; } |
48 | AliFlowTrack* DaughterN() const { return fDaughterN ; } | |
92016a03 | 49 | Float_t V0Lenght() const { return TMath::Sqrt(fCrossPoint[0]*fCrossPoint[0] + fCrossPoint[1]*fCrossPoint[1] + fCrossPoint[2]*fCrossPoint[2]) ; } |
50 | Float_t Sigma() const { return fSigma ; } | |
51 | Float_t CrossPointX() const { return fCrossPoint[0] ; } | |
52 | Float_t CrossPointY() const { return fCrossPoint[1] ; } | |
53 | Float_t CrossPointZ() const { return fCrossPoint[2] ; } | |
54 | Float_t DaughtersDca() const { return fCrossDCA ; } | |
55 | Int_t Label() const { return fLabel ; } | |
56 | Float_t GetCosPointingAngle() const { return fPointAngle ; } | |
57 | Int_t MostLikelihoodPID() const { return fMostLikelihoodPID; } | |
58 | void CrossPoint(Float_t Pxyz[3]) const { for(Int_t ii=0;ii<3;ii++) { Pxyz[ii] = fCrossPoint[ii] ; } } | |
59 | ||
60 | // Sets | |
30a892e3 | 61 | void SetPid(const Char_t* pid); |
92016a03 | 62 | void SetPhi(Float_t phi) { fPhi = phi; } |
63 | void SetEta(Float_t eta) { fEta = eta; } | |
64 | void SetPt(Float_t pt) { fPt = pt; } | |
65 | void SetChi2(Float_t chi2) { fChi2 = chi2; } | |
66 | void SetVmass(Float_t mass) { fMass = mass ; } | |
67 | void SetDca(Float_t dca) { fDca = dca; } | |
68 | void SetSigma(Float_t sigma) { fSigma = sigma ; } | |
69 | void SetLabel(Int_t label) { fLabel = label ; } | |
70 | void SetDaughtersDca(Float_t dca) { fCrossDCA = dca ; } | |
71 | void SetCosPointingAngle(Float_t cos) { fPointAngle = cos ; } | |
72 | void SetMostLikelihoodPID(Int_t pdgCode) { fMostLikelihoodPID = pdgCode ; } | |
73 | void SetCrossPoint(Float_t pox,Float_t poy,Float_t poz) { fCrossPoint[0] = pox ; fCrossPoint[1] = poy ; fCrossPoint[2] = poz ; } | |
4e566f2f | 74 | void SetDaughters(AliFlowTrack* pos, AliFlowTrack* neg) { fDaughterP = pos ; fDaughterN = neg ; } |
92016a03 | 75 | |
30a892e3 | 76 | |
77 | private: | |
78 | ||
92016a03 | 79 | // to make the code checker happy |
80 | AliFlowV0(const AliFlowV0 &flowV0) ; // Copy Constructor (dummy) | |
81 | AliFlowV0 &operator=(const AliFlowV0 &flowV0) ; // Assignment Operator (dummy) | |
82 | ||
30a892e3 | 83 | // Data Members |
4e566f2f | 84 | Float_t fPhi; // reconstructed azimuthal angle of the v0 |
85 | Float_t fPt; // reconstructed transverse momentum of the v0 | |
86 | Float_t fEta; // reconstructed pseudorapidity of the v0 | |
87 | Float_t fChi2; // chi2 of the reconstructed v0 | |
88 | Float_t fMass; // reconstructed v0 mass | |
89 | Float_t fDca; // distance of closest approach of the reconstructed v0 to the main vertex | |
90 | Float_t fCrossPoint[3] ; // crossing point coordinates of the two daughter tracks | |
91 | Float_t fCrossDCA ; // DCA between the 2 daughter tracks at the crossing point | |
92 | Float_t fSigma ; // sigma of the DCA of the 2 daughter tracks at the crossing point | |
93 | Int_t fLabel ; // Label of the V0 (link: KineTree-ESD) | |
94 | Int_t fMostLikelihoodPID; // most probable P.Id. hypotesis | |
95 | Float_t fPointAngle; // cosine of the pointing angle | |
96 | AliFlowTrack* fDaughterP ; // daughter tracks (pointers to the TracksCollection()) | |
97 | AliFlowTrack* fDaughterN ; // daughter tracks (pointers to the TracksCollection()) | |
30a892e3 | 98 | |
92016a03 | 99 | ClassDef(AliFlowV0,2) ; // macro for rootcint |
30a892e3 | 100 | }; |
101 | ||
102 | #endif | |
103 | ////////////////////////////////////////////////////////////////////// |