BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnParticlePair.h
Go to the documentation of this file.
1// @(#)bmnroot/physics/particles:$Id$
2// Author: Pavel Batyuk <pavel.batyuk@jinr.ru> 2017-06-20
3
4////////////////////////////////////////////////////////////////////////////////
5// //
6// BmnParticlePair //
7// //
8// A class to consider selected pair of particles //
9// //
10////////////////////////////////////////////////////////////////////////////////
11
12#include <TNamed.h>
13#include <TVector3.h>
14#include <vector>
15
16using namespace std;
17
18#ifndef BMNPARTICLEPAIR_H
19#define BMNPARTICLEPAIR_H 1
20
21class BmnParticlePair : public TNamed
22{
23 public:
24 /** Default constructor **/
26
27 /** Destructor **/
29
30 void SetV0X(Double_t val) { fV0X = val; }
31
32 void SetV0Y(Double_t val) { fV0Y = val; }
33
34 void SetV0Z(Double_t val) { fV0Z = val; }
35
36 void SetDCA0(Double_t val) { fDCA0 = val; }
37
38 void SetDCA1(Double_t val) { fDCA1 = val; }
39
40 void SetDCA2(Double_t val) { fDCA2 = val; }
41
42 void SetDCA12(Double_t val) { fDCA12 = val; }
43
44 void SetPath(Double_t val) { fPath = val; }
45
46 void SetInvMass(Double_t val) { fInvMass = val; }
47
49
50 void SetMomPair(Double_t val1, Double_t val2)
51 {
52 fMomPart1 = val1;
53 fMomPart2 = val2;
54 }
55
56 void SetEtaPair(Double_t val1, Double_t val2)
57 {
58 fEtaPart1 = val1;
59 fEtaPart2 = val2;
60 }
61
62 void SetTxPair(Double_t val1, Double_t val2)
63 {
64 fTxPart1 = val1;
65 fTxPart2 = val2;
66 }
67
68 void SetTyPair(Double_t val1, Double_t val2)
69 {
70 fTyPart1 = val1;
71 fTyPart2 = val2;
72 }
73
74 void SetChi2Pair(Double_t val1, Double_t val2)
75 {
76 fChi2Part1 = val1;
77 fChi2Part2 = val2;
78 }
79
80 void SetNDFPair(Int_t val1, Int_t val2)
81 {
82 fNDFPart1 = val1;
83 fNDFPart2 = val2;
84 }
85
87 {
88 fBeta400Part1 = val1;
89 fBeta400Part2 = val2;
90 }
91
93 {
94 fBeta700Part1 = val1;
95 fBeta700Part2 = val2;
96 }
97
100 void SetRecoTrackIdPart1(Int_t id); // actually it is GEM track Id
101 void SetRecoTrackIdPart2(Int_t id); // actually it is GEM track Id
102
105
106 void SetNHitsPair(vector<Int_t> part1, vector<Int_t> part2)
107 {
108 fNHitsSilPart1 = part1[0]; // SILICON
109 fNHitsGemPart1 = part1[1]; // GEM
110
111 fNHitsSilPart2 = part2[0]; // SILICON
112 fNHitsGemPart2 = part2[1]; // GEM
113 }
114
115 void SetNHitsPair(Int_t nHitsPart1, Int_t nHitsPart2)
116 {
117 fNHitsGemPart1 = nHitsPart1;
118 // fNHitsSilPart1 = 0;
119
120 fNHitsGemPart2 = nHitsPart2;
121 // fNHitsSilPart2 = 0;
122 }
123
125 {
126 if (det.IsNull())
127 return fNHitsSilPart1 + fNHitsGemPart1; // nHits per glob. track
128
129 else if (det.Contains("GEM"))
130 return fNHitsGemPart1;
131
132 else if (det.Contains("SILICON"))
133 return fNHitsSilPart1;
134
135 else
136 return 0;
137 }
138
140 {
141 if (det.IsNull())
142 return fNHitsSilPart2 + fNHitsGemPart2; // nHits per glob. track
143
144 else if (det.Contains("GEM"))
145 return fNHitsGemPart2;
146
147 else if (det.Contains("SILICON"))
148 return fNHitsSilPart2;
149
150 else
151 return 0;
152 }
153
155
157
159
160 Double_t GetPath() { return fPath; }
161
162 Double_t GetDCA1() { return fDCA1; }
163
164 Double_t GetDCA2() { return fDCA2; }
165
166 Double_t GetDCA0() { return fDCA0; }
167
169
171
173
175
176 Double_t GetV0X() { return fV0X; }
177
178 Double_t GetV0Y() { return fV0Y; }
179
180 Double_t GetV0Z() { return fV0Z; }
181
183
185
187
189
191
193
195
197
198 void SetAlpha(Double_t val) { fAlpha = val; }
199
200 void SetPtPodol(Double_t val) { fPtPodol = val; }
201
203
205
207
209
211
213
216
219
220 Int_t GetRecoTrackIdPart1(); // actually it is GEM track Id
221 Int_t GetRecoTrackIdPart2(); // actually it is GEM track Id
222
223 // Omega cut from M. Zavertyaev
224
225 Double_t Omega() { return (fDCA12 * fDCA12) / (fDCA0 * fDCA0 + 4 * fDCA1 * fDCA2); }
226
227 private:
228 Double_t fInvMass; // Invariant mass of a considering pair
229
230 Double_t fAngleDecayProducts; // Angle between the two products of decay
231
234
237
241
245
247
249
252
255
258
261
266
271
272 // Armenteros-Podolyansky ...
275
278
281
286
288};
289
290#endif
int Int_t
double Double_t
#define ClassDef(name, id)
void SetMCTrackIdPart2(Int_t id)
Int_t GetNHitsPart1(TString det="")
void SetAlpha(Double_t val)
void SetBeta700Pair(Double_t val1, Double_t val2)
TVector3 GetMCMomPart2()
void SetDCA2(Double_t val)
void SetTxPair(Double_t val1, Double_t val2)
void SetPtPodol(Double_t val)
Int_t GetNHitsPart2(TString det="")
Double_t GetMomPart1()
Double_t GetTxPart1()
void SetBeta400Pair(Double_t val1, Double_t val2)
void SetRecoTrackIdPart2(Int_t id)
Double_t GetTyPart1()
Double_t GetInvMass()
void SetNHitsPair(vector< Int_t > part1, vector< Int_t > part2)
void SetTyPair(Double_t val1, Double_t val2)
void SetInvMass(Double_t val)
Double_t GetAngleDecayProducts()
Double_t GetBeta700Part2()
void SetChi2Pair(Double_t val1, Double_t val2)
Double_t GetPtPodol()
void SetV0Y(Double_t val)
void SetV0Z(Double_t val)
void SetDCA1(Double_t val)
void SetMCMomPart2(Double_t px, Double_t py, Double_t pz)
void SetAngleDecayProducts(Double_t val)
Double_t GetEtaPart2()
void SetMCMomPart1(Double_t px, Double_t py, Double_t pz)
void SetDCA12(Double_t val)
void SetMomPair(Double_t val1, Double_t val2)
Int_t GetMCTrackIdPart1()
Double_t GetBeta400Part1()
Double_t fAngleDecayProducts
void SetMCTrackIdPart1(Int_t id)
Int_t GetRecoTrackIdPart2()
Double_t GetChi2Part2()
BmnParticlePair()
Default constructor.
Double_t GetChi2Part1()
void SetRecoTrackIdPart1(Int_t id)
Double_t GetTxPart2()
Double_t GetEtaPart1()
Double_t GetMomPart2()
void SetDCA0(Double_t val)
void SetEtaPair(Double_t val1, Double_t val2)
Double_t GetBeta400Part2()
Double_t GetBeta700Part1()
TVector3 GetMCMomPart1()
Int_t GetMCTrackIdPart2()
void SetNHitsPair(Int_t nHitsPart1, Int_t nHitsPart2)
virtual ~BmnParticlePair()
Destructor.
void SetPath(Double_t val)
Int_t GetRecoTrackIdPart1()
void SetV0X(Double_t val)
Double_t GetTyPart2()
void SetNDFPair(Int_t val1, Int_t val2)
Definition json.hpp:4446