Adding comments (Laurent)
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowV0.h
CommitLineData
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 28class AliFlowV0 : public TNamed {
29
30public:
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 ; }
da5aa0a0 47 Int_t DaughterP() const { return fDaughterP ; }
48 Int_t 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
92016a03 61 void SetPhi(Float_t phi) { fPhi = phi; }
62 void SetEta(Float_t eta) { fEta = eta; }
63 void SetPt(Float_t pt) { fPt = pt; }
64 void SetChi2(Float_t chi2) { fChi2 = chi2; }
65 void SetVmass(Float_t mass) { fMass = mass ; }
66 void SetDca(Float_t dca) { fDca = dca; }
67 void SetSigma(Float_t sigma) { fSigma = sigma ; }
68 void SetLabel(Int_t label) { fLabel = label ; }
69 void SetDaughtersDca(Float_t dca) { fCrossDCA = dca ; }
70 void SetCosPointingAngle(Float_t cos) { fPointAngle = cos ; }
71 void SetMostLikelihoodPID(Int_t pdgCode) { fMostLikelihoodPID = pdgCode ; }
72 void SetCrossPoint(Float_t pox,Float_t poy,Float_t poz) { fCrossPoint[0] = pox ; fCrossPoint[1] = poy ; fCrossPoint[2] = poz ; }
da5aa0a0 73 void SetDaughters(Int_t pos, Int_t neg) { fDaughterP = pos ; fDaughterN = neg ; }
92016a03 74
30a892e3 75
76private:
77
92016a03 78 // to make the code checker happy
79 AliFlowV0(const AliFlowV0 &flowV0) ; // Copy Constructor (dummy)
80 AliFlowV0 &operator=(const AliFlowV0 &flowV0) ; // Assignment Operator (dummy)
81
30a892e3 82 // Data Members
4e566f2f 83 Float_t fPhi; // reconstructed azimuthal angle of the v0
84 Float_t fPt; // reconstructed transverse momentum of the v0
85 Float_t fEta; // reconstructed pseudorapidity of the v0
86 Float_t fChi2; // chi2 of the reconstructed v0
87 Float_t fMass; // reconstructed v0 mass
88 Float_t fDca; // distance of closest approach of the reconstructed v0 to the main vertex
89 Float_t fCrossPoint[3] ; // crossing point coordinates of the two daughter tracks
90 Float_t fCrossDCA ; // DCA between the 2 daughter tracks at the crossing point
91 Float_t fSigma ; // sigma of the DCA of the 2 daughter tracks at the crossing point
92 Int_t fLabel ; // Label of the V0 (link: KineTree-ESD)
93 Int_t fMostLikelihoodPID; // most probable P.Id. hypotesis
94 Float_t fPointAngle; // cosine of the pointing angle
da5aa0a0 95 Int_t fDaughterP ; // positive daughter track (position in the TracksCollection())
96 Int_t fDaughterN ; // negative daughter track (position in the TracksCollection())
30a892e3 97
92016a03 98 ClassDef(AliFlowV0,2) ; // macro for rootcint
30a892e3 99};
100
101#endif
102//////////////////////////////////////////////////////////////////////