CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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