Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
V0Track.h
1/*
2 * V0Track.h
3 *
4 * Created on: 04-05-2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALV0TRACK_H_
10#define HALV0TRACK_H_
11
12#include <TLorentzVector.h>
13#include <TObject.h>
14#include <TVector3.h>
15
16#include "Const.h"
17#include "HiddenInfo.h"
18
22namespace Hal {
23 class Track;
24 class V0Track : public HiddenInfo {
25 Int_t fTrackId;
26 Int_t fPosId;
27 Int_t fNegId;
28 Int_t fAssumedPdg;
29 Int_t fAssumedPdgPos;
30 Int_t fAssumedPdgNeg;
31 Double_t fS1, fS2;
32 Double_t fAlpha;
33 Double_t fPtArm;
34 Double_t fDauDist;
35 Double_t fDecLenght;
36 Double_t fCosAngle;
37 TVector3 fDecay;
38 TVector3 fMomPos;
39 TVector3 fMomNeg;
40
41 public:
42 V0Track();
43 V0Track(const V0Track& other) = default;
48 virtual void CopyData(V0Track* v);
53 void SetTrackId(Int_t id) { fTrackId = id; }
58 inline Int_t GetTrackId() const { return fTrackId; }
63 inline Int_t GetPdg() const { return fAssumedPdg; };
68 inline Int_t GetPdgPosDau() const { return fAssumedPdgPos; };
73 inline Int_t GetPdgNegDau() const { return fAssumedPdgNeg; };
78 Int_t GetNegId() const { return fNegId; }
83 Int_t GetPosId() const { return fPosId; }
88 Double_t GetAlphaArm() const { return fAlpha; }
93 Double_t GetPtArm() const { return fPtArm; }
98 Double_t GetDauDist() const { return fDauDist; }
103 Double_t GetDecLength() const { return fDecLenght; };
108 Double_t GetCosAngle() const { return fCosAngle; }
114 void SetS(Double_t s1, Double_t s2) {
115 fS1 = s1;
116 fS2 = s2;
117 };
123 void SetPdgDaughters(Int_t pos, Int_t neg) {
124 fAssumedPdgNeg = neg;
125 fAssumedPdgPos = pos;
126 }
131 void SetPdg(Int_t pid) { fAssumedPdg = pid; };
136 void SetNegId(Int_t negId) { fNegId = negId; }
141 void SetPosId(Int_t posId) { fPosId = posId; }
146 void SetDecLenght(Double_t L) { fDecLenght = L; };
151 Double_t GetLambdaMass() const { return GetHypoMass(Const::ProtonMass(), Const::PionPlusMass()); }
156 Double_t GetAntiLambdaMass() const { return GetHypoMass(Const::PionPlusMass(), Const::ProtonMass()); }
161 Double_t GetK0Mass() const { return GetHypoMass(Const::PionPlusMass(), Const::PionPlusMass()); }
166 Double_t GetHypoMass(Double_t m_dau1, Double_t m_dau2) const;
171 std::pair<Double_t, Double_t> GetS() const { return std::pair<Double_t, Double_t>(fS1, fS2); }
176 const TVector3& GetMomPos() const { return fMomPos; };
181 const TVector3& GetMomNeg() const { return fMomNeg; }
186 const TVector3& GetDecay() const { return fDecay; }
191 void SetMomentumPos(const TVector3& positiveDaughter) { fMomPos = positiveDaughter; }
199 void SetMomPos(Double_t px, Double_t py, Double_t pz);
204 void SetMomentumNeg(const TVector3& negativeDaughter) { fMomNeg = negativeDaughter; }
212 void SetMomNeg(Double_t px, Double_t py, Double_t pz);
219 void SetDecayPos(Double_t x, Double_t y, Double_t z);
224 void SetDecayPos(const TVector3& pos) { fDecay = pos; }
229 void SetAlphaArm(Double_t alpha) { fAlpha = alpha; }
234 void SetPtArm(Double_t ptArm) { fPtArm = ptArm; }
239 void SetDauDist(Double_t dauDist) { fDauDist = dauDist; }
244 virtual void RotateZ(Double_t angle);
254 TVector3 Recalc(const Track& track);
255 virtual ~V0Track();
256 ClassDef(V0Track, 1)
257 };
258} // namespace Hal
259#endif /* HALV0TRACK_H_ */
const TVector3 & GetMomNeg() const
Definition V0Track.h:181
Double_t GetK0Mass() const
Definition V0Track.h:161
void SetMomentumNeg(const TVector3 &negativeDaughter)
Definition V0Track.h:204
void SetAlphaArm(Double_t alpha)
Definition V0Track.h:229
const TVector3 & GetMomPos() const
Definition V0Track.h:176
Double_t GetDecLength() const
Definition V0Track.h:103
Int_t GetNegId() const
Definition V0Track.h:78
Double_t GetPtArm() const
Definition V0Track.h:93
Int_t GetTrackId() const
Definition V0Track.h:58
void SetMomPos(Double_t px, Double_t py, Double_t pz)
Definition V0Track.cxx:66
Int_t GetPdg() const
Definition V0Track.h:63
void SetDauDist(Double_t dauDist)
Definition V0Track.h:239
virtual void CopyData(V0Track *v)
Definition V0Track.cxx:70
virtual void RotateZ(Double_t angle)
Definition V0Track.cxx:89
Double_t GetAntiLambdaMass() const
Definition V0Track.h:156
void SetDecLenght(Double_t L)
Definition V0Track.h:146
Double_t GetAlphaArm() const
Definition V0Track.h:88
Double_t GetDauDist() const
Definition V0Track.h:98
Int_t GetPdgNegDau() const
Definition V0Track.h:73
Double_t GetHypoMass(Double_t m_dau1, Double_t m_dau2) const
Definition V0Track.cxx:32
void SetPosId(Int_t posId)
Definition V0Track.h:141
void SetNegId(Int_t negId)
Definition V0Track.h:136
void SetMomNeg(Double_t px, Double_t py, Double_t pz)
Definition V0Track.cxx:68
Int_t GetPosId() const
Definition V0Track.h:83
std::pair< Double_t, Double_t > GetS() const
Definition V0Track.h:171
void SetPdg(Int_t pid)
Definition V0Track.h:131
void SetPdgDaughters(Int_t pos, Int_t neg)
Definition V0Track.h:123
void SetDecayPos(Double_t x, Double_t y, Double_t z)
Definition V0Track.cxx:42
Int_t GetPdgPosDau() const
Definition V0Track.h:68
TVector3 Recalc(const Track &track)
Definition V0Track.cxx:44
const TVector3 & GetDecay() const
Definition V0Track.h:186
void SetMomentumPos(const TVector3 &positiveDaughter)
Definition V0Track.h:191
Double_t GetLambdaMass() const
Definition V0Track.h:151
void SetPtArm(Double_t ptArm)
Definition V0Track.h:234
Double_t GetCosAngle() const
Definition V0Track.h:108
void SetTrackId(Int_t id)
Definition V0Track.h:53
void SetS(Double_t s1, Double_t s2)
Definition V0Track.h:114
void SetDecayPos(const TVector3 &pos)
Definition V0Track.h:224