BmnRoot
Loading...
Searching...
No Matches
BmnAcceptanceFunction.h
Go to the documentation of this file.
1
9#ifndef BMNACCEPTANCEFUNCTION_H_
10#define BMNACCEPTANCEFUNCTION_H_
11
12#include "CbmMCTrack.h"
13#include "BmnTrackMatch.h"
14#include "TClonesArray.h"
15#include "TMath.h"
16#include "TDatabasePDG.h"
17//#include <cmath>
18//using std::abs;
19
20
22{
23public:
24
26 const TClonesArray* mcTracks,
27 Int_t index)
28 {
29 return true;
30 }
31
33 const TClonesArray* mcTracks,
34 Int_t index)
35 {
36 if (index < 0) return false;
37 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
38 const TParticlePDG* particle = TDatabasePDG::Instance()->GetParticle(mcTrack->GetPdgCode());
39 if (particle == NULL) return false;
40 return particle->Charge() < 0;
41 }
42
44 const TClonesArray* mcTracks,
45 Int_t index)
46 {
47 if (index < 0) return false;
48 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
49 const TParticlePDG* particle = TDatabasePDG::Instance()->GetParticle(mcTrack->GetPdgCode());
50 if (particle == NULL) return false;
51 return particle->Charge() > 0;
52 }
53
55 const TClonesArray* mcTracks,
56 Int_t index)
57 {
58 if (index < 0) return false;
59 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
60 return (mcTrack->GetMotherId() == -1);
61 }
62
64 const TClonesArray* mcTracks,
65 Int_t index)
66 {
67 if (index < 0) return false;
68 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
69 return (mcTrack->GetMotherId() == -1) && (mcTrack->GetP() > 1.);
70 }
71
73 const TClonesArray* mcTracks,
74 Int_t index)
75 {
76 if (index < 0) return false;
77 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
78 return (mcTrack->GetMotherId() != -1);
79 }
80
82 const TClonesArray* mcTracks,
83 Int_t index)
84 {
85 if (index < 0) return false;
86 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
87 return (TMath::Abs(mcTrack->GetPdgCode()) == 11) && (mcTrack->GetMotherId() == -1);
88 }
89
91 const TClonesArray* mcTracks,
92 Int_t index)
93 {
94 if (index < 0) return false;
95 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
96 return (TMath::Abs(mcTrack->GetPdgCode()) == 13) && (mcTrack->GetMotherId() == -1);
97 }
98
100 const TClonesArray* mcTracks,
101 Int_t index)
102 {
103 if (index < 0) return false;
104 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
105 return TMath::Abs(mcTrack->GetPdgCode()) == 11;
106 }
107
109 const TClonesArray* mcTracks,
110 Int_t index)
111 {
112 if (index < 0) return false;
113 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
114 return TMath::Abs(mcTrack->GetPdgCode()) == 13;
115 }
116
118 const TClonesArray* mcTracks,
119 Int_t index)
120 {
121 if (index < 0) return false;
122 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
123 return (TMath::Abs(mcTrack->GetPdgCode()) == 2212);
124 }
125
127 const TClonesArray* mcTracks,
128 Int_t index)
129 {
130 if (index < 0) return false;
131 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
132 return mcTrack->GetPdgCode() == -2212;
133 }
134
136 const TClonesArray* mcTracks,
137 Int_t index)
138 {
139 if (index < 0) return false;
140 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
141 return (TMath::Abs(mcTrack->GetPdgCode()) == 211);
142 }
143
145 const TClonesArray* mcTracks,
146 Int_t index)
147 {
148 if (index < 0) return false;
149 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
150 return (mcTrack->GetPdgCode() == 211);
151 }
152
154 const TClonesArray* mcTracks,
155 Int_t index)
156 {
157 if (index < 0) return false;
158 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
159 return (mcTrack->GetPdgCode() == -211);
160 }
161
163 const TClonesArray* mcTracks,
164 Int_t index)
165 {
166 if (index < 0) return false;
167 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
168 return (TMath::Abs(mcTrack->GetPdgCode()) == 321);
169 }
170
172 const TClonesArray* mcTracks,
173 Int_t index)
174 {
175 if (index < 0) return false;
176 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
177 return (mcTrack->GetPdgCode() == 321);
178 }
179
181 const TClonesArray* mcTracks,
182 Int_t index)
183 {
184 if (index < 0) return false;
185 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
186 return (mcTrack->GetPdgCode() == -321);
187 }
188
190 const TClonesArray* mcTracks,
191 Int_t index,
192 Int_t nofHitsInRing)
193 {
194 return true;
195 }
196
198 const TClonesArray* mcTracks,
199 Int_t index,
200 Int_t nofHitsInRing)
201 {
202 if (index < 0) return false;
203 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
204 return (mcTrack->GetMotherId() == -1) && (mcTrack->GetP() > 1.) && (nofHitsInRing >= 15);
205 }
206
208 const TClonesArray* mcTracks,
209 Int_t index,
210 Int_t nofHitsInRing)
211 {
212 if (index < 0) return false;
213 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
214 return (mcTrack->GetMotherId() == -1) && (TMath::Abs(mcTrack->GetPdgCode()) == 11);
215 }
216
218 const TClonesArray* mcTracks,
219 Int_t index,
220 Int_t nofHitsInRing)
221 {
222 if (index < 0) return false;
223 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
224 return (mcTrack->GetMotherId() == -1) && (TMath::Abs(mcTrack->GetPdgCode()) == 11) && (mcTrack->GetP() > 1.) && (nofHitsInRing >= 15);
225 }
226
228 const TClonesArray* mcTracks,
229 Int_t index,
230 Int_t nofHitsInRing)
231 {
232 if (index < 0) return false;
233 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
234 return (TMath::Abs(mcTrack->GetPdgCode()) == 211);
235 }
236
238 const TClonesArray* mcTracks,
239 Int_t index,
240 Int_t nofHitsInRing)
241 {
242 if (index < 0) return false;
243 const CbmMCTrack* mcTrack = static_cast<const CbmMCTrack*>(mcTracks->At(index));
244 return (TMath::Abs(mcTrack->GetPdgCode()) == 211) && (mcTrack->GetP() > 1.) && (nofHitsInRing >= 15);
245 }
246
248 const TClonesArray* globalTracks,
249 const TClonesArray* stsMatches,
250 const TClonesArray* richMatches,
251 Int_t index)
252 {
253 return true;
254 }
255
257 const TClonesArray* globalTracks,
258 const TClonesArray* stsMatches,
259 const TClonesArray* richMatches,
260 Int_t index)
261 {
262// const CbmGlobalTrack* gTrack = static_cast<const CbmGlobalTrack*>(globalTracks->At(index));
263// Int_t stsInd = gTrack->GetStsTrackIndex();
264// Int_t richInd = gTrack->GetRichRingIndex();
265// if (stsInd == -1 || richInd == -1) return false;
266// const BmnTrackMatch* stsMatch = static_cast<const BmnTrackMatch*>(stsMatches->At(stsInd));
267// const BmnTrackMatch* richMatch = static_cast<const BmnTrackMatch*>(richMatches->At(richInd));
268// if (NULL == stsMatch || NULL == richMatch) return false;
269//
270// if (stsMatch->GetMatchedLink().GetIndex() == richMatch->GetMatchedLink().GetIndex()) return true;
271 return false;
272 }
273
275 const TClonesArray* globalTracks,
276 const TClonesArray* stsMatches,
277 const TClonesArray* richMatches,
278 Int_t index)
279 {
280 return !TrueMatchPiSuppAcceptanceFunction(globalTracks, stsMatches, richMatches, index);
281 }
282
283};
284
285#endif /* BMNACCEPTANCEFUNCTION_H_ */
static Bool_t KaonMinusTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PrimaryElectronRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t SecondaryTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PositiveTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PrimaryTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PrimaryElectronReferenceRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t AllTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t KaonTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t WrongMatchPiSuppAcceptanceFunction(const TClonesArray *globalTracks, const TClonesArray *stsMatches, const TClonesArray *richMatches, Int_t index)
static Bool_t AllPiSuppAcceptanceFunction(const TClonesArray *globalTracks, const TClonesArray *stsMatches, const TClonesArray *richMatches, Int_t index)
static Bool_t NegativeTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PrimaryElectronTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PionMinusTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t ElectronTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t KaonPlusTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t ProtonTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PionTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t AllRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t PionPlusTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t MuonTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PrimaryMuonTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t ReferenceTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t AntiProtonTrackAcceptanceFunction(const TClonesArray *mcTracks, Int_t index)
static Bool_t PionReferenceRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t AllReferenceRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t PionRingAcceptanceFunction(const TClonesArray *mcTracks, Int_t index, Int_t nofHitsInRing)
static Bool_t TrueMatchPiSuppAcceptanceFunction(const TClonesArray *globalTracks, const TClonesArray *stsMatches, const TClonesArray *richMatches, Int_t index)
Int_t GetMotherId() const
Definition CbmMCTrack.h:57
Double_t GetP() const
Definition CbmMCTrack.h:68
Int_t GetPdgCode() const
Definition CbmMCTrack.h:56