CMS 3D CMS Logo

EMTFHit.h
Go to the documentation of this file.
1 // Class for input trigger primitives to EMTF - AWB 04.01.16
2 // Based on L1Trigger/L1TMuon/interface/deprecate/MuonTriggerPrimitive.h
3 // In particular, see struct CSCData
4 
5 #ifndef DataFormats_L1TMuon_EMTFHit_h
6 #define DataFormats_L1TMuon_EMTFHit_h
7 
8 #include <cstdint>
9 #include <vector>
10 
18 
19 namespace l1t {
20 
21  class EMTFHit {
22  public:
23 
24  EMTFHit() :
25  endcap(-99), station(-99), ring(-99), sector(-99), sector_RPC(-99), sector_idx(-99),
26  subsector(-99), subsector_RPC(-99), chamber(-99), csc_ID(-99), csc_nID(-99), roll(-99),
27  neighbor(-99), mpc_link(-99), pc_sector(-99), pc_station(-99), pc_chamber(-99), pc_segment(-99),
28  wire(-99), strip(-99), strip_hi(-99), strip_low(-99), track_num(-99), quality(-99),
29  pattern(-99), bend(-99), valid(-99), sync_err(-99), bc0(-99), bx(-99), stub_num(-99),
30  phi_fp(-99), theta_fp(-99), phzvl(-99), ph_hit(-99), zone_hit(-99), zone_code(-99),
31  fs_segment(-99), fs_zone_code(-99), bt_station(-99), bt_segment(-99),
32  phi_loc(-99), phi_glob(-999), theta(-99), eta(-99),
33  phi_sim(-999), theta_sim(-99), eta_sim(-99),
34  is_CSC(-99), is_RPC(-99), is_GEM(-99), subsystem(-99)
35  {};
36 
37  virtual ~EMTFHit() {};
38 
39  // void ImportCSCDetId (const CSCDetId& _detId);
40  CSCDetId CreateCSCDetId() const;
41  // void ImportRPCDetId (const RPCDetId& _detId);
42  // void ImportGEMDetId (const GEMDetId& _detId);
43  // RPCDetId CreateRPCDetId() const;
44  // GEMDetId CreateGEMDetId() const;
45  // void ImportCSCCorrelatedLCTDigi (const CSCCorrelatedLCTDigi& _digi);
47  // void ImportRPCDigi (const RPCDigi& _digi);
48  // RPCDigi CreateRPCDigi() const;
49  // void ImportGEMPadDigi (const GEMPadDigi& _digi);
50  // GEMPadDigi CreateGEMPadDigi() const;
51 
52  // void PrintSimulatorHeader() const;
53  // void PrintForSimulator() const;
54 
55  void SetCSCDetId (const CSCDetId& id) { csc_DetId = id; }
56  void SetRPCDetId (const RPCDetId& id) { rpc_DetId = id; }
57  void SetGEMDetId (const GEMDetId& id) { gem_DetId = id; }
58  void SetCSCLCTDigi (const CSCCorrelatedLCTDigi& digi) { csc_LCTDigi = digi; }
59  void SetRPCDigi (const RPCDigi& digi) { rpc_Digi = digi; }
60  void SetGEMPadDigi (const GEMPadDigi& digi) { gem_PadDigi = digi; }
61 
62  CSCDetId CSC_DetId () const { return csc_DetId; }
63  RPCDetId RPC_DetId () const { return rpc_DetId; }
64  GEMDetId GEM_DetId () const { return gem_DetId; }
66  RPCDigi RPC_Digi () const { return rpc_Digi; }
67  GEMPadDigi GEM_PadDigi () const { return gem_PadDigi; }
68 
69  void set_endcap (int bits) { endcap = bits; }
70  void set_station (int bits) { station = bits; }
71  void set_ring (int bits) { ring = bits; }
72  void set_sector (int bits) { sector = bits; }
73  void set_sector_RPC (int bits) { sector_RPC = bits; }
74  void set_sector_idx (int bits) { sector_idx = bits; }
75  void set_subsector (int bits) { subsector = bits; }
77  void set_chamber (int bits) { chamber = bits; }
78  void set_csc_ID (int bits) { csc_ID = bits; }
79  void set_csc_nID (int bits) { csc_nID = bits; }
80  void set_roll (int bits) { roll = bits; }
81  void set_neighbor (int bits) { neighbor = bits; }
82  void set_mpc_link (int bits) { mpc_link = bits; }
83  void set_pc_sector (int bits) { pc_sector = bits; }
84  void set_pc_station (int bits) { pc_station = bits; }
85  void set_pc_chamber (int bits) { pc_chamber = bits; }
86  void set_pc_segment (int bits) { pc_segment = bits; }
87  void set_wire (int bits) { wire = bits; }
88  void set_strip (int bits) { strip = bits; }
89  void set_strip_hi (int bits) { strip_hi = bits; }
90  void set_strip_low (int bits) { strip_low = bits; }
91  void set_track_num (int bits) { track_num = bits; }
92  void set_quality (int bits) { quality = bits; }
93  void set_pattern (int bits) { pattern = bits; }
94  void set_bend (int bits) { bend = bits; }
95  void set_valid (int bits) { valid = bits; }
96  void set_sync_err (int bits) { sync_err = bits; }
97  void set_bc0 (int bits) { bc0 = bits; }
98  void set_bx (int bits) { bx = bits; }
99  void set_stub_num (int bits) { stub_num = bits; }
100  void set_phi_fp (int bits) { phi_fp = bits; }
101  void set_theta_fp (int bits) { theta_fp = bits; }
102  void set_phzvl (int bits) { phzvl = bits; }
103  void set_ph_hit (int bits) { ph_hit = bits; }
104  void set_zone_hit (int bits) { zone_hit = bits; }
105  void set_zone_code (int bits) { zone_code = bits; }
106  void set_fs_segment (int bits) { fs_segment = bits; }
108  void set_bt_station (int bits) { bt_station = bits; }
109  void set_bt_segment (int bits) { bt_segment = bits; }
110  void set_phi_loc (float val) { phi_loc = val; }
111  void set_phi_glob (float val) { phi_glob = val; }
112  void set_theta (float val) { theta = val; }
113  void set_eta (float val) { eta = val; }
114  void set_phi_sim (float val) { phi_sim = val; }
115  void set_theta_sim (float val) { theta_sim = val; }
116  void set_eta_sim (float val) { eta_sim = val; }
117  void set_is_CSC (int bits) { is_CSC = bits; }
118  void set_is_RPC (int bits) { is_RPC = bits; }
119  void set_is_GEM (int bits) { is_GEM = bits; }
120  void set_subsystem (int bits) { subsystem = bits; }
121 
122  int Endcap () const { return endcap ; }
123  int Station () const { return station ; }
124  int Ring () const { return ring ; }
125  int Sector () const { return sector ; }
126  int Sector_RPC () const { return sector_RPC ; }
127  int Sector_idx () const { return sector_idx ; }
128  int Subsector () const { return subsector ; }
129  int Subsector_RPC() const { return subsector_RPC; }
130  int Chamber () const { return chamber ; }
131  int CSC_ID () const { return csc_ID ; }
132  int CSC_nID () const { return csc_nID ; }
133  int Roll () const { return roll ; }
134  int Neighbor () const { return neighbor ; }
135  int MPC_link () const { return mpc_link ; }
136  int PC_sector () const { return pc_sector ; }
137  int PC_station () const { return pc_station ; }
138  int PC_chamber () const { return pc_chamber ; }
139  int PC_segment () const { return pc_segment ; }
140  int Wire () const { return wire ; }
141  int Strip () const { return strip ; }
142  int Strip_hi () const { return strip_hi ; }
143  int Strip_low () const { return strip_low ; }
144  int Track_num () const { return track_num ; }
145  int Quality () const { return quality ; }
146  int Pattern () const { return pattern ; }
147  int Bend () const { return bend ; }
148  int Valid () const { return valid ; }
149  int Sync_err () const { return sync_err ; }
150  int BC0 () const { return bc0 ; }
151  int BX () const { return bx ; }
152  int Stub_num () const { return stub_num ; }
153  int Phi_fp () const { return phi_fp ; }
154  int Theta_fp () const { return theta_fp ; }
155  int Phzvl () const { return phzvl ; }
156  int Ph_hit () const { return ph_hit ; }
157  int Zone_hit () const { return zone_hit ; }
158  int Zone_code () const { return zone_code ; }
159  int FS_segment () const { return fs_segment ; }
160  int FS_zone_code () const { return fs_zone_code; }
161  int BT_station () const { return bt_station ; }
162  int BT_segment () const { return bt_segment ; }
163  float Phi_loc () const { return phi_loc ; }
164  float Phi_glob () const { return phi_glob ; }
165  float Theta () const { return theta ; }
166  float Eta () const { return eta ; }
167  float Phi_sim () const { return phi_sim ; }
168  float Theta_sim () const { return theta_sim ; }
169  float Eta_sim () const { return eta_sim ; }
170  int Is_CSC () const { return is_CSC ; }
171  int Is_RPC () const { return is_RPC ; }
172  int Is_GEM () const { return is_GEM ; }
173  int Subsystem () const { return subsystem ; }
174 
175 
176  private:
177 
184 
185  int endcap ; // +/-1. For ME+ and ME-.
186  int station ; // 1 - 4.
187  int ring ; // 1 - 4. ME1/1a is denoted as "Ring 4". Should check dependence on input CSCDetId convention. - AWB 02.03.17
188  int sector ; // 1 - 6. CSC / EMTF sector convention: sector 1 starts at 15 degrees
189  int sector_RPC ; // 1 - 6. RPC sector convention (in CMSSW): sector 1 starts at -5 degrees
190  int sector_idx ; // 0 - 11. 0 - 5 for ME+, 6 - 11 for ME-. For neighbor hits, set by EMTF sector that received it.
191  int subsector ; // 0 - 6. In CSCs, 1 or 2 for ME1, 0 for ME2/3/4. In RPCs, 1 - 6, where 1 is first chamber in EMTF sector.
192  int subsector_RPC; // 0 - 6. RPC sector convention (in CMSSW): subsector 3 is the first chamber in the EMTF sector.
193  int chamber ; // 1 - 36. Chamber 1 starts at -5 degrees.
194  int csc_ID ; // 1 - 9. For CSCs only.
195  int csc_nID ; // 1 - 15. For CSCs only. Neighbors 10 - 15, 12 not filled.
196  int roll ; // 1 - 3. For RPCs only, sub-division of ring. (Range? - AWB 02.03.17)
197  int neighbor ; // 0 or 1. Filled in EMTFBlockME.cc
198  int mpc_link ; // 1 - 3. Filled in EMTFHit.cc from CSCCorrelatedLCTDigi
199  int pc_sector ; // 1 - 6. EMTF sector that received the LCT, even those sent from neighbor sectors.
200  int pc_station ; // 0 - 5. 0 for ME1 subsector 1, 5 for neighbor hits.
201  int pc_chamber ; // 0 - 8.
202  int pc_segment ; // 0 - 3.
203  int wire ; // 0 - 111 For CSCs only.
204  int strip ; // 0 - 158 For CSCs only.
205  int strip_hi ; // ? - ?. For RPCs only, highest strip in a cluster. (Range? - AWB 02.03.17)
206  int strip_low ; // ? - ?. For RPCs only, lowest strip in a cluster. (Range? - AWB 02.03.17)
207  int track_num ; // ? - ?. For CSCs only. (Range? - AWB 02.03.17)
208  int quality ; // 0 - 15. For CSCs only.
209  int pattern ; // 0 - 10. For CSCs only.
210  int bend ; // 0 or 1. For CSCs only.
211  int valid ; // 0 or 1. For CSCs only (for now; could use to flag failing clusters? - AWB 02.03.17)
212  int sync_err ; // 0 or 1. For CSCs only.
213  int bc0 ; // 0 or 1. Only from unpacked data? - AWB 02.03.17
214  int bx ; // -3 - +3.
215  int stub_num ; // 0 or 1. Only from unpacked data? - AWB 02.03.17
216  int phi_fp ; // 0 - 4920
217  int theta_fp ; // 0 - 127
218  int phzvl ; // 0 - 6.
219  int ph_hit ; // 2 - 43. (Range? - AWB 02.03.17)
220  int zone_hit ; // 4 - 156 (Range? - AWB 02.03.17)
221  int zone_code ; // 0 - 12. (Range? - AWB 02.03.17)
222  int fs_segment ; // 0 - 13. (Range? - AWB 02.03.17)
223  int fs_zone_code; // 1 - 14. (Range? - AWB 02.03.17)
224  int bt_station ; // 0 - 4.
225  int bt_segment ; // 0 - 25. (Range? - AWB 02.03.17)
226  float phi_loc ; // -20 - 60 (Range? - AWB 02.03.17)
227  float phi_glob ; // +/-180.
228  float theta ; // 0 - 90.
229  float eta ; // +/-2.5.
230  float phi_sim ; // +/-180.
231  float theta_sim ; // 0 - 90.
232  float eta_sim ; // +/-2.5.
233  int is_CSC ; // 0 or 1.
234  int is_RPC ; // 0 or 1.
235  int is_GEM ; // 0 or 1.
236  int subsystem ; // 1 or ?. 1 for CSC, 2 for RPC, 3 for GEM
237 
238  }; // End of class EMTFHit
239 
240  // Define a vector of EMTFHit
241  typedef std::vector<EMTFHit> EMTFHitCollection;
242 
243 } // End of namespace l1t
244 
245 #endif /* define DataFormats_L1TMuon_EMTFHit_h */
void set_subsector_RPC(int bits)
Definition: EMTFHit.h:76
void set_phi_glob(float val)
Definition: EMTFHit.h:111
RPCDetId RPC_DetId() const
Definition: EMTFHit.h:63
int Strip_hi() const
Definition: EMTFHit.h:142
int Quality() const
Definition: EMTFHit.h:145
void set_theta_sim(float val)
Definition: EMTFHit.h:115
float Phi_sim() const
Definition: EMTFHit.h:167
void set_is_GEM(int bits)
Definition: EMTFHit.h:119
void set_neighbor(int bits)
Definition: EMTFHit.h:81
int Subsystem() const
Definition: EMTFHit.h:173
int csc_nID
Definition: EMTFHit.h:195
int Bend() const
Definition: EMTFHit.h:147
int Phzvl() const
Definition: EMTFHit.h:155
int station
Definition: EMTFHit.h:186
void set_csc_nID(int bits)
Definition: EMTFHit.h:79
RPCDetId rpc_DetId
Definition: EMTFHit.h:179
float Phi_loc() const
Definition: EMTFHit.h:163
int BT_segment() const
Definition: EMTFHit.h:162
void set_pc_station(int bits)
Definition: EMTFHit.h:84
int is_CSC
Definition: EMTFHit.h:233
void set_phi_sim(float val)
Definition: EMTFHit.h:114
int Strip() const
Definition: EMTFHit.h:141
int mpc_link
Definition: EMTFHit.h:198
void SetCSCLCTDigi(const CSCCorrelatedLCTDigi &digi)
Definition: EMTFHit.h:58
int neighbor
Definition: EMTFHit.h:197
float phi_sim
Definition: EMTFHit.h:230
float Eta_sim() const
Definition: EMTFHit.h:169
int is_RPC
Definition: EMTFHit.h:234
void set_stub_num(int bits)
Definition: EMTFHit.h:99
float phi_loc
Definition: EMTFHit.h:226
int CSC_nID() const
Definition: EMTFHit.h:132
int FS_zone_code() const
Definition: EMTFHit.h:160
int Phi_fp() const
Definition: EMTFHit.h:153
void set_station(int bits)
Definition: EMTFHit.h:70
void set_ph_hit(int bits)
Definition: EMTFHit.h:103
void set_theta(float val)
Definition: EMTFHit.h:112
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
int Zone_hit() const
Definition: EMTFHit.h:157
int is_GEM
Definition: EMTFHit.h:235
GEMDetId gem_DetId
Definition: EMTFHit.h:180
float Theta() const
Definition: EMTFHit.h:165
void set_bt_station(int bits)
Definition: EMTFHit.h:108
int sector_idx
Definition: EMTFHit.h:190
void set_eta_sim(float val)
Definition: EMTFHit.h:116
int pc_sector
Definition: EMTFHit.h:199
void set_sector_idx(int bits)
Definition: EMTFHit.h:74
int MPC_link() const
Definition: EMTFHit.h:135
void set_bc0(int bits)
Definition: EMTFHit.h:97
RPCDigi RPC_Digi() const
Definition: EMTFHit.h:66
virtual ~EMTFHit()
Definition: EMTFHit.h:37
CSCCorrelatedLCTDigi CSC_LCTDigi() const
Definition: EMTFHit.h:65
int Roll() const
Definition: EMTFHit.h:133
delete x;
Definition: CaloConfig.h:22
float Phi_glob() const
Definition: EMTFHit.h:164
void set_sync_err(int bits)
Definition: EMTFHit.h:96
int sync_err
Definition: EMTFHit.h:212
int subsector_RPC
Definition: EMTFHit.h:192
int sector_RPC
Definition: EMTFHit.h:189
float theta
Definition: EMTFHit.h:228
float Eta() const
Definition: EMTFHit.h:166
GEMDetId GEM_DetId() const
Definition: EMTFHit.h:64
void set_theta_fp(int bits)
Definition: EMTFHit.h:101
float theta_sim
Definition: EMTFHit.h:231
float Theta_sim() const
Definition: EMTFHit.h:168
void SetGEMPadDigi(const GEMPadDigi &digi)
Definition: EMTFHit.h:60
void set_endcap(int bits)
Definition: EMTFHit.h:69
void set_ring(int bits)
Definition: EMTFHit.h:71
int Chamber() const
Definition: EMTFHit.h:130
int PC_sector() const
Definition: EMTFHit.h:136
int subsystem
Definition: EMTFHit.h:236
int Wire() const
Definition: EMTFHit.h:140
int zone_code
Definition: EMTFHit.h:221
RPCDigi rpc_Digi
Definition: EMTFHit.h:182
void SetRPCDetId(const RPCDetId &id)
Definition: EMTFHit.h:56
int Subsector() const
Definition: EMTFHit.h:128
int PC_station() const
Definition: EMTFHit.h:137
int Sector() const
Definition: EMTFHit.h:125
void set_strip_low(int bits)
Definition: EMTFHit.h:90
int Strip_low() const
Definition: EMTFHit.h:143
int Valid() const
Definition: EMTFHit.h:148
void set_phzvl(int bits)
Definition: EMTFHit.h:102
int subsector
Definition: EMTFHit.h:191
float eta_sim
Definition: EMTFHit.h:232
int Sync_err() const
Definition: EMTFHit.h:149
int fs_zone_code
Definition: EMTFHit.h:223
void set_bt_segment(int bits)
Definition: EMTFHit.h:109
int PC_segment() const
Definition: EMTFHit.h:139
int pc_segment
Definition: EMTFHit.h:202
int stub_num
Definition: EMTFHit.h:215
int Track_num() const
Definition: EMTFHit.h:144
int BX() const
Definition: EMTFHit.h:151
int Is_CSC() const
Definition: EMTFHit.h:170
void set_is_CSC(int bits)
Definition: EMTFHit.h:117
void set_pattern(int bits)
Definition: EMTFHit.h:93
int Ph_hit() const
Definition: EMTFHit.h:156
int Subsector_RPC() const
Definition: EMTFHit.h:129
void set_csc_ID(int bits)
Definition: EMTFHit.h:78
std::vector< EMTFHit > EMTFHitCollection
Definition: EMTFHit.h:241
int FS_segment() const
Definition: EMTFHit.h:159
void set_pc_chamber(int bits)
Definition: EMTFHit.h:85
void set_strip_hi(int bits)
Definition: EMTFHit.h:89
int BT_station() const
Definition: EMTFHit.h:161
void SetRPCDigi(const RPCDigi &digi)
Definition: EMTFHit.h:59
void set_wire(int bits)
Definition: EMTFHit.h:87
int zone_hit
Definition: EMTFHit.h:220
GEMPadDigi gem_PadDigi
Definition: EMTFHit.h:183
CSCDetId CSC_DetId() const
Definition: EMTFHit.h:62
CSCDetId CreateCSCDetId() const
Definition: EMTFHit.cc:5
int Ring() const
Definition: EMTFHit.h:124
CSCCorrelatedLCTDigi CreateCSCCorrelatedLCTDigi() const
Definition: EMTFHit.cc:17
void set_phi_loc(float val)
Definition: EMTFHit.h:110
int pattern
Definition: EMTFHit.h:209
int Sector_RPC() const
Definition: EMTFHit.h:126
void set_pc_segment(int bits)
Definition: EMTFHit.h:86
int PC_chamber() const
Definition: EMTFHit.h:138
int Sector_idx() const
Definition: EMTFHit.h:127
void set_is_RPC(int bits)
Definition: EMTFHit.h:118
void SetCSCDetId(const CSCDetId &id)
Definition: EMTFHit.h:55
int endcap
Definition: EMTFHit.h:185
void set_fs_segment(int bits)
Definition: EMTFHit.h:106
void set_sector_RPC(int bits)
Definition: EMTFHit.h:73
CSCCorrelatedLCTDigi csc_LCTDigi
Definition: EMTFHit.h:181
int ph_hit
Definition: EMTFHit.h:219
void set_sector(int bits)
Definition: EMTFHit.h:72
int strip_low
Definition: EMTFHit.h:206
int Station() const
Definition: EMTFHit.h:123
int bt_station
Definition: EMTFHit.h:224
void set_valid(int bits)
Definition: EMTFHit.h:95
int Is_GEM() const
Definition: EMTFHit.h:172
int pc_chamber
Definition: EMTFHit.h:201
void set_strip(int bits)
Definition: EMTFHit.h:88
int track_num
Definition: EMTFHit.h:207
int pc_station
Definition: EMTFHit.h:200
int quality
Definition: EMTFHit.h:208
float eta
Definition: EMTFHit.h:229
void set_subsystem(int bits)
Definition: EMTFHit.h:120
int phi_fp
Definition: EMTFHit.h:216
int theta_fp
Definition: EMTFHit.h:217
int strip_hi
Definition: EMTFHit.h:205
void set_track_num(int bits)
Definition: EMTFHit.h:91
void set_zone_code(int bits)
Definition: EMTFHit.h:105
void SetGEMDetId(const GEMDetId &id)
Definition: EMTFHit.h:57
int Pattern() const
Definition: EMTFHit.h:146
float phi_glob
Definition: EMTFHit.h:227
int sector
Definition: EMTFHit.h:188
void set_bx(int bits)
Definition: EMTFHit.h:98
int chamber
Definition: EMTFHit.h:193
int Zone_code() const
Definition: EMTFHit.h:158
void set_zone_hit(int bits)
Definition: EMTFHit.h:104
int fs_segment
Definition: EMTFHit.h:222
int Endcap() const
Definition: EMTFHit.h:122
CSCDetId csc_DetId
Definition: EMTFHit.h:178
int Stub_num() const
Definition: EMTFHit.h:152
int bt_segment
Definition: EMTFHit.h:225
void set_fs_zone_code(int bits)
Definition: EMTFHit.h:107
int Theta_fp() const
Definition: EMTFHit.h:154
int BC0() const
Definition: EMTFHit.h:150
void set_quality(int bits)
Definition: EMTFHit.h:92
void set_mpc_link(int bits)
Definition: EMTFHit.h:82
void set_chamber(int bits)
Definition: EMTFHit.h:77
int Neighbor() const
Definition: EMTFHit.h:134
void set_subsector(int bits)
Definition: EMTFHit.h:75
void set_bend(int bits)
Definition: EMTFHit.h:94
GEMPadDigi GEM_PadDigi() const
Definition: EMTFHit.h:67
int CSC_ID() const
Definition: EMTFHit.h:131
void set_phi_fp(int bits)
Definition: EMTFHit.h:100
void set_roll(int bits)
Definition: EMTFHit.h:80
int Is_RPC() const
Definition: EMTFHit.h:171
void set_pc_sector(int bits)
Definition: EMTFHit.h:83
void set_eta(float val)
Definition: EMTFHit.h:113
int csc_ID
Definition: EMTFHit.h:194