CMS 3D CMS Logo

LST.h
Go to the documentation of this file.
1 #ifndef RecoTracker_LSTCore_interface_alpaka_LST_h
2 #define RecoTracker_LSTCore_interface_alpaka_LST_h
3 
6 
7 #include <cstdlib>
8 #include <numeric>
9 #include <alpaka/alpaka.hpp>
10 
12  class LSTEvent;
13 
14  class LST {
15  public:
16  LST() = default;
17 
18  void run(Queue& queue,
19  bool verbose,
20  LSTESData<Device> const* deviceESData,
21  std::vector<float> const& see_px,
22  std::vector<float> const& see_py,
23  std::vector<float> const& see_pz,
24  std::vector<float> const& see_dxy,
25  std::vector<float> const& see_dz,
26  std::vector<float> const& see_ptErr,
27  std::vector<float> const& see_etaErr,
28  std::vector<float> const& see_stateTrajGlbX,
29  std::vector<float> const& see_stateTrajGlbY,
30  std::vector<float> const& see_stateTrajGlbZ,
31  std::vector<float> const& see_stateTrajGlbPx,
32  std::vector<float> const& see_stateTrajGlbPy,
33  std::vector<float> const& see_stateTrajGlbPz,
34  std::vector<int> const& see_q,
35  std::vector<std::vector<int>> const& see_hitIdx,
36  std::vector<unsigned int> const& ph2_detId,
37  std::vector<float> const& ph2_x,
38  std::vector<float> const& ph2_y,
39  std::vector<float> const& ph2_z,
40  bool no_pls_dupclean,
41  bool tc_pls_triplets);
42  std::vector<std::vector<unsigned int>> const& hits() const { return out_tc_hitIdxs_; }
43  std::vector<unsigned int> const& len() const { return out_tc_len_; }
44  std::vector<int> const& seedIdx() const { return out_tc_seedIdx_; }
45  std::vector<short> const& trackCandidateType() const { return out_tc_trackCandidateType_; }
46 
47  private:
48  void prepareInput(std::vector<float> const& see_px,
49  std::vector<float> const& see_py,
50  std::vector<float> const& see_pz,
51  std::vector<float> const& see_dxy,
52  std::vector<float> const& see_dz,
53  std::vector<float> const& see_ptErr,
54  std::vector<float> const& see_etaErr,
55  std::vector<float> const& see_stateTrajGlbX,
56  std::vector<float> const& see_stateTrajGlbY,
57  std::vector<float> const& see_stateTrajGlbZ,
58  std::vector<float> const& see_stateTrajGlbPx,
59  std::vector<float> const& see_stateTrajGlbPy,
60  std::vector<float> const& see_stateTrajGlbPz,
61  std::vector<int> const& see_q,
62  std::vector<std::vector<int>> const& see_hitIdx,
63  std::vector<unsigned int> const& ph2_detId,
64  std::vector<float> const& ph2_x,
65  std::vector<float> const& ph2_y,
66  std::vector<float> const& ph2_z);
67 
68  void getOutput(LSTEvent& event);
69 
70  // Input and output vectors
71  std::vector<float> in_trkX_;
72  std::vector<float> in_trkY_;
73  std::vector<float> in_trkZ_;
74  std::vector<unsigned int> in_hitId_;
75  std::vector<unsigned int> in_hitIdxs_;
76  std::vector<unsigned int> in_hitIndices_vec0_;
77  std::vector<unsigned int> in_hitIndices_vec1_;
78  std::vector<unsigned int> in_hitIndices_vec2_;
79  std::vector<unsigned int> in_hitIndices_vec3_;
80  std::vector<float> in_deltaPhi_vec_;
81  std::vector<float> in_ptIn_vec_;
82  std::vector<float> in_ptErr_vec_;
83  std::vector<float> in_px_vec_;
84  std::vector<float> in_py_vec_;
85  std::vector<float> in_pz_vec_;
86  std::vector<float> in_eta_vec_;
87  std::vector<float> in_etaErr_vec_;
88  std::vector<float> in_phi_vec_;
89  std::vector<int> in_charge_vec_;
90  std::vector<unsigned int> in_seedIdx_vec_;
91  std::vector<int> in_superbin_vec_;
92  std::vector<PixelType> in_pixelType_vec_;
93  std::vector<char> in_isQuad_vec_;
94  std::vector<std::vector<unsigned int>> out_tc_hitIdxs_;
95  std::vector<unsigned int> out_tc_len_;
96  std::vector<int> out_tc_seedIdx_;
97  std::vector<short> out_tc_trackCandidateType_;
98  };
99 
100 } // namespace ALPAKA_ACCELERATOR_NAMESPACE::lst
101 
102 #endif
std::vector< unsigned int > in_hitIdxs_
Definition: LST.h:75
std::vector< float > in_phi_vec_
Definition: LST.h:88
const std::vector< int > & see_q()
Definition: Trktree.cc:6752
const std::vector< float > & see_py()
Definition: Trktree.cc:6727
std::vector< std::vector< unsigned int > > out_tc_hitIdxs_
Definition: LST.h:94
std::vector< PixelType > in_pixelType_vec_
Definition: LST.h:92
const std::vector< float > & ph2_z()
Definition: Trktree.cc:6860
const std::vector< float > & see_stateTrajGlbX()
Definition: Trktree.cc:6809
const std::vector< float > & see_stateTrajGlbY()
Definition: Trktree.cc:6810
const std::vector< float > & ph2_x()
Definition: Trktree.cc:6861
bool verbose
const std::vector< float > & see_ptErr()
Definition: Trktree.cc:6880
std::vector< float > in_trkX_
Definition: LST.h:71
void getOutput(LSTEvent &event)
Definition: LST.cc:234
std::vector< short > const & trackCandidateType() const
Definition: LST.h:45
std::vector< unsigned int > in_hitIndices_vec3_
Definition: LST.h:79
std::vector< int > in_charge_vec_
Definition: LST.h:89
std::vector< float > in_eta_vec_
Definition: LST.h:86
std::vector< float > in_py_vec_
Definition: LST.h:84
std::vector< int > in_superbin_vec_
Definition: LST.h:91
const std::vector< float > & see_stateTrajGlbPz()
Definition: Trktree.cc:6721
std::vector< char > in_isQuad_vec_
Definition: LST.h:93
const std::vector< float > & see_stateTrajGlbPy()
Definition: Trktree.cc:7008
ALPAKA_ACCELERATOR_NAMESPACE::Queue Queue
Definition: LSTEvent.dev.cc:14
std::vector< float > in_etaErr_vec_
Definition: LST.h:87
std::vector< unsigned int > in_hitIndices_vec2_
Definition: LST.h:78
std::vector< unsigned int > const & len() const
Definition: LST.h:43
std::vector< unsigned int > in_hitIndices_vec0_
Definition: LST.h:76
const std::vector< float > & see_stateTrajGlbPx()
Definition: Trktree.cc:6881
std::vector< std::vector< unsigned int > > const & hits() const
Definition: LST.h:42
std::vector< float > in_trkZ_
Definition: LST.h:73
std::vector< unsigned int > in_hitIndices_vec1_
Definition: LST.h:77
void run(Queue &queue, bool verbose, LSTESData< Device > const *deviceESData, std::vector< float > const &see_px, std::vector< float > const &see_py, std::vector< float > const &see_pz, std::vector< float > const &see_dxy, std::vector< float > const &see_dz, std::vector< float > const &see_ptErr, std::vector< float > const &see_etaErr, std::vector< float > const &see_stateTrajGlbX, std::vector< float > const &see_stateTrajGlbY, std::vector< float > const &see_stateTrajGlbZ, std::vector< float > const &see_stateTrajGlbPx, std::vector< float > const &see_stateTrajGlbPy, std::vector< float > const &see_stateTrajGlbPz, std::vector< int > const &see_q, std::vector< std::vector< int >> const &see_hitIdx, std::vector< unsigned int > const &ph2_detId, std::vector< float > const &ph2_x, std::vector< float > const &ph2_y, std::vector< float > const &ph2_z, bool no_pls_dupclean, bool tc_pls_triplets)
Definition: LST.cc:256
std::vector< float > in_pz_vec_
Definition: LST.h:85
std::vector< unsigned int > in_seedIdx_vec_
Definition: LST.h:90
std::vector< short > out_tc_trackCandidateType_
Definition: LST.h:97
const std::vector< float > & see_dz()
Definition: Trktree.cc:6911
std::vector< float > in_ptErr_vec_
Definition: LST.h:82
const std::vector< float > & see_etaErr()
Definition: Trktree.cc:6829
std::vector< float > in_deltaPhi_vec_
Definition: LST.h:80
std::vector< float > in_px_vec_
Definition: LST.h:83
const std::vector< float > & see_px()
Definition: Trktree.cc:6899
const std::vector< unsigned int > & ph2_detId()
Definition: Trktree.cc:6736
const std::vector< float > & see_dxy()
Definition: Trktree.cc:6779
std::vector< float > in_trkY_
Definition: LST.h:72
void prepareInput(std::vector< float > const &see_px, std::vector< float > const &see_py, std::vector< float > const &see_pz, std::vector< float > const &see_dxy, std::vector< float > const &see_dz, std::vector< float > const &see_ptErr, std::vector< float > const &see_etaErr, std::vector< float > const &see_stateTrajGlbX, std::vector< float > const &see_stateTrajGlbY, std::vector< float > const &see_stateTrajGlbZ, std::vector< float > const &see_stateTrajGlbPx, std::vector< float > const &see_stateTrajGlbPy, std::vector< float > const &see_stateTrajGlbPz, std::vector< int > const &see_q, std::vector< std::vector< int >> const &see_hitIdx, std::vector< unsigned int > const &ph2_detId, std::vector< float > const &ph2_x, std::vector< float > const &ph2_y, std::vector< float > const &ph2_z)
Definition: LST.cc:60
std::vector< unsigned int > out_tc_len_
Definition: LST.h:95
std::vector< unsigned int > in_hitId_
Definition: LST.h:74
std::vector< int > out_tc_seedIdx_
Definition: LST.h:96
std::vector< int > const & seedIdx() const
Definition: LST.h:44
const std::vector< float > & see_pz()
Definition: Trktree.cc:6900
const std::vector< float > & ph2_y()
Definition: Trktree.cc:6862
Definition: event.py:1
std::vector< float > in_ptIn_vec_
Definition: LST.h:81
const std::vector< float > & see_stateTrajGlbZ()
Definition: Trktree.cc:6808
const std::vector< std::vector< int > > & see_hitIdx()
Definition: Trktree.cc:6734