CMS 3D CMS Logo

EMTFTrack.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1TMuonPhase2_EMTFTrack_h
2 #define DataFormats_L1TMuonPhase2_EMTFTrack_h
3 
4 #include <array>
5 #include <cstdint>
6 #include <vector>
7 
8 namespace l1t::phase2 {
9 
10  class EMTFTrack {
11  public:
12  typedef std::vector<int16_t> features_t;
13  typedef std::vector<uint16_t> site_hits_t;
14  typedef std::vector<uint16_t> site_segs_t;
15  typedef std::vector<uint8_t> site_mask_t;
16 
17  EMTFTrack();
18  ~EMTFTrack() = default;
19 
20  // Setters
21  void setEndcap(int16_t aEndcap) { endcap_ = aEndcap; }
22  void setSector(int16_t aSector) { sector_ = aSector; }
23  void setBx(int16_t aBx) { bx_ = aBx; }
24  void setUnconstrained(bool aUnconstrained) { unconstrained_ = aUnconstrained; }
25  void setValid(bool aValid) { valid_ = aValid; }
26 
27  void setModelPtAddress(int16_t aAddress) { model_pt_address_ = aAddress; }
28  void setModelRelsAddress(int16_t aAddress) { model_rels_address_ = aAddress; }
29  void setModelDxyAddress(int16_t aAddress) { model_dxy_address_ = aAddress; }
30  void setModelPattern(int16_t aModelPattern) { model_pattern_ = aModelPattern; }
31  void setModelQual(int16_t aModelQual) { model_qual_ = aModelQual; }
32  void setModelPhi(int32_t aModelPhi) { model_phi_ = aModelPhi; }
33  void setModelEta(int32_t aModelEta) { model_eta_ = aModelEta; }
34  void setModelFeatures(const features_t& aModelFeatures) { model_features_ = aModelFeatures; }
35 
36  void setEmtfQ(int16_t aEmtfQ) { emtf_q_ = aEmtfQ; }
37  void setEmtfPt(int32_t aEmtfPt) { emtf_pt_ = aEmtfPt; }
38  void setEmtfRels(int32_t aEmtfRels) { emtf_rels_ = aEmtfRels; }
39  void setEmtfD0(int32_t aEmtfD0) { emtf_d0_ = aEmtfD0; }
40  void setEmtfZ0(int32_t aEmtfZ0) { emtf_z0_ = aEmtfZ0; }
41  void setEmtfBeta(int32_t aEmtfBeta) { emtf_beta_ = aEmtfBeta; }
42  void setEmtfModeV1(int16_t aEmtfModeV1) { emtf_mode_v1_ = aEmtfModeV1; }
43  void setEmtfModeV2(int16_t aEmtfModeV2) { emtf_mode_v2_ = aEmtfModeV2; }
44  void setEmtfQuality(int16_t aEmtfQuality) { emtf_quality_ = aEmtfQuality; }
45 
46  void setSiteHits(const site_hits_t& aSiteHits) { site_hits_ = aSiteHits; }
47  void setSiteSegs(const site_segs_t& aSiteSegs) { site_segs_ = aSiteSegs; }
48  void setSiteMask(const site_mask_t& aSiteMask) { site_mask_ = aSiteMask; }
49  void setSiteRMMask(const site_mask_t& aSiteMask) { site_rm_mask_ = aSiteMask; }
50 
51  // Getters
52  int16_t endcap() const { return endcap_; }
53  int16_t sector() const { return sector_; }
54  int16_t bx() const { return bx_; }
55  bool unconstrained() const { return unconstrained_; }
56  bool valid() const { return valid_; }
57 
58  int16_t modelPtAddress() const { return model_pt_address_; }
59  int16_t modelRelsAddress() const { return model_rels_address_; }
60  int16_t modelDxyAddress() const { return model_dxy_address_; }
61  int16_t modelPattern() const { return model_pattern_; }
62  int16_t modelQual() const { return model_qual_; }
63  int32_t modelPhi() const { return model_phi_; }
64  int32_t modelEta() const { return model_eta_; }
65  const features_t& modelFeatures() const { return model_features_; }
66 
67  int16_t emtfQ() const { return emtf_q_; }
68  int32_t emtfPt() const { return emtf_pt_; }
69  int32_t emtfRels() const { return emtf_rels_; }
70  int32_t emtfD0() const { return emtf_d0_; }
71  int32_t emtfZ0() const { return emtf_z0_; }
72  int32_t emtfBeta() const { return emtf_beta_; }
73  int16_t emtfModeV1() const { return emtf_mode_v1_; }
74  int16_t emtfModeV2() const { return emtf_mode_v2_; }
75  int16_t emtfQuality() const { return emtf_quality_; }
76 
77  const site_hits_t& siteHits() const { return site_hits_; }
78  const site_segs_t& siteSegs() const { return site_segs_; }
79  const site_mask_t& siteMask() const { return site_mask_; }
80  const site_mask_t& siteRMMask() const { return site_rm_mask_; }
81 
82  private:
83  int16_t endcap_;
84  int16_t sector_;
85  int16_t bx_;
87  bool valid_;
88 
92  int16_t model_pattern_;
93  int16_t model_qual_;
94  int32_t model_phi_;
95  int32_t model_eta_;
97 
98  int16_t emtf_q_;
99  int32_t emtf_pt_;
100  int32_t emtf_rels_;
101  int32_t emtf_d0_;
102  int32_t emtf_z0_;
103  int32_t emtf_beta_;
104  int16_t emtf_mode_v1_;
105  int16_t emtf_mode_v2_;
106  int16_t emtf_quality_;
107 
112  };
113 
114  typedef std::vector<EMTFTrack> EMTFTrackCollection;
115 
116 } // namespace l1t::phase2
117 
118 #endif // DataFormats_L1TMuonPhase2_EMTFTrack_h not defined
void setModelDxyAddress(int16_t aAddress)
Definition: EMTFTrack.h:29
int16_t model_rels_address_
Definition: EMTFTrack.h:90
int32_t emtfD0() const
Definition: EMTFTrack.h:70
int32_t emtfZ0() const
Definition: EMTFTrack.h:71
int16_t model_pt_address_
Definition: EMTFTrack.h:89
const features_t & modelFeatures() const
Definition: EMTFTrack.h:65
void setEmtfModeV1(int16_t aEmtfModeV1)
Definition: EMTFTrack.h:42
void setModelPhi(int32_t aModelPhi)
Definition: EMTFTrack.h:32
std::vector< int16_t > features_t
Definition: EMTFTrack.h:12
int32_t emtfBeta() const
Definition: EMTFTrack.h:72
int16_t modelDxyAddress() const
Definition: EMTFTrack.h:60
void setSiteMask(const site_mask_t &aSiteMask)
Definition: EMTFTrack.h:48
int16_t sector() const
Definition: EMTFTrack.h:53
void setSiteSegs(const site_segs_t &aSiteSegs)
Definition: EMTFTrack.h:47
void setSector(int16_t aSector)
Definition: EMTFTrack.h:22
int32_t modelEta() const
Definition: EMTFTrack.h:64
void setModelPattern(int16_t aModelPattern)
Definition: EMTFTrack.h:30
int32_t modelPhi() const
Definition: EMTFTrack.h:63
void setEmtfBeta(int32_t aEmtfBeta)
Definition: EMTFTrack.h:41
const site_hits_t & siteHits() const
Definition: EMTFTrack.h:77
int16_t endcap() const
Definition: EMTFTrack.h:52
void setBx(int16_t aBx)
Definition: EMTFTrack.h:23
const site_mask_t & siteRMMask() const
Definition: EMTFTrack.h:80
int16_t emtfModeV1() const
Definition: EMTFTrack.h:73
int32_t emtfPt() const
Definition: EMTFTrack.h:68
void setModelPtAddress(int16_t aAddress)
Definition: EMTFTrack.h:27
void setModelEta(int32_t aModelEta)
Definition: EMTFTrack.h:33
void setEmtfD0(int32_t aEmtfD0)
Definition: EMTFTrack.h:39
int32_t emtfRels() const
Definition: EMTFTrack.h:69
void setEmtfZ0(int32_t aEmtfZ0)
Definition: EMTFTrack.h:40
void setEmtfQuality(int16_t aEmtfQuality)
Definition: EMTFTrack.h:44
std::vector< uint8_t > site_mask_t
Definition: EMTFTrack.h:15
int16_t model_dxy_address_
Definition: EMTFTrack.h:91
site_segs_t site_segs_
Definition: EMTFTrack.h:109
const site_mask_t & siteMask() const
Definition: EMTFTrack.h:79
void setEndcap(int16_t aEndcap)
Definition: EMTFTrack.h:21
std::vector< uint16_t > site_segs_t
Definition: EMTFTrack.h:14
void setSiteRMMask(const site_mask_t &aSiteMask)
Definition: EMTFTrack.h:49
void setUnconstrained(bool aUnconstrained)
Definition: EMTFTrack.h:24
void setModelQual(int16_t aModelQual)
Definition: EMTFTrack.h:31
void setValid(bool aValid)
Definition: EMTFTrack.h:25
void setModelFeatures(const features_t &aModelFeatures)
Definition: EMTFTrack.h:34
site_hits_t site_hits_
Definition: EMTFTrack.h:108
std::vector< uint16_t > site_hits_t
Definition: EMTFTrack.h:13
void setEmtfRels(int32_t aEmtfRels)
Definition: EMTFTrack.h:38
const site_segs_t & siteSegs() const
Definition: EMTFTrack.h:78
void setEmtfPt(int32_t aEmtfPt)
Definition: EMTFTrack.h:37
int16_t modelRelsAddress() const
Definition: EMTFTrack.h:59
site_mask_t site_mask_
Definition: EMTFTrack.h:110
int16_t emtfModeV2() const
Definition: EMTFTrack.h:74
bool unconstrained() const
Definition: EMTFTrack.h:55
void setModelRelsAddress(int16_t aAddress)
Definition: EMTFTrack.h:28
int16_t modelPattern() const
Definition: EMTFTrack.h:61
void setEmtfQ(int16_t aEmtfQ)
Definition: EMTFTrack.h:36
int16_t bx() const
Definition: EMTFTrack.h:54
bool valid() const
Definition: EMTFTrack.h:56
int16_t modelQual() const
Definition: EMTFTrack.h:62
void setSiteHits(const site_hits_t &aSiteHits)
Definition: EMTFTrack.h:46
void setEmtfModeV2(int16_t aEmtfModeV2)
Definition: EMTFTrack.h:43
int16_t emtfQ() const
Definition: EMTFTrack.h:67
int16_t emtfQuality() const
Definition: EMTFTrack.h:75
int16_t modelPtAddress() const
Definition: EMTFTrack.h:58
features_t model_features_
Definition: EMTFTrack.h:96
site_mask_t site_rm_mask_
Definition: EMTFTrack.h:111
std::vector< EMTFTrack > EMTFTrackCollection
Definition: EMTFTrack.h:114