CMS 3D CMS Logo

AccessHelper.cc
Go to the documentation of this file.
1 #include "AccessHelper.h"
2 
4 
5 // ===============
6 // ----* Hit *----
7 // ===============
8 
9 //____________________________________________________________________________________________
10 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> convertHitsToHitIdxsAndHitTypes(
11  LSTEvent* event, std::vector<unsigned int> hits) {
12  auto hitsEvt = event->getHits<HitsSoA>();
13  std::vector<unsigned int> hitidxs;
14  std::vector<unsigned int> hittypes;
15  for (auto& hit : hits) {
16  hitidxs.push_back(hitsEvt.idxs()[hit]);
17  if (hitsEvt.detid()[hit] == 1)
18  hittypes.push_back(0);
19  else
20  hittypes.push_back(4);
21  }
22  return std::make_tuple(hitidxs, hittypes);
23 }
24 
25 // ===============
26 // ----* pLS *----
27 // ===============
28 
29 //____________________________________________________________________________________________
30 std::vector<unsigned int> getPixelHitsFrompLS(LSTEvent* event, unsigned int pLS) {
31  SegmentsConst segments = event->getSegments<SegmentsSoA>();
32  MiniDoubletsConst miniDoublets = event->getMiniDoublets<MiniDoubletsSoA>();
33  auto ranges = event->getRanges();
34  auto modulesEvt = event->getModules<ModulesSoA>();
35  const unsigned int pLS_offset = ranges.segmentModuleIndices()[modulesEvt.nLowerModules()];
36  unsigned int MD_1 = segments.mdIndices()[pLS + pLS_offset][0];
37  unsigned int MD_2 = segments.mdIndices()[pLS + pLS_offset][1];
38  unsigned int hit_1 = miniDoublets.anchorHitIndices()[MD_1];
39  unsigned int hit_2 = miniDoublets.outerHitIndices()[MD_1];
40  unsigned int hit_3 = miniDoublets.anchorHitIndices()[MD_2];
41  unsigned int hit_4 = miniDoublets.outerHitIndices()[MD_2];
42  if (hit_3 == hit_4)
43  return {hit_1, hit_2, hit_3};
44  else
45  return {hit_1, hit_2, hit_3, hit_4};
46 }
47 
48 //____________________________________________________________________________________________
49 std::vector<unsigned int> getPixelHitIdxsFrompLS(LSTEvent* event, unsigned int pLS) {
50  auto hitsEvt = event->getHits<HitsSoA>();
51  std::vector<unsigned int> hits = getPixelHitsFrompLS(event, pLS);
52  std::vector<unsigned int> hitidxs;
53  for (auto& hit : hits)
54  hitidxs.push_back(hitsEvt.idxs()[hit]);
55  return hitidxs;
56 }
57 
58 //____________________________________________________________________________________________
59 std::vector<unsigned int> getPixelHitTypesFrompLS(LSTEvent* event, unsigned int pLS) {
60  std::vector<unsigned int> hits = getPixelHitsFrompLS(event, pLS);
61  std::vector<unsigned int> hittypes(hits.size(), 0);
62  return hittypes;
63 }
64 
65 //____________________________________________________________________________________________
66 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFrompLS(LSTEvent* event,
67  unsigned pLS) {
69 }
70 
71 // ==============
72 // ----* MD *----
73 // ==============
74 
75 //____________________________________________________________________________________________
76 std::vector<unsigned int> getHitsFromMD(LSTEvent* event, unsigned int MD) {
77  MiniDoubletsConst miniDoublets = event->getMiniDoublets<MiniDoubletsSoA>();
78  unsigned int hit_1 = miniDoublets.anchorHitIndices()[MD];
79  unsigned int hit_2 = miniDoublets.outerHitIndices()[MD];
80  return {hit_1, hit_2};
81 }
82 
83 //____________________________________________________________________________________________
84 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFromMD(LSTEvent* event,
85  unsigned MD) {
87 }
88 
89 // ==============
90 // ----* LS *----
91 // ==============
92 
93 //____________________________________________________________________________________________
94 std::vector<unsigned int> getMDsFromLS(LSTEvent* event, unsigned int LS) {
95  SegmentsConst segments = event->getSegments<SegmentsSoA>();
96  unsigned int MD_1 = segments.mdIndices()[LS][0];
97  unsigned int MD_2 = segments.mdIndices()[LS][1];
98  return {MD_1, MD_2};
99 }
100 
101 //____________________________________________________________________________________________
102 std::vector<unsigned int> getHitsFromLS(LSTEvent* event, unsigned int LS) {
103  std::vector<unsigned int> MDs = getMDsFromLS(event, LS);
104  std::vector<unsigned int> hits_0 = getHitsFromMD(event, MDs[0]);
105  std::vector<unsigned int> hits_1 = getHitsFromMD(event, MDs[1]);
106  return {hits_0[0], hits_0[1], hits_1[0], hits_1[1]};
107 }
108 
109 //____________________________________________________________________________________________
110 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFromLS(LSTEvent* event,
111  unsigned LS) {
113 }
114 
115 // ==============
116 // ----* T3 *----
117 // ==============
118 
119 //____________________________________________________________________________________________
120 std::vector<unsigned int> getLSsFromT3(LSTEvent* event, unsigned int t3) {
121  auto const triplets = event->getTriplets<TripletsSoA>();
122  unsigned int ls_1 = triplets.segmentIndices()[t3][0];
123  unsigned int ls_2 = triplets.segmentIndices()[t3][1];
124  return {ls_1, ls_2};
125 }
126 
127 //____________________________________________________________________________________________
128 std::vector<unsigned int> getMDsFromT3(LSTEvent* event, unsigned int T3) {
129  std::vector<unsigned int> LSs = getLSsFromT3(event, T3);
130  std::vector<unsigned int> MDs_0 = getMDsFromLS(event, LSs[0]);
131  std::vector<unsigned int> MDs_1 = getMDsFromLS(event, LSs[1]);
132  return {MDs_0[0], MDs_0[1], MDs_1[1]};
133 }
134 
135 //____________________________________________________________________________________________
136 std::vector<unsigned int> getHitsFromT3(LSTEvent* event, unsigned int T3) {
137  std::vector<unsigned int> MDs = getMDsFromT3(event, T3);
138  std::vector<unsigned int> hits_0 = getHitsFromMD(event, MDs[0]);
139  std::vector<unsigned int> hits_1 = getHitsFromMD(event, MDs[1]);
140  std::vector<unsigned int> hits_2 = getHitsFromMD(event, MDs[2]);
141  return {hits_0[0], hits_0[1], hits_1[0], hits_1[1], hits_2[0], hits_2[1]};
142 }
143 
144 //____________________________________________________________________________________________
145 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFromT3(LSTEvent* event,
146  unsigned T3) {
148 }
149 
150 // ==============
151 // ----* T5 *----
152 // ==============
153 
154 //____________________________________________________________________________________________
155 std::vector<unsigned int> getT3sFromT5(LSTEvent* event, unsigned int t5) {
156  auto const quintuplets = event->getQuintuplets<QuintupletsSoA>();
157  unsigned int t3_1 = quintuplets.tripletIndices()[t5][0];
158  unsigned int t3_2 = quintuplets.tripletIndices()[t5][1];
159  return {t3_1, t3_2};
160 }
161 
162 //____________________________________________________________________________________________
163 std::vector<unsigned int> getLSsFromT5(LSTEvent* event, unsigned int T5) {
164  std::vector<unsigned int> T3s = getT3sFromT5(event, T5);
165  std::vector<unsigned int> LSs_0 = getLSsFromT3(event, T3s[0]);
166  std::vector<unsigned int> LSs_1 = getLSsFromT3(event, T3s[1]);
167  return {LSs_0[0], LSs_0[1], LSs_1[0], LSs_1[1]};
168 }
169 
170 //____________________________________________________________________________________________
171 std::vector<unsigned int> getMDsFromT5(LSTEvent* event, unsigned int T5) {
172  std::vector<unsigned int> LSs = getLSsFromT5(event, T5);
173  std::vector<unsigned int> MDs_0 = getMDsFromLS(event, LSs[0]);
174  std::vector<unsigned int> MDs_1 = getMDsFromLS(event, LSs[1]);
175  std::vector<unsigned int> MDs_2 = getMDsFromLS(event, LSs[2]);
176  std::vector<unsigned int> MDs_3 = getMDsFromLS(event, LSs[3]);
177  return {MDs_0[0], MDs_0[1], MDs_1[1], MDs_2[1], MDs_3[1]};
178 }
179 
180 //____________________________________________________________________________________________
181 std::vector<unsigned int> getHitsFromT5(LSTEvent* event, unsigned int T5) {
182  std::vector<unsigned int> MDs = getMDsFromT5(event, T5);
183  std::vector<unsigned int> hits_0 = getHitsFromMD(event, MDs[0]);
184  std::vector<unsigned int> hits_1 = getHitsFromMD(event, MDs[1]);
185  std::vector<unsigned int> hits_2 = getHitsFromMD(event, MDs[2]);
186  std::vector<unsigned int> hits_3 = getHitsFromMD(event, MDs[3]);
187  std::vector<unsigned int> hits_4 = getHitsFromMD(event, MDs[4]);
188  return {hits_0[0], hits_0[1], hits_1[0], hits_1[1], hits_2[0], hits_2[1], hits_3[0], hits_3[1], hits_4[0], hits_4[1]};
189 }
190 
191 //____________________________________________________________________________________________
192 std::vector<unsigned int> getHitIdxsFromT5(LSTEvent* event, unsigned int T5) {
193  auto hitsEvt = event->getHits<HitsSoA>();
194  std::vector<unsigned int> hits = getHitsFromT5(event, T5);
195  std::vector<unsigned int> hitidxs;
196  for (auto& hit : hits)
197  hitidxs.push_back(hitsEvt.idxs()[hit]);
198  return hitidxs;
199 }
200 //____________________________________________________________________________________________
201 std::vector<unsigned int> getModuleIdxsFromT5(LSTEvent* event, unsigned int T5) {
202  std::vector<unsigned int> hits = getHitsFromT5(event, T5);
203  std::vector<unsigned int> module_idxs;
204  auto hitsEvt = event->getHits<HitsSoA>();
205  for (auto& hitIdx : hits) {
206  module_idxs.push_back(hitsEvt.moduleIndices()[hitIdx]);
207  }
208  return module_idxs;
209 }
210 //____________________________________________________________________________________________
211 std::vector<unsigned int> getHitTypesFromT5(LSTEvent* event, unsigned int T5) {
212  return {4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
213  ;
214 }
215 
216 //____________________________________________________________________________________________
217 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFromT5(LSTEvent* event,
218  unsigned T5) {
220 }
221 
222 // ===============
223 // ----* pT3 *----
224 // ===============
225 
226 //____________________________________________________________________________________________
227 unsigned int getPixelLSFrompT3(LSTEvent* event, unsigned int pT3) {
228  auto const pixelTriplets = event->getPixelTriplets();
229  auto ranges = event->getRanges();
230  auto modulesEvt = event->getModules<ModulesSoA>();
231  const unsigned int pLS_offset = ranges.segmentModuleIndices()[modulesEvt.nLowerModules()];
232  return pixelTriplets.pixelSegmentIndices()[pT3] - pLS_offset;
233 }
234 
235 //____________________________________________________________________________________________
236 unsigned int getT3FrompT3(LSTEvent* event, unsigned int pT3) {
237  auto const pixelTriplets = event->getPixelTriplets();
238  return pixelTriplets.tripletIndices()[pT3];
239 }
240 
241 //____________________________________________________________________________________________
242 std::vector<unsigned int> getLSsFrompT3(LSTEvent* event, unsigned int pT3) {
243  unsigned int T3 = getT3FrompT3(event, pT3);
244  return getLSsFromT3(event, T3);
245 }
246 
247 //____________________________________________________________________________________________
248 std::vector<unsigned int> getMDsFrompT3(LSTEvent* event, unsigned int pT3) {
249  unsigned int T3 = getT3FrompT3(event, pT3);
250  return getMDsFromT3(event, T3);
251 }
252 
253 //____________________________________________________________________________________________
254 std::vector<unsigned int> getOuterTrackerHitsFrompT3(LSTEvent* event, unsigned int pT3) {
255  unsigned int T3 = getT3FrompT3(event, pT3);
256  return getHitsFromT3(event, T3);
257 }
258 
259 //____________________________________________________________________________________________
260 std::vector<unsigned int> getPixelHitsFrompT3(LSTEvent* event, unsigned int pT3) {
261  unsigned int pLS = getPixelLSFrompT3(event, pT3);
262  return getPixelHitsFrompLS(event, pLS);
263 }
264 
265 //____________________________________________________________________________________________
266 std::vector<unsigned int> getHitsFrompT3(LSTEvent* event, unsigned int pT3) {
267  unsigned int pLS = getPixelLSFrompT3(event, pT3);
268  unsigned int T3 = getT3FrompT3(event, pT3);
269  std::vector<unsigned int> pixelHits = getPixelHitsFrompLS(event, pLS);
270  std::vector<unsigned int> outerTrackerHits = getHitsFromT3(event, T3);
271  pixelHits.insert(pixelHits.end(), outerTrackerHits.begin(), outerTrackerHits.end());
272  return pixelHits;
273 }
274 
275 //____________________________________________________________________________________________
276 std::vector<unsigned int> getHitIdxsFrompT3(LSTEvent* event, unsigned int pT3) {
277  auto hitsEvt = event->getHits<HitsSoA>();
278  std::vector<unsigned int> hits = getHitsFrompT3(event, pT3);
279  std::vector<unsigned int> hitidxs;
280  for (auto& hit : hits)
281  hitidxs.push_back(hitsEvt.idxs()[hit]);
282  return hitidxs;
283 }
284 //____________________________________________________________________________________________
285 std::vector<unsigned int> getModuleIdxsFrompT3(LSTEvent* event, unsigned int pT3) {
286  std::vector<unsigned int> hits = getOuterTrackerHitsFrompT3(event, pT3);
287  std::vector<unsigned int> module_idxs;
288  auto hitsEvt = event->getHits<HitsSoA>();
289  for (auto& hitIdx : hits) {
290  module_idxs.push_back(hitsEvt.moduleIndices()[hitIdx]);
291  }
292  return module_idxs;
293 }
294 //____________________________________________________________________________________________
295 std::vector<unsigned int> getHitTypesFrompT3(LSTEvent* event, unsigned int pT3) {
296  unsigned int pLS = getPixelLSFrompT3(event, pT3);
297  std::vector<unsigned int> pixelHits = getPixelHitsFrompLS(event, pLS);
298  // pixel Hits list will be either 3 or 4 and depending on it return accordingly
299  if (pixelHits.size() == 3)
300  return {0, 0, 0, 4, 4, 4, 4, 4, 4};
301  else
302  return {0, 0, 0, 0, 4, 4, 4, 4, 4, 4};
303 }
304 
305 //____________________________________________________________________________________________
306 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFrompT3(LSTEvent* event,
307  unsigned pT3) {
309 }
310 
311 // ===============
312 // ----* pT5 *----
313 // ===============
314 
315 //____________________________________________________________________________________________
316 unsigned int getPixelLSFrompT5(LSTEvent* event, unsigned int pT5) {
317  auto const pixelQuintuplets = event->getPixelQuintuplets();
318  auto ranges = event->getRanges();
319  auto modulesEvt = event->getModules<ModulesSoA>();
320  const unsigned int pLS_offset = ranges.segmentModuleIndices()[modulesEvt.nLowerModules()];
321  return pixelQuintuplets.pixelSegmentIndices()[pT5] - pLS_offset;
322 }
323 
324 //____________________________________________________________________________________________
325 unsigned int getT5FrompT5(LSTEvent* event, unsigned int pT5) {
326  auto const pixelQuintuplets = event->getPixelQuintuplets();
327  return pixelQuintuplets.quintupletIndices()[pT5];
328 }
329 
330 //____________________________________________________________________________________________
331 std::vector<unsigned int> getT3sFrompT5(LSTEvent* event, unsigned int pT5) {
332  unsigned int T5 = getT5FrompT5(event, pT5);
333  return getT3sFromT5(event, T5);
334 }
335 
336 //____________________________________________________________________________________________
337 std::vector<unsigned int> getLSsFrompT5(LSTEvent* event, unsigned int pT5) {
338  unsigned int T5 = getT5FrompT5(event, pT5);
339  return getLSsFromT5(event, T5);
340 }
341 
342 //____________________________________________________________________________________________
343 std::vector<unsigned int> getMDsFrompT5(LSTEvent* event, unsigned int pT5) {
344  unsigned int T5 = getT5FrompT5(event, pT5);
345  return getMDsFromT5(event, T5);
346 }
347 
348 //____________________________________________________________________________________________
349 std::vector<unsigned int> getOuterTrackerHitsFrompT5(LSTEvent* event, unsigned int pT5) {
350  unsigned int T5 = getT5FrompT5(event, pT5);
351  return getHitsFromT5(event, T5);
352 }
353 
354 //____________________________________________________________________________________________
355 std::vector<unsigned int> getPixelHitsFrompT5(LSTEvent* event, unsigned int pT5) {
356  unsigned int pLS = getPixelLSFrompT5(event, pT5);
357  return getPixelHitsFrompLS(event, pLS);
358 }
359 
360 //____________________________________________________________________________________________
361 std::vector<unsigned int> getHitsFrompT5(LSTEvent* event, unsigned int pT5) {
362  unsigned int pLS = getPixelLSFrompT5(event, pT5);
363  unsigned int T5 = getT5FrompT5(event, pT5);
364  std::vector<unsigned int> pixelHits = getPixelHitsFrompLS(event, pLS);
365  std::vector<unsigned int> outerTrackerHits = getHitsFromT5(event, T5);
366  pixelHits.insert(pixelHits.end(), outerTrackerHits.begin(), outerTrackerHits.end());
367  return pixelHits;
368 }
369 
370 //____________________________________________________________________________________________
371 std::vector<unsigned int> getHitIdxsFrompT5(LSTEvent* event, unsigned int pT5) {
372  auto hitsEvt = event->getHits<HitsSoA>();
373  std::vector<unsigned int> hits = getHitsFrompT5(event, pT5);
374  std::vector<unsigned int> hitidxs;
375  for (auto& hit : hits)
376  hitidxs.push_back(hitsEvt.idxs()[hit]);
377  return hitidxs;
378 }
379 
380 //____________________________________________________________________________________________
381 std::vector<unsigned int> getModuleIdxsFrompT5(LSTEvent* event, unsigned int pT5) {
382  std::vector<unsigned int> hits = getOuterTrackerHitsFrompT5(event, pT5);
383  std::vector<unsigned int> module_idxs;
384  auto hitsEvt = event->getHits<HitsSoA>();
385  for (auto& hitIdx : hits) {
386  module_idxs.push_back(hitsEvt.moduleIndices()[hitIdx]);
387  }
388  return module_idxs;
389 }
390 
391 //____________________________________________________________________________________________
392 std::vector<unsigned int> getHitTypesFrompT5(LSTEvent* event, unsigned int pT5) {
393  unsigned int pLS = getPixelLSFrompT5(event, pT5);
394  std::vector<unsigned int> pixelHits = getPixelHitsFrompLS(event, pLS);
395  // pixel Hits list will be either 3 or 4 and depending on it return accordingly
396  if (pixelHits.size() == 3)
397  return {0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
398  else
399  return {0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
400 }
401 
402 //____________________________________________________________________________________________
403 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFrompT5(LSTEvent* event,
404  unsigned pT5) {
406 }
407 
408 // ==============
409 // ----* TC *----
410 // ==============
411 
412 //____________________________________________________________________________________________
413 std::vector<unsigned int> getLSsFromTC(LSTEvent* event, unsigned int iTC) {
414  // Get the type of the track candidate
415  auto const& trackCandidates = event->getTrackCandidates();
416  short type = trackCandidates.trackCandidateType()[iTC];
417  unsigned int objidx = trackCandidates.directObjectIndices()[iTC];
418  switch (type) {
420  return getLSsFrompT5(event, objidx);
421  break;
423  return getLSsFrompT3(event, objidx);
424  break;
425  case lst::LSTObjType::T5:
426  return getLSsFromT5(event, objidx);
427  break;
429  return std::vector<unsigned int>();
430  break;
431  }
432 }
433 
434 //____________________________________________________________________________________________
435 std::tuple<std::vector<unsigned int>, std::vector<unsigned int>> getHitIdxsAndHitTypesFromTC(LSTEvent* event,
436  unsigned iTC) {
437  // Get the type of the track candidate
438  auto const& trackCandidates = event->getTrackCandidates();
439  short type = trackCandidates.trackCandidateType()[iTC];
440  unsigned int objidx = trackCandidates.directObjectIndices()[iTC];
441  switch (type) {
443  return getHitIdxsAndHitTypesFrompT5(event, objidx);
444  break;
446  return getHitIdxsAndHitTypesFrompT3(event, objidx);
447  break;
448  case lst::LSTObjType::T5:
449  return getHitIdxsAndHitTypesFromT5(event, objidx);
450  break;
452  return getHitIdxsAndHitTypesFrompLS(event, objidx);
453  break;
454  }
455 }
std::vector< unsigned int > getModuleIdxsFromT5(LSTEvent *event, unsigned int T5)
std::vector< unsigned int > getModuleIdxsFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getHitsFromT3(LSTEvent *event, unsigned int T3)
std::vector< unsigned int > getPixelHitsFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getHitTypesFrompT3(LSTEvent *event, unsigned int pT3)
ModulesSoALayout<> ModulesSoA
Definition: ModulesSoA.h:43
Definition: performance.cc:3
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompLS(LSTEvent *event, unsigned pLS)
Definition: AccessHelper.cc:66
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromTC(LSTEvent *event, unsigned iTC)
std::vector< unsigned int > getLSsFromT3(LSTEvent *event, unsigned int t3)
std::vector< unsigned int > getHitTypesFromT5(LSTEvent *event, unsigned int T5)
std::vector< unsigned int > getMDsFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getHitIdxsFrompT5(LSTEvent *event, unsigned int pT5)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromT5(LSTEvent *event, unsigned T5)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompT3(LSTEvent *event, unsigned pT3)
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getT3sFromT5(LSTEvent *event, unsigned int t5)
std::vector< unsigned int > getMDsFromLS(LSTEvent *event, unsigned int LS)
Definition: AccessHelper.cc:94
std::vector< unsigned int > getHitIdxsFrompT3(LSTEvent *event, unsigned int pT3)
SegmentsSoALayout<> SegmentsSoA
Definition: SegmentsSoA.h:44
std::vector< unsigned int > getHitIdxsFromT5(LSTEvent *event, unsigned int T5)
std::vector< unsigned int > getLSsFrompT5(LSTEvent *event, unsigned int pT5)
QuintupletsSoALayout<> QuintupletsSoA
std::vector< unsigned int > getT3sFrompT5(LSTEvent *event, unsigned int pT5)
unsigned int getPixelLSFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getMDsFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getHitsFrompT5(LSTEvent *event, unsigned int pT5)
unsigned int getPixelLSFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromMD(LSTEvent *event, unsigned MD)
Definition: AccessHelper.cc:84
MiniDoubletsSoA::ConstView MiniDoubletsConst
std::vector< unsigned int > getPixelHitIdxsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:49
std::vector< unsigned int > getModuleIdxsFrompT3(LSTEvent *event, unsigned int pT3)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompT5(LSTEvent *event, unsigned pT5)
std::vector< unsigned int > getPixelHitTypesFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:59
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
MiniDoubletsSoALayout<> MiniDoubletsSoA
string ranges
Definition: diffTwoXMLs.py:79
std::vector< unsigned int > getPixelHitsFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getHitTypesFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getMDsFromT5(LSTEvent *event, unsigned int T5)
std::vector< unsigned int > getMDsFromT3(LSTEvent *event, unsigned int T3)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromT3(LSTEvent *event, unsigned T3)
std::vector< unsigned int > getLSsFromTC(LSTEvent *event, unsigned int iTC)
std::vector< unsigned int > getHitsFromMD(LSTEvent *event, unsigned int MD)
Definition: AccessHelper.cc:76
std::vector< unsigned int > getOuterTrackerHitsFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getLSsFrompT3(LSTEvent *event, unsigned int pT3)
unsigned int getT3FrompT3(LSTEvent *event, unsigned int pT3)
SegmentsSoA::ConstView SegmentsConst
Definition: SegmentsSoA.h:49
std::vector< unsigned int > getOuterTrackerHitsFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getLSsFromT5(LSTEvent *event, unsigned int T5)
TripletsSoALayout<> TripletsSoA
Definition: TripletsSoA.h:29
std::vector< unsigned int > getHitsFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getHitsFromLS(LSTEvent *event, unsigned int LS)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromLS(LSTEvent *event, unsigned LS)
Definition: event.py:1