CMS 3D CMS Logo

CSCConstants.h
Go to the documentation of this file.
1 #ifndef DataFormats_CSCDigi_CSCConstants_h
2 #define DataFormats_CSCDigi_CSCConstants_h
3 
10 class CSCConstants {
11 public:
12  enum DDU_Info { NUM_DDUS = 5 };
13 
14  enum CFEB_Info {
15  // Run-1: Maximum number of cathode front-end boards
17  // ME1/1 cases
23  // Run-2: Maximum number of cathode front-end boards
25  // CFEBS for the rest of the system
34  };
35 
37 
38  // Numbers obtained from https://twiki.cern.ch/twiki/pub/CMS/CSCDPGGeometry/table_of_csc_properties_150730.pdf
39  enum WG_Info {
49  // this number should really be 112, but has always been 119 since the
50  // CSC trigger was developed in 2006. Probably it would not hurt to change it to 112
53  };
54 
55  // distrips, strips, half-strips
56  enum Strip_Info {
57  // Each CFEB reads out 8 distrips...
59  //...16 strips...
61  //...32 half-strips.
63  // There are exactly 80 or 112 strips...
66  //...and 160 or 224 half-strips for 5 or 7 CFEBs...
69  // ...but depending on the chamber, there may or may not be strip staggering.
70  /* CMS-MUO-16-001: "[..] alternate layers in a CSC are staggered by half a strip width, except
71  in the ME1/1 chambers where the strips are narrower and the effect is small" */
72  // _TRIGGER is added at the end, because these constants are only used in the trigger
75  // Number of strips in ME11 (special case)
79  // Number of half-strips in ME11 (special case)
85  // max halfstrip number in ME1/1 chambers
89  // half-strips for the rest of the system
98  // useful for the comparator code algorithm
100  };
101 
102  // CSCs have 6 layers. The key (reference) layer is the third layer
104 
105  // Both ALCT and CLCTs have patterns. CLCTs have a better granularity than ALCTs, thus more patterns
112  // Run-1 and Run-2 CSC trigger patterns
114  // Run-3 CSC trigger patterns
117  // Max number of wires participating in a pattern
120  };
121 
123 
124  enum LCT_stubs {
125  // CSC local trigger considers 4-bit BX window (16 numbers) in the readout
129  // Maximum allowed matching window size
131  // Each CLCT processor can send up to 2 CLCTs to TMB per BX
134  // Each ALCT processor can send up to 2 ALCTs to TMB per BX
137  // Each CSC can send up to 2 LCTs to the MPC per BX
139  // An MPC receives up to 18 LCTs from 9 CSCs in the trigger sector
141  /*
142  An EMTF sector processor receives LCTs from 5 MPCS
143  or 45 chambers when not considering overlapping EMTF SPs
144  18 CSCs in ME1; 9 x 3 CSCs in ME2,3,4
145  */
147  // Reference BX for LCTs in simulation and firmware
149  /*
150  Reference BX for ALCTs in firmware. In the ALCT simulation,
151  and in the motherboard simulation the ALCT central BX is 8.
152  However, ALCT BX is shifted before they are inserted into the EDM
153  ROOT file to have a central BX of 3 and be consistent with the firmware.
154  */
156  /*
157  Reference BX for CLCTs in firmware. In the CLCT simulation, the central
158  CLCT BX is 7. In the motherboard simulation they are shifted to 8 (in order
159  to matched with ALCTs). But in the EDM ROOT file the CLCT central BX is 7
160  to be consistent with the firmware.
161  */
163  // Offset between the ALCT and CLCT central BX in simulation
165  };
166 };
167 
168 #endif
CSCConstants::INVALID_HALF_STRIP
Definition: CSCConstants.h:99
CSCConstants::Pattern_Info
Pattern_Info
Definition: CSCConstants.h:106
CSCConstants::MAX_DIGIS_PER_ALCT
Definition: CSCConstants.h:122
CSCConstants::NUM_HALF_STRIPS_ME11_GANGED
Definition: CSCConstants.h:83
CSCConstants::NUM_CFEBS_ME42
Definition: CSCConstants.h:33
CSCConstants::Digis_Info
Digis_Info
Definition: CSCConstants.h:122
CSCConstants::NUM_HALF_STRIPS_PER_CFEB
Definition: CSCConstants.h:62
CSCConstants::NUM_DISTRIPS_PER_CFEB
Definition: CSCConstants.h:58
CSCConstants::MAX_CSCS_PER_EMTF_SP_NO_OVERLAP
Definition: CSCConstants.h:146
CSCConstants::MAX_NUM_HALF_STRIPS_RUN2
Definition: CSCConstants.h:68
CSCConstants::MAX_NUM_HALF_STRIPS_RUN1_TRIGGER
Definition: CSCConstants.h:73
CSCConstants::MAX_ALCT_TBINS
Definition: CSCConstants.h:127
CSCConstants::NUM_WIREGROUPS_ME31
Definition: CSCConstants.h:45
CSCConstants::NUM_WIREGROUPS_ME13
Definition: CSCConstants.h:42
CSCConstants::LCT_CENTRAL_BX
Definition: CSCConstants.h:148
CSCConstants::NUM_CFEBS_ME12
Definition: CSCConstants.h:26
CSCConstants::NUM_CFEBS_ME11_GANGED
Definition: CSCConstants.h:21
CSCConstants::INVALID_WIREGROUP
Definition: CSCConstants.h:52
CSCConstants::NUM_ALCT_PATTERNS
Definition: CSCConstants.h:107
CSCConstants::KEY_ALCT_LAYER
Definition: CSCConstants.h:103
CSCConstants::NUM_CFEBS_ME11_UNGANGED
Definition: CSCConstants.h:22
CSCConstants::ALCT_COLLISIONA_PATTERN
Definition: CSCConstants.h:110
CSCConstants::MAX_CFEBS_RUN1
Definition: CSCConstants.h:16
CSCConstants::ALCT_CLCT_OFFSET
Definition: CSCConstants.h:164
CSCConstants::NUM_HALF_STRIPS_ME1A_GANGED
Definition: CSCConstants.h:80
CSCConstants::NUM_HALF_STRIPS_ME41
Definition: CSCConstants.h:96
CSCConstants::NUM_CLCT_PATTERNS_RUN3
Definition: CSCConstants.h:115
CSCConstants::MAX_CLCTS_PER_PROCESSOR
Definition: CSCConstants.h:132
CSCConstants::NUM_HALF_STRIPS_ME22
Definition: CSCConstants.h:93
CSCConstants::NUM_HALF_STRIPS_ME11_UNGANGED
Definition: CSCConstants.h:84
CSCConstants::NUM_CFEBS_ME31
Definition: CSCConstants.h:30
CSCConstants::ALCT_COLLISIONB_PATTERN
Definition: CSCConstants.h:111
CSCConstants::NUM_WIREGROUPS_ME21
Definition: CSCConstants.h:43
CSCConstants::NUM_STRIPS_PER_CFEB
Definition: CSCConstants.h:60
CSCConstants::NUM_HALF_STRIPS_ME31
Definition: CSCConstants.h:94
CSCConstants::NUM_HALF_STRIPS_ME1A_UNGANGED
Definition: CSCConstants.h:81
CSCConstants::NUM_HALF_STRIPS_ME12
Definition: CSCConstants.h:90
CSCConstants::DDU_Info
DDU_Info
Definition: CSCConstants.h:12
CSCConstants::MAX_NUM_HALF_STRIPS_RUN1
Definition: CSCConstants.h:67
CSCConstants::MAX_NUM_STRIPS_RUN2
Definition: CSCConstants.h:65
CSCConstants::MAX_LCTS_PER_CSC
Definition: CSCConstants.h:138
CSCConstants::NUM_WIREGROUPS_ME12
Definition: CSCConstants.h:41
CSCConstants::NUM_DDUS
Definition: CSCConstants.h:12
CSCConstants::MAX_NUM_STRIPS_RUN1
Definition: CSCConstants.h:64
CSCConstants::MAX_WIRES_IN_PATTERN
Definition: CSCConstants.h:118
CSCConstants::MAX_HALF_STRIP_ME1B
Definition: CSCConstants.h:88
CSCConstants::NUM_LAYERS
Definition: CSCConstants.h:103
CSCConstants::NUM_HALF_STRIPS_ME42
Definition: CSCConstants.h:97
CSCConstants::NUM_CFEBS_ME1A_GANGED
Definition: CSCConstants.h:18
CSCConstants::MAX_LCT_TBINS
Definition: CSCConstants.h:128
CSCConstants::MAX_ALCTS_READOUT
Definition: CSCConstants.h:136
CSCConstants::NUM_CFEBS_ME1B
Definition: CSCConstants.h:20
CSCConstants::ALCT_EMUL_TIME_OFFSET
Definition: CSCConstants.h:36
CSCConstants::CFEB_Info
CFEB_Info
Definition: CSCConstants.h:14
CSCConstants::NUM_WIREGROUPS_ME32
Definition: CSCConstants.h:46
CSCConstants::NUM_WIREGROUPS_ME42
Definition: CSCConstants.h:48
CSCConstants::WG_Info
WG_Info
Definition: CSCConstants.h:39
CSCConstants::NUM_WIREGROUPS_ME22
Definition: CSCConstants.h:44
CSCConstants::NUM_WIREGROUPS_ME11
Definition: CSCConstants.h:40
CSCConstants::NUM_HALF_STRIPS_ME1B
Definition: CSCConstants.h:82
CSCConstants::NUM_STRIPS_ME1A_UNGANGED
Definition: CSCConstants.h:77
CSCConstants::MAX_HALF_STRIP_ME1A_UNGANGED
Definition: CSCConstants.h:87
CSCConstants::NUM_COMPARATOR_CODES
Definition: CSCConstants.h:119
CSCConstants::Strip_Info
Strip_Info
Definition: CSCConstants.h:56
CSCConstants::MAX_ALCTS_PER_PROCESSOR
Definition: CSCConstants.h:135
CSCConstants::NUM_WIREGROUPS_ME41
Definition: CSCConstants.h:47
CSCConstants::NUM_CFEBS_ME1A_UNGANGED
Definition: CSCConstants.h:19
CSCConstants::Layer_Info
Layer_Info
Definition: CSCConstants.h:103
CSCConstants::MAX_CFEBS_RUN2
Definition: CSCConstants.h:24
CSCConstants::ALCT_CENTRAL_BX
Definition: CSCConstants.h:155
CSCConstants::MAX_HALF_STRIP_ME1A_GANGED
Definition: CSCConstants.h:86
CSCConstants::MAX_DIGIS_PER_CLCT
Definition: CSCConstants.h:122
CSCConstants::MAX_CLCTS_READOUT
Definition: CSCConstants.h:133
CSCConstants::ALCT_ACCELERATOR_PATTERN
Definition: CSCConstants.h:109
CSCConstants::NUM_CFEBS_ME13
Definition: CSCConstants.h:27
CSCConstants
Definition: CSCConstants.h:10
CSCConstants::NUM_HALF_STRIPS_ME13
Definition: CSCConstants.h:91
CSCConstants::NUM_CFEBS_ME22
Definition: CSCConstants.h:29
CSCConstants::KEY_CLCT_LAYER
Definition: CSCConstants.h:103
CSCConstants::MAX_CLCT_TBINS
Definition: CSCConstants.h:126
CSCConstants::NUM_STRIPS_ME1A_GANGED
Definition: CSCConstants.h:76
CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER
Definition: CSCConstants.h:74
CSCConstants::CLCT_CENTRAL_BX
Definition: CSCConstants.h:162
CSCConstants::MAX_MATCH_WINDOW_SIZE
Definition: CSCConstants.h:130
CSCConstants::FPGA_Latency
FPGA_Latency
Definition: CSCConstants.h:36
CSCConstants::NUM_HALF_STRIPS_ME32
Definition: CSCConstants.h:95
CSCConstants::NUM_CFEBS_ME21
Definition: CSCConstants.h:28
CSCConstants::NUM_STRIPS_ME1B
Definition: CSCConstants.h:78
CSCConstants::MAX_LCTS_PER_MPC
Definition: CSCConstants.h:140
CSCConstants::NUM_CLCT_PATTERNS
Definition: CSCConstants.h:113
CSCConstants::LCT_stubs
LCT_stubs
Definition: CSCConstants.h:124
CSCConstants::CLCT_PATTERN_WIDTH
Definition: CSCConstants.h:116
CSCConstants::NUM_CFEBS_ME41
Definition: CSCConstants.h:32
CSCConstants::NUM_CFEBS_ME32
Definition: CSCConstants.h:31
CSCConstants::NUM_HALF_STRIPS_ME21
Definition: CSCConstants.h:92
CSCConstants::CLCT_EMUL_TIME_OFFSET
Definition: CSCConstants.h:36
CSCConstants::ALCT_PATTERN_WIDTH
Definition: CSCConstants.h:108
CSCConstants::MAX_NUM_WIREGROUPS
Definition: CSCConstants.h:51