BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnParticleTriple.h
Go to the documentation of this file.
1
2#include <TNamed.h>
3#include <TVector3.h>
4#include <vector>
5
6using namespace std;
7
8#ifndef BMNPARTICLETRIPLE_H
9#define BMNPARTICLETRIPLE_H 1
10
11class BmnParticleTriple : public TNamed
12{
13 public:
14 /** Default constructor **/
16
17 /** Destructor **/
19
20 void SetV0X(Double_t val) { fV0X = val; }
21
22 void SetV0Y(Double_t val) { fV0Y = val; }
23
24 void SetV0Z(Double_t val) { fV0Z = val; }
25
26 void SetDCA0(Double_t val) { fDCA0 = val; }
27
28 void SetDCA1(Double_t val) { fDCA1 = val; }
29
30 void SetDCA2(Double_t val) { fDCA2 = val; }
31
32 void SetDCA3(Double_t val) { fDCA3 = val; }
33
34 void SetDCA123(Double_t val) { fDCA123 = val; }
35
36 void SetdDCA1(Double_t val) { fdDCA1 = val; }
37
38 void SetdDCA2(Double_t val) { fdDCA2 = val; }
39
40 void SetdDCA3(Double_t val) { fdDCA3 = val; }
41
42 void SetdDCA123(Double_t val) { fdDCA123 = val; }
43
44 void SetPath(Double_t val) { fPath = val; }
45
46 void SetInvMass(Double_t val) { fInvMass = val; }
47
49
50 void SetMomTriple(Double_t val1, Double_t val2, Double_t val3)
51 {
52 fMomPart1 = val1;
53 fMomPart2 = val2;
54 fMomPart3 = val3;
55 }
56
57 void SetEtaTriple(Double_t val1, Double_t val2, Double_t val3)
58 {
59 fEtaPart1 = val1;
60 fEtaPart2 = val2;
61 fEtaPart3 = val3;
62 }
63
64 void SetTxTriple(Double_t val1, Double_t val2, Double_t val3)
65 {
66 fTxPart1 = val1;
67 fTxPart2 = val2;
68 fTxPart3 = val3;
69 }
70
71 void SetTyTriple(Double_t val1, Double_t val2, Double_t val3)
72 {
73 fTyPart1 = val1;
74 fTyPart2 = val2;
75 fTyPart3 = val3;
76 }
77
78 void SetChi2Triple(Double_t val1, Double_t val2, Double_t val3)
79 {
80 fChi2Part1 = val1;
81 fChi2Part2 = val2;
82 fChi2Part3 = val3;
83 }
84
85 void SetNDFTriple(Int_t val1, Int_t val2, Int_t val3)
86 {
87 fNDFPart1 = val1;
88 fNDFPart2 = val2;
89 fNDFPart3 = val3;
90 }
91
93 {
94 fBeta400Part1 = val1;
95 fBeta400Part2 = val2;
96 fBeta400Part3 = val3;
97 }
98
100 {
101 fBeta700Part1 = val1;
102 fBeta700Part2 = val2;
103 fBeta700Part3 = val3;
104 }
105
107 {
108 fMass400Part1 = val1;
109 fMass400Part2 = val2;
110 fMass400Part3 = val3;
111 }
112
114 {
115 fMass700Part1 = val1;
116 fMass700Part2 = val2;
117 fMass700Part3 = val3;
118 }
119
123 void SetRecoTrackIdPart1(Int_t id); // actually it is GEM track Id
124 void SetRecoTrackIdPart2(Int_t id); // actually it is GEM track Id
126
130
131 void SetNHitsTriple(vector<Int_t> part1, vector<Int_t> part2, vector<Int_t> part3)
132 {
133 fNHitsSilPart1 = part1[0]; // SILICON
134 fNHitsGemPart1 = part1[1]; // GEM
135
136 fNHitsSilPart2 = part2[0]; // SILICON
137 fNHitsGemPart2 = part2[1]; // GEM
138
139 fNHitsSilPart3 = part3[0]; // SILICON
140 fNHitsGemPart3 = part3[1]; // GEM
141 }
142
143 void SetNHitsTriple(Int_t nHitsPart1, Int_t nHitsPart2, Int_t nHitsPart3)
144 {
145 fNHitsGemPart1 = nHitsPart1;
146 // fNHitsSilPart1 = 0;
147
148 fNHitsGemPart2 = nHitsPart2;
149 // fNHitsSilPart2 = 0;
150
151 fNHitsGemPart3 = nHitsPart3;
152 }
153
155 {
156 if (det.IsNull())
157 return fNHitsSilPart1 + fNHitsGemPart1; // nHits per glob. track
158
159 else if (det.Contains("GEM"))
160 return fNHitsGemPart1;
161
162 else if (det.Contains("SILICON"))
163 return fNHitsSilPart1;
164
165 else
166 return 0;
167 }
168
170 {
171 if (det.IsNull())
172 return fNHitsSilPart2 + fNHitsGemPart2; // nHits per glob. track
173
174 else if (det.Contains("GEM"))
175 return fNHitsGemPart2;
176
177 else if (det.Contains("SILICON"))
178 return fNHitsSilPart2;
179
180 else
181 return 0;
182 }
183
185 {
186 if (det.IsNull())
187 return fNHitsSilPart3 + fNHitsGemPart3; // nHits per glob. track
188
189 else if (det.Contains("GEM"))
190 return fNHitsGemPart3;
191
192 else if (det.Contains("SILICON"))
193 return fNHitsSilPart3;
194
195 else
196 return 0;
197 }
198
200
202
204
206
207 Double_t GetPath() { return fPath; }
208
209 Double_t GetDCA1() { return fDCA1; }
210
211 Double_t GetDCA2() { return fDCA2; }
212
213 Double_t GetDCA3() { return fDCA3; }
214
216
218
220
221 Double_t GetDCA0() { return fDCA0; }
222
224
226
228
230
232
234
235 Double_t GetV0X() { return fV0X; }
236
237 Double_t GetV0Y() { return fV0Y; }
238
239 Double_t GetV0Z() { return fV0Z; }
240
242
244
246
248
250
252
254
256
258
260
262
264
265 void SetAlpha1(Double_t val) { fAlpha1 = val; }
266
267 void SetAlpha2(Double_t val) { fAlpha2 = val; }
268
269 void SetPtPodol(Double_t val) { fPtPodol = val; }
270
272
274
276
278
280
282
284
286
288
290
292
294
296
298
300
304
308
309 Int_t GetRecoTrackIdPart1(); // actually it is GEM track Id
310 Int_t GetRecoTrackIdPart2(); // actually it is GEM track Id
311 Int_t GetRecoTrackIdPart3(); // actually it is GEM track Id
312
313 // Omega cut from M. Zavertyaev
314
315 Double_t Omega() { return (fDCA123 * fDCA123) / (fDCA0 * fDCA0 + 4 * fDCA1 * fDCA2 * fDCA3); }
316
317 private:
318 Double_t fInvMass; // Invariant mass of a considering pair
319
320 Double_t fAngleDecayProducts; // Angle between the two products of decay
321
325
329
333
337
341
351
353
357
361
364
367
370
377
384
385 // Armenteros-Podolyansky ...
389
393
397
404
406};
407
408#endif
int Int_t
double Double_t
#define ClassDef(name, id)
void SetRecoTrackIdPart3(Int_t id)
void SetRecoTrackIdPart1(Int_t id)
Int_t GetNHitsPart2(TString det="")
void SetPath(Double_t val)
TVector3 GetMCMomPart2()
void SetAlpha2(Double_t val)
void SetDCA1(Double_t val)
void SetdDCA123(Double_t val)
void SetMCTrackIdPart2(Int_t id)
Int_t GetMCTrackIdPart1()
void SetEtaTriple(Double_t val1, Double_t val2, Double_t val3)
void SetDCA2(Double_t val)
void SetMass700Triple(Double_t val1, Double_t val2, Double_t val3)
Double_t GetAngleDecayProducts()
Int_t GetRecoTrackIdPart3()
Int_t GetMCTrackIdPart3()
void SetDCA0(Double_t val)
Int_t GetNHitsPart3(TString det="")
void SetDCA123(Double_t val)
void SetTyTriple(Double_t val1, Double_t val2, Double_t val3)
TVector3 GetMCMomPart1()
void SetAlpha1(Double_t val)
void SetMCTrackIdPart3(Int_t id)
void SetMCTrackIdPart1(Int_t id)
virtual ~BmnParticleTriple()
Destructor.
void SetV0Y(Double_t val)
void SetdDCA3(Double_t val)
void SetRecoTrackIdPart2(Int_t id)
Int_t GetMCTrackIdPart2()
void SetTxTriple(Double_t val1, Double_t val2, Double_t val3)
void SetV0X(Double_t val)
void SetBeta700Triple(Double_t val1, Double_t val2, Double_t val3)
void SetNHitsTriple(vector< Int_t > part1, vector< Int_t > part2, vector< Int_t > part3)
void SetDCA3(Double_t val)
Int_t GetRecoTrackIdPart2()
void SetMCMomPart3(Double_t px, Double_t py, Double_t pz)
void SetAngleDecayProducts(Double_t val)
void SetMCMomPart1(Double_t px, Double_t py, Double_t pz)
void SetBeta400Triple(Double_t val1, Double_t val2, Double_t val3)
void SetMCMomPart2(Double_t px, Double_t py, Double_t pz)
void SetNDFTriple(Int_t val1, Int_t val2, Int_t val3)
void SetNHitsTriple(Int_t nHitsPart1, Int_t nHitsPart2, Int_t nHitsPart3)
void SetMass400Triple(Double_t val1, Double_t val2, Double_t val3)
void SetPtPodol(Double_t val)
Int_t GetRecoTrackIdPart1()
void SetChi2Triple(Double_t val1, Double_t val2, Double_t val3)
TVector3 GetMCMomPart3()
void SetInvMass(Double_t val)
void SetV0Z(Double_t val)
void SetdDCA2(Double_t val)
BmnParticleTriple()
Default constructor.
void SetMomTriple(Double_t val1, Double_t val2, Double_t val3)
Int_t GetNHitsPart1(TString det="")
void SetdDCA1(Double_t val)
Definition json.hpp:4446