BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnHypNuclPair.h
Go to the documentation of this file.
1#include "TLorentzVector.h"
2
3#include <TMath.h>
4#include <TNamed.h>
5#include <vector>
6
7using namespace std;
8using namespace TMath;
9
10#ifndef BMNHYPNUCLPAIR_H
11#define BMNHYPNUCLPAIR_H 1
12
13enum class DetectorType : Int_t
14{
15 kAll = 0, // FSD + GEM (сумма)
16 kGEM = 1, // только GEM
17 kSilicon = 2 // только FSD (Silicon)
18};
19class BmnHypNuclPair : public TNamed
20{
21 public:
22 /** Default constructor **/
24
25 /** Destructor **/
26 virtual ~BmnHypNuclPair();
27
32 Float_t GetChi2DCA0() const { return fChi2DCA0; }
33 Float_t GetChi2DCA1() const { return fChi2DCA1; }
34 Float_t GetChi2DCA2() const { return fChi2DCA2; }
35 Float_t GetChi2DCA12() const { return fChi2DCA12; }
36
37 void SetPath(Float_t val) { fPath = val; }
38
39 void SetInvMass(Float_t val) { fInvMass = val; }
40
42 {
43 fPx1 = px;
44 fPy1 = py;
45 fPz1 = pz;
46 }
47
49 {
50 fPx2 = px;
51 fPy2 = py;
52 fPz2 = pz;
53 }
54
55 void SetChi2NDF(Float_t val1, Float_t val2)
56 {
57 fChi2Ndf1 = val1;
58 fChi2Ndf2 = val2;
59 }
60
61 void SetM2(Float_t val) { fM2 = val; }
62
63 void SetNHitsPair(Short_t nFsd1, Short_t nGem1, Short_t nFsd2, Short_t nGem2)
64 {
65 fNHitsSil1 = nFsd1;
66 fNHitsGem1 = nGem1;
67 fNHitsSil2 = nFsd2;
68 fNHitsGem2 = nGem2;
69 }
70
72
74 {
75 switch (det) {
77 return fNHitsSil1 + fNHitsGem1;
79 return fNHitsGem1;
81 return fNHitsSil1;
82 }
83 return 0;
84 }
85
87 {
88 switch (det) {
90 return fNHitsSil2 + fNHitsGem2;
92 return fNHitsGem2;
94 return fNHitsSil2;
95 }
96 return 0;
97 }
98
100
101 Float_t GetPath() { return fPath; }
102
103 Float_t GetMom1() { return Sqrt(fPx1 * fPx1 + fPy1 * fPy1 + fPz1 * fPz1); }
104
105 Float_t GetPx1() { return fPx1; }
106
107 Float_t GetPy1() { return fPy1; }
108
109 Float_t GetPz1() { return fPz1; }
110
111 Float_t GetPt1() { return Sqrt(fPx1 * fPx1 + fPy1 * fPy1); }
112
113 Float_t GetMom2() { return Sqrt(fPx2 * fPx2 + fPy2 * fPy2 + fPz2 * fPz2); }
114
115 Float_t GetPx2() { return fPx2; }
116
117 Float_t GetPy2() { return fPy2; }
118
119 Float_t GetPz2() { return fPz2; }
120
121 Float_t GetPt2() { return Sqrt(fPx2 * fPx2 + fPy2 * fPy2); }
122
123 Float_t GetTxPart1() { return fPx1 / fPz1; }
124
125 Float_t GetTxPart2() { return fPx2 / fPz2; }
126
127 Float_t GetTyPart1() { return fPy1 / fPz1; }
128
129 Float_t GetTyPart2() { return fPy2 / fPz2; }
130
132
134
135 void SetDedx(Float_t val) { fdEdx = val; }
136
137 Float_t GetDedx() { return fdEdx; }
138
139 Float_t GetM2() { return fM2; }
140
142
143 private:
145
150
152
157
164
167
169 Float_t fM2;
170
172
174};
175
176#endif
__m128 v
Definition P4_F32vec4.h:1
int Int_t
float Float_t
short Short_t
#define ClassDef(name, id)
@ kGEM
void SetChi2DCA1(Float_t v)
void SetM2(Float_t val)
void SetChi2DCA0(Float_t v)
Float_t GetChi2DCA1() const
void SetChi2DCA2(Float_t v)
Float_t GetTyPart1()
Float_t GetTxPart2()
void SetInvMass(Float_t val)
void SetChi2NDF(Float_t val1, Float_t val2)
BmnHypNuclPair()
Default constructor.
void SetNTrInEvent(Int_t n)
Int_t GetNHitsPart1(DetectorType det=DetectorType::kAll) const
virtual ~BmnHypNuclPair()
Destructor.
void SetPath(Float_t val)
Float_t GetChi2DCA0() const
Float_t GetTyPart2()
Float_t GetChi2DCA12() const
void SetDedx(Float_t val)
Float_t GetChi2Ndf2()
Float_t GetChi2DCA2() const
void SetChi2DCA12(Float_t v)
Float_t GetTxPart1()
void SetMomXYZ2(Float_t px, Float_t py, Float_t pz)
void SetMomXYZ1(Float_t px, Float_t py, Float_t pz)
Float_t GetInvMass()
Float_t GetChi2Ndf1()
Int_t GetNHitsPart2(DetectorType det=DetectorType::kAll) const
void SetNHitsPair(Short_t nFsd1, Short_t nGem1, Short_t nFsd2, Short_t nGem2)
DetectorType
*brief user defined string literal for JSON values *sa std::size_t n
Definition json.hpp:20362
Double_t Sqrt(Double_t x)
Definition json.hpp:4446
DetectorType