]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TOF/PbPb276/libs/AliAnalysisParticle.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TOF / PbPb276 / libs / AliAnalysisParticle.cxx
CommitLineData
48a73d39 1#include "AliAnalysisParticle.h"
2#include "TParticle.h"
3#include "AliPID.h"
4#include "TDatabasePDG.h"
5#include "TParticlePDG.h"
6#include "TMath.h"
7
8ClassImp(AliAnalysisParticle)
9
10//___________________________________________________________
11
12TLorentzVector AliAnalysisParticle::fgLorentzVector;
13
14//___________________________________________________________
15
16Double_t
17AliAnalysisParticle::GetY() const
18{
19
20 fgLorentzVector.SetPtEtaPhiM(fPt, fEta, fPhi, GetMass());
21 return fgLorentzVector.Rapidity();
22}
23
24//___________________________________________________________
25
26Float_t
27AliAnalysisParticle::GetSign() const
28{
29
30 TDatabasePDG *dbpdg = TDatabasePDG::Instance();
31 TParticlePDG *ppdg = dbpdg->GetParticle(fPdgCode);
32 if (!ppdg)
33 return 0.;
34 return TMath::Sign(1., ppdg->Charge());
35}
36
37//___________________________________________________________
38
39Int_t
40AliAnalysisParticle::GetPID() const
41{
42 /*
43 * get PID
44 */
45
46 for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++)
47 if (TMath::Abs(fPdgCode) == AliPID::ParticleCode(ipart))
48 return ipart;
49 return -1;
50
51}
52
53//___________________________________________________________
54
55Double_t
56AliAnalysisParticle::GetMass() const
57{
58 /*
59 * get mass
60 */
61
62 if (GetPID() == -1)
63 return 0.;
64 return AliPID::ParticleMass(GetPID());
65}
66
67//___________________________________________________________
68
69AliAnalysisParticle::AliAnalysisParticle() :
70 TObject(),
71 fLabel(0),
72 fPt(0.),
73 fEta(0.),
74 fPhi(0.),
75 fPdgCode(0)
76{
77 /*
78 * default constructor
79 */
80}
81
82//___________________________________________________________
83
84AliAnalysisParticle::AliAnalysisParticle(const AliAnalysisParticle &source) :
85 TObject(source),
86 fLabel(source.fLabel),
87 fPt(source.fPt),
88 fEta(source.fEta),
89 fPhi(source.fPhi),
90 fPdgCode(source.fPdgCode)
91{
92 /*
93 * copy constructor
94 */
95}
96
97//___________________________________________________________
98
99AliAnalysisParticle &
100AliAnalysisParticle::operator=(const AliAnalysisParticle &source)
101{
102 /*
103 * operator=
104 */
105
106 if (&source == this) return *this;
107 TObject::operator=(source);
108
109 fLabel = source.fLabel;
110 fPt = source.fPt;
111 fEta = source.fEta;
112 fPhi = source.fPhi;
113 fPdgCode = source.fPdgCode;
114
115 return *this;
116}
117
118//___________________________________________________________
119
120AliAnalysisParticle::~AliAnalysisParticle()
121{
122 /*
123 * default destructor
124 */
125}
126
127//___________________________________________________________
128
129void
130AliAnalysisParticle::Reset()
131{
132 /*
133 * reset
134 */
135
136 fLabel = 0;
137 fPt = 0.;
138 fEta = 0.;
139 fPhi = 0.;
140 fPdgCode = 0;
141
142}
143
144//___________________________________________________________
145
146void
147AliAnalysisParticle::Update(TParticle *particle, Int_t label)
148{
149 /*
150 * update
151 */
152
153 fLabel = label;
154 fPt = particle->Pt();
155 fEta = particle->Eta();
156 fPhi = particle->Phi();
157 fPdgCode = particle->GetPdgCode();
158
159}
160