CMS 3D CMS Logo

Functions
AccessHelper.cc File Reference
#include "AccessHelper.h"

Go to the source code of this file.

Functions

std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes (LSTEvent *event, std::vector< unsigned int > hits)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromLS (LSTEvent *event, unsigned LS)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromMD (LSTEvent *event, unsigned MD)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompLS (LSTEvent *event, unsigned pLS)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompT3 (LSTEvent *event, unsigned pT3)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompT5 (LSTEvent *event, unsigned pT5)
 
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFromT3 (LSTEvent *event, unsigned T3)
 
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 > > getHitIdxsAndHitTypesFromTC (LSTEvent *event, unsigned iTC)
 
std::vector< unsigned int > getHitIdxsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getHitIdxsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getHitIdxsFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getHitsFromLS (LSTEvent *event, unsigned int LS)
 
std::vector< unsigned int > getHitsFromMD (LSTEvent *event, unsigned int MD)
 
std::vector< unsigned int > getHitsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getHitsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getHitsFromT3 (LSTEvent *event, unsigned int T3)
 
std::vector< unsigned int > getHitsFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getHitTypesFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getHitTypesFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getHitTypesFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getLSsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getLSsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getLSsFromT3 (LSTEvent *event, unsigned int t3)
 
std::vector< unsigned int > getLSsFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getLSsFromTC (LSTEvent *event, unsigned int iTC)
 
std::vector< unsigned int > getMDsFromLS (LSTEvent *event, unsigned int LS)
 
std::vector< unsigned int > getMDsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getMDsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getMDsFromT3 (LSTEvent *event, unsigned int T3)
 
std::vector< unsigned int > getMDsFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getModuleIdxsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getModuleIdxsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getModuleIdxsFromT5 (LSTEvent *event, unsigned int T5)
 
std::vector< unsigned int > getOuterTrackerHitsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getOuterTrackerHitsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getPixelHitIdxsFrompLS (LSTEvent *event, unsigned int pLS)
 
std::vector< unsigned int > getPixelHitsFrompLS (LSTEvent *event, unsigned int pLS)
 
std::vector< unsigned int > getPixelHitsFrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getPixelHitsFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getPixelHitTypesFrompLS (LSTEvent *event, unsigned int pLS)
 
unsigned int getPixelLSFrompT3 (LSTEvent *event, unsigned int pT3)
 
unsigned int getPixelLSFrompT5 (LSTEvent *event, unsigned int pT5)
 
unsigned int getT3FrompT3 (LSTEvent *event, unsigned int pT3)
 
std::vector< unsigned int > getT3sFrompT5 (LSTEvent *event, unsigned int pT5)
 
std::vector< unsigned int > getT3sFromT5 (LSTEvent *event, unsigned int t5)
 
unsigned int getT5FrompT5 (LSTEvent *event, unsigned int pT5)
 

Function Documentation

◆ convertHitsToHitIdxsAndHitTypes()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > convertHitsToHitIdxsAndHitTypes ( LSTEvent event,
std::vector< unsigned int >  hits 
)

Definition at line 10 of file AccessHelper.cc.

References hfClusterShapes_cfi::hits.

Referenced by getHitIdxsAndHitTypesFromLS(), getHitIdxsAndHitTypesFromMD(), getHitIdxsAndHitTypesFrompLS(), getHitIdxsAndHitTypesFrompT3(), getHitIdxsAndHitTypesFrompT5(), getHitIdxsAndHitTypesFromT3(), and getHitIdxsAndHitTypesFromT5().

11  {
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 }
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29

◆ getHitIdxsAndHitTypesFromLS()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFromLS ( LSTEvent event,
unsigned  LS 
)

Definition at line 110 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), and getHitsFromLS().

Referenced by setGnnNtupleBranches().

111  {
113 }
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
Definition: event.py:1

◆ getHitIdxsAndHitTypesFromMD()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFromMD ( LSTEvent event,
unsigned  MD 
)

Definition at line 84 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), and getHitsFromMD().

85  {
87 }
std::vector< unsigned int > getHitsFromMD(LSTEvent *event, unsigned int MD)
Definition: AccessHelper.cc:76
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFrompLS()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFrompLS ( LSTEvent event,
unsigned  pLS 
)

Definition at line 66 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), getPixelHitsFrompLS(), and pLS.

Referenced by getHitIdxsAndHitTypesFromTC().

67  {
69 }
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFrompT3()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFrompT3 ( LSTEvent event,
unsigned  pT3 
)

Definition at line 306 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), getHitsFrompT3(), and pT3.

Referenced by getHitIdxsAndHitTypesFromTC().

307  {
309 }
std::vector< unsigned int > getHitsFrompT3(LSTEvent *event, unsigned int pT3)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFrompT5()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFrompT5 ( LSTEvent event,
unsigned  pT5 
)

Definition at line 403 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), getHitsFrompT5(), and pT5.

Referenced by getHitIdxsAndHitTypesFromTC().

404  {
406 }
std::vector< unsigned int > getHitsFrompT5(LSTEvent *event, unsigned int pT5)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFromT3()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFromT3 ( LSTEvent event,
unsigned  T3 
)

Definition at line 145 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), and getHitsFromT3().

146  {
148 }
std::vector< unsigned int > getHitsFromT3(LSTEvent *event, unsigned int T3)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFromT5()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFromT5 ( LSTEvent event,
unsigned  T5 
)

Definition at line 217 of file AccessHelper.cc.

References convertHitsToHitIdxsAndHitTypes(), getHitsFromT5(), and T5.

Referenced by getHitIdxsAndHitTypesFromTC().

218  {
220 }
Definition: performance.cc:3
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > convertHitsToHitIdxsAndHitTypes(LSTEvent *event, std::vector< unsigned int > hits)
Definition: AccessHelper.cc:10
Definition: event.py:1

◆ getHitIdxsAndHitTypesFromTC()

std::tuple<std::vector<unsigned int>, std::vector<unsigned int> > getHitIdxsAndHitTypesFromTC ( LSTEvent event,
unsigned  iTC 
)

Definition at line 435 of file AccessHelper.cc.

References getHitIdxsAndHitTypesFrompLS(), getHitIdxsAndHitTypesFrompT3(), getHitIdxsAndHitTypesFrompT5(), getHitIdxsAndHitTypesFromT5(), pLS, pT3, pT5, and T5.

Referenced by setGnnNtupleBranches().

436  {
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 }
Definition: performance.cc:3
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompLS(LSTEvent *event, unsigned pLS)
Definition: AccessHelper.cc:66
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)
std::tuple< std::vector< unsigned int >, std::vector< unsigned int > > getHitIdxsAndHitTypesFrompT5(LSTEvent *event, unsigned pT5)
Definition: event.py:1

◆ getHitIdxsFrompT3()

std::vector<unsigned int> getHitIdxsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 276 of file AccessHelper.cc.

References getHitsFrompT3(), hfClusterShapes_cfi::hits, and pT3.

Referenced by parsepT3(), and setPixelTripletOutputBranches().

276  {
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 }
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
std::vector< unsigned int > getHitsFrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getHitIdxsFrompT5()

std::vector<unsigned int> getHitIdxsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 371 of file AccessHelper.cc.

References getHitsFrompT5(), hfClusterShapes_cfi::hits, and pT5.

Referenced by parsepT5(), and setPixelQuintupletOutputBranches().

371  {
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 }
std::vector< unsigned int > getHitsFrompT5(LSTEvent *event, unsigned int pT5)
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
Definition: event.py:1

◆ getHitIdxsFromT5()

std::vector<unsigned int> getHitIdxsFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 192 of file AccessHelper.cc.

References getHitsFromT5(), hfClusterShapes_cfi::hits, and T5.

Referenced by parseT5(), and setQuintupletOutputBranches().

192  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
Definition: event.py:1

◆ getHitsFromLS()

std::vector<unsigned int> getHitsFromLS ( LSTEvent event,
unsigned int  LS 
)

Definition at line 102 of file AccessHelper.cc.

References getHitsFromMD(), and getMDsFromLS().

Referenced by getHitIdxsAndHitTypesFromLS(), and setGnnNtupleBranches().

102  {
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 }
std::vector< unsigned int > getMDsFromLS(LSTEvent *event, unsigned int LS)
Definition: AccessHelper.cc:94
std::vector< unsigned int > getHitsFromMD(LSTEvent *event, unsigned int MD)
Definition: AccessHelper.cc:76
Definition: event.py:1

◆ getHitsFromMD()

std::vector<unsigned int> getHitsFromMD ( LSTEvent event,
unsigned int  MD 
)

Definition at line 76 of file AccessHelper.cc.

Referenced by getHitIdxsAndHitTypesFromMD(), getHitsFromLS(), getHitsFromT3(), and getHitsFromT5().

76  {
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 }
MiniDoubletsSoA::ConstView MiniDoubletsConst
MiniDoubletsSoALayout<> MiniDoubletsSoA

◆ getHitsFrompT3()

std::vector<unsigned int> getHitsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 266 of file AccessHelper.cc.

References getHitsFromT3(), getPixelHitsFrompLS(), getPixelLSFrompT3(), getT3FrompT3(), InitialStepPreSplitting_cff::pixelHits, pLS, and pT3.

Referenced by getHitIdxsAndHitTypesFrompT3(), and getHitIdxsFrompT3().

266  {
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 }
std::vector< unsigned int > getHitsFromT3(LSTEvent *event, unsigned int T3)
unsigned int getPixelLSFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
unsigned int getT3FrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getHitsFrompT5()

std::vector<unsigned int> getHitsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 361 of file AccessHelper.cc.

References getHitsFromT5(), getPixelHitsFrompLS(), getPixelLSFrompT5(), getT5FrompT5(), InitialStepPreSplitting_cff::pixelHits, pLS, pT5, and T5.

Referenced by getHitIdxsAndHitTypesFrompT5(), and getHitIdxsFrompT5().

361  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
unsigned int getPixelLSFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getHitsFromT3()

std::vector<unsigned int> getHitsFromT3 ( LSTEvent event,
unsigned int  T3 
)

Definition at line 136 of file AccessHelper.cc.

References getHitsFromMD(), and getMDsFromT3().

Referenced by getHitIdxsAndHitTypesFromT3(), getHitsFrompT3(), and getOuterTrackerHitsFrompT3().

136  {
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 }
std::vector< unsigned int > getMDsFromT3(LSTEvent *event, unsigned int T3)
std::vector< unsigned int > getHitsFromMD(LSTEvent *event, unsigned int MD)
Definition: AccessHelper.cc:76
Definition: event.py:1

◆ getHitsFromT5()

std::vector<unsigned int> getHitsFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 181 of file AccessHelper.cc.

References getHitsFromMD(), getMDsFromT5(), and T5.

Referenced by getHitIdxsAndHitTypesFromT5(), getHitIdxsFromT5(), getHitsFrompT5(), getModuleIdxsFromT5(), getOuterTrackerHitsFrompT5(), and parseT5().

181  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getMDsFromT5(LSTEvent *event, unsigned int T5)
std::vector< unsigned int > getHitsFromMD(LSTEvent *event, unsigned int MD)
Definition: AccessHelper.cc:76
Definition: event.py:1

◆ getHitTypesFrompT3()

std::vector<unsigned int> getHitTypesFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 295 of file AccessHelper.cc.

References getPixelHitsFrompLS(), getPixelLSFrompT3(), InitialStepPreSplitting_cff::pixelHits, pLS, and pT3.

Referenced by parsepT3(), and setPixelTripletOutputBranches().

295  {
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 }
unsigned int getPixelLSFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getHitTypesFrompT5()

std::vector<unsigned int> getHitTypesFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 392 of file AccessHelper.cc.

References getPixelHitsFrompLS(), getPixelLSFrompT5(), InitialStepPreSplitting_cff::pixelHits, pLS, and pT5.

Referenced by parsepT5(), and setPixelQuintupletOutputBranches().

392  {
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 }
unsigned int getPixelLSFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getHitTypesFromT5()

std::vector<unsigned int> getHitTypesFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 211 of file AccessHelper.cc.

Referenced by parseT5(), and setQuintupletOutputBranches().

211  {
212  return {4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
213  ;
214 }

◆ getLSsFrompT3()

std::vector<unsigned int> getLSsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 242 of file AccessHelper.cc.

References getLSsFromT3(), getT3FrompT3(), and pT3.

Referenced by getLSsFromTC().

242  {
243  unsigned int T3 = getT3FrompT3(event, pT3);
244  return getLSsFromT3(event, T3);
245 }
std::vector< unsigned int > getLSsFromT3(LSTEvent *event, unsigned int t3)
unsigned int getT3FrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getLSsFrompT5()

std::vector<unsigned int> getLSsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 337 of file AccessHelper.cc.

References getLSsFromT5(), getT5FrompT5(), pT5, and T5.

Referenced by getLSsFromTC().

337  {
338  unsigned int T5 = getT5FrompT5(event, pT5);
339  return getLSsFromT5(event, T5);
340 }
Definition: performance.cc:3
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getLSsFromT5(LSTEvent *event, unsigned int T5)
Definition: event.py:1

◆ getLSsFromT3()

std::vector<unsigned int> getLSsFromT3 ( LSTEvent event,
unsigned int  t3 
)

Definition at line 120 of file AccessHelper.cc.

References RandomServiceHelper::t3.

Referenced by getLSsFrompT3(), getLSsFromT5(), and getMDsFromT3().

120  {
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 }
TripletsSoALayout<> TripletsSoA
Definition: TripletsSoA.h:29

◆ getLSsFromT5()

std::vector<unsigned int> getLSsFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 163 of file AccessHelper.cc.

References getLSsFromT3(), getT3sFromT5(), and T5.

Referenced by getLSsFrompT5(), getLSsFromTC(), and getMDsFromT5().

163  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getLSsFromT3(LSTEvent *event, unsigned int t3)
std::vector< unsigned int > getT3sFromT5(LSTEvent *event, unsigned int t5)
Definition: event.py:1

◆ getLSsFromTC()

std::vector<unsigned int> getLSsFromTC ( LSTEvent event,
unsigned int  iTC 
)

Definition at line 413 of file AccessHelper.cc.

References getLSsFrompT3(), getLSsFrompT5(), getLSsFromT5(), pLS, pT3, pT5, and T5.

Referenced by setGnnNtupleBranches().

413  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getLSsFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getLSsFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getLSsFromT5(LSTEvent *event, unsigned int T5)
Definition: event.py:1

◆ getMDsFromLS()

std::vector<unsigned int> getMDsFromLS ( LSTEvent event,
unsigned int  LS 
)

Definition at line 94 of file AccessHelper.cc.

Referenced by getHitsFromLS(), getMDsFromT3(), getMDsFromT5(), and setGnnNtupleBranches().

94  {
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 }
SegmentsSoALayout<> SegmentsSoA
Definition: SegmentsSoA.h:44
SegmentsSoA::ConstView SegmentsConst
Definition: SegmentsSoA.h:49

◆ getMDsFrompT3()

std::vector<unsigned int> getMDsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 248 of file AccessHelper.cc.

References getMDsFromT3(), getT3FrompT3(), and pT3.

248  {
249  unsigned int T3 = getT3FrompT3(event, pT3);
250  return getMDsFromT3(event, T3);
251 }
std::vector< unsigned int > getMDsFromT3(LSTEvent *event, unsigned int T3)
unsigned int getT3FrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getMDsFrompT5()

std::vector<unsigned int> getMDsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 343 of file AccessHelper.cc.

References getMDsFromT5(), getT5FrompT5(), pT5, and T5.

343  {
344  unsigned int T5 = getT5FrompT5(event, pT5);
345  return getMDsFromT5(event, T5);
346 }
Definition: performance.cc:3
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getMDsFromT5(LSTEvent *event, unsigned int T5)
Definition: event.py:1

◆ getMDsFromT3()

std::vector<unsigned int> getMDsFromT3 ( LSTEvent event,
unsigned int  T3 
)

Definition at line 128 of file AccessHelper.cc.

References getLSsFromT3(), and getMDsFromLS().

Referenced by getHitsFromT3(), and getMDsFrompT3().

128  {
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 }
std::vector< unsigned int > getLSsFromT3(LSTEvent *event, unsigned int t3)
std::vector< unsigned int > getMDsFromLS(LSTEvent *event, unsigned int LS)
Definition: AccessHelper.cc:94
Definition: event.py:1

◆ getMDsFromT5()

std::vector<unsigned int> getMDsFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 171 of file AccessHelper.cc.

References getLSsFromT5(), getMDsFromLS(), and T5.

Referenced by getHitsFromT5(), and getMDsFrompT5().

171  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getMDsFromLS(LSTEvent *event, unsigned int LS)
Definition: AccessHelper.cc:94
std::vector< unsigned int > getLSsFromT5(LSTEvent *event, unsigned int T5)
Definition: event.py:1

◆ getModuleIdxsFrompT3()

std::vector<unsigned int> getModuleIdxsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 285 of file AccessHelper.cc.

References getOuterTrackerHitsFrompT3(), hfClusterShapes_cfi::hits, and pT3.

Referenced by setPixelTripletOutputBranches().

285  {
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 }
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
std::vector< unsigned int > getOuterTrackerHitsFrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getModuleIdxsFrompT5()

std::vector<unsigned int> getModuleIdxsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 381 of file AccessHelper.cc.

References getOuterTrackerHitsFrompT5(), hfClusterShapes_cfi::hits, and pT5.

Referenced by setPixelQuintupletOutputBranches().

381  {
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 }
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
std::vector< unsigned int > getOuterTrackerHitsFrompT5(LSTEvent *event, unsigned int pT5)
Definition: event.py:1

◆ getModuleIdxsFromT5()

std::vector<unsigned int> getModuleIdxsFromT5 ( LSTEvent event,
unsigned int  T5 
)

Definition at line 201 of file AccessHelper.cc.

References getHitsFromT5(), hfClusterShapes_cfi::hits, and T5.

Referenced by setQuintupletOutputBranches().

201  {
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 }
Definition: performance.cc:3
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
Definition: event.py:1

◆ getOuterTrackerHitsFrompT3()

std::vector<unsigned int> getOuterTrackerHitsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 254 of file AccessHelper.cc.

References getHitsFromT3(), getT3FrompT3(), and pT3.

Referenced by getModuleIdxsFrompT3().

254  {
255  unsigned int T3 = getT3FrompT3(event, pT3);
256  return getHitsFromT3(event, T3);
257 }
std::vector< unsigned int > getHitsFromT3(LSTEvent *event, unsigned int T3)
unsigned int getT3FrompT3(LSTEvent *event, unsigned int pT3)
Definition: event.py:1

◆ getOuterTrackerHitsFrompT5()

std::vector<unsigned int> getOuterTrackerHitsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 349 of file AccessHelper.cc.

References getHitsFromT5(), getT5FrompT5(), pT5, and T5.

Referenced by getModuleIdxsFrompT5().

349  {
350  unsigned int T5 = getT5FrompT5(event, pT5);
351  return getHitsFromT5(event, T5);
352 }
Definition: performance.cc:3
std::vector< unsigned int > getHitsFromT5(LSTEvent *event, unsigned int T5)
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
Definition: event.py:1

◆ getPixelHitIdxsFrompLS()

std::vector<unsigned int> getPixelHitIdxsFrompLS ( LSTEvent event,
unsigned int  pLS 
)

Definition at line 49 of file AccessHelper.cc.

References getPixelHitsFrompLS(), hfClusterShapes_cfi::hits, and pLS.

Referenced by parsepLS().

49  {
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 }
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
HitsSoALayout<> HitsSoA
Definition: HitsSoA.h:29
Definition: event.py:1

◆ getPixelHitsFrompLS()

std::vector<unsigned int> getPixelHitsFrompLS ( LSTEvent event,
unsigned int  pLS 
)

Definition at line 30 of file AccessHelper.cc.

References pLS, and diffTwoXMLs::ranges.

Referenced by getHitIdxsAndHitTypesFrompLS(), getHitsFrompT3(), getHitsFrompT5(), getHitTypesFrompT3(), getHitTypesFrompT5(), getPixelHitIdxsFrompLS(), getPixelHitsFrompT3(), getPixelHitsFrompT5(), and getPixelHitTypesFrompLS().

30  {
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 }
ModulesSoALayout<> ModulesSoA
Definition: ModulesSoA.h:43
SegmentsSoALayout<> SegmentsSoA
Definition: SegmentsSoA.h:44
MiniDoubletsSoA::ConstView MiniDoubletsConst
MiniDoubletsSoALayout<> MiniDoubletsSoA
string ranges
Definition: diffTwoXMLs.py:79
SegmentsSoA::ConstView SegmentsConst
Definition: SegmentsSoA.h:49

◆ getPixelHitsFrompT3()

std::vector<unsigned int> getPixelHitsFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 260 of file AccessHelper.cc.

References getPixelHitsFrompLS(), getPixelLSFrompT3(), pLS, and pT3.

260  {
261  unsigned int pLS = getPixelLSFrompT3(event, pT3);
262  return getPixelHitsFrompLS(event, pLS);
263 }
unsigned int getPixelLSFrompT3(LSTEvent *event, unsigned int pT3)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getPixelHitsFrompT5()

std::vector<unsigned int> getPixelHitsFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 355 of file AccessHelper.cc.

References getPixelHitsFrompLS(), getPixelLSFrompT5(), pLS, and pT5.

355  {
356  unsigned int pLS = getPixelLSFrompT5(event, pT5);
357  return getPixelHitsFrompLS(event, pLS);
358 }
unsigned int getPixelLSFrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getPixelHitTypesFrompLS()

std::vector<unsigned int> getPixelHitTypesFrompLS ( LSTEvent event,
unsigned int  pLS 
)

Definition at line 59 of file AccessHelper.cc.

References getPixelHitsFrompLS(), hfClusterShapes_cfi::hits, and pLS.

Referenced by parsepLS().

59  {
60  std::vector<unsigned int> hits = getPixelHitsFrompLS(event, pLS);
61  std::vector<unsigned int> hittypes(hits.size(), 0);
62  return hittypes;
63 }
std::vector< unsigned int > getPixelHitsFrompLS(LSTEvent *event, unsigned int pLS)
Definition: AccessHelper.cc:30
Definition: event.py:1

◆ getPixelLSFrompT3()

unsigned int getPixelLSFrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 227 of file AccessHelper.cc.

References pT3, and diffTwoXMLs::ranges.

Referenced by getHitsFrompT3(), getHitTypesFrompT3(), getPixelHitsFrompT3(), parsepT3(), and setPixelTripletOutputBranches().

227  {
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 }
ModulesSoALayout<> ModulesSoA
Definition: ModulesSoA.h:43
string ranges
Definition: diffTwoXMLs.py:79

◆ getPixelLSFrompT5()

unsigned int getPixelLSFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 316 of file AccessHelper.cc.

References pT5, and diffTwoXMLs::ranges.

Referenced by getHitsFrompT5(), getHitTypesFrompT5(), getPixelHitsFrompT5(), parsepT5(), and setPixelQuintupletOutputBranches().

316  {
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 }
ModulesSoALayout<> ModulesSoA
Definition: ModulesSoA.h:43
string ranges
Definition: diffTwoXMLs.py:79

◆ getT3FrompT3()

unsigned int getT3FrompT3 ( LSTEvent event,
unsigned int  pT3 
)

Definition at line 236 of file AccessHelper.cc.

References pT3.

Referenced by getHitsFrompT3(), getLSsFrompT3(), getMDsFrompT3(), getOuterTrackerHitsFrompT3(), parsepT3(), and setPixelTripletOutputBranches().

236  {
237  auto const pixelTriplets = event->getPixelTriplets();
238  return pixelTriplets.tripletIndices()[pT3];
239 }

◆ getT3sFrompT5()

std::vector<unsigned int> getT3sFrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 331 of file AccessHelper.cc.

References getT3sFromT5(), getT5FrompT5(), pT5, and T5.

331  {
332  unsigned int T5 = getT5FrompT5(event, pT5);
333  return getT3sFromT5(event, T5);
334 }
Definition: performance.cc:3
unsigned int getT5FrompT5(LSTEvent *event, unsigned int pT5)
std::vector< unsigned int > getT3sFromT5(LSTEvent *event, unsigned int t5)
Definition: event.py:1

◆ getT3sFromT5()

std::vector<unsigned int> getT3sFromT5 ( LSTEvent event,
unsigned int  t5 
)

Definition at line 155 of file AccessHelper.cc.

Referenced by getLSsFromT5(), and getT3sFrompT5().

155  {
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 }
QuintupletsSoALayout<> QuintupletsSoA

◆ getT5FrompT5()

unsigned int getT5FrompT5 ( LSTEvent event,
unsigned int  pT5 
)

Definition at line 325 of file AccessHelper.cc.

References pT5.

Referenced by getHitsFrompT5(), getLSsFrompT5(), getMDsFrompT5(), getOuterTrackerHitsFrompT5(), getT3sFrompT5(), parsepT5(), and setPixelQuintupletOutputBranches().

325  {
326  auto const pixelQuintuplets = event->getPixelQuintuplets();
327  return pixelQuintuplets.quintupletIndices()[pT5];
328 }