CMS 3D CMS Logo

CSCConstants.h
Go to the documentation of this file.
1 #ifndef CSCCommonTrigger_CSCConstants_h
2 #define CSCCommonTrigger_CSCConstants_h
3 
9 #include <cmath>
10 
12 {
13  public:
14  enum CFEB_Info {
15  //Maximum number of cathode front-end boards
16  MAX_CFEBS = 5,
17  };
18 
22  };
23 
24  // Note: WIRE means actually "wiregroup" here
25  enum WG_and_Strip {
30  NUM_DI_STRIPS = 40+1, // Add 1 to allow for staggering of strips
31  NUM_HALF_STRIPS = 160+1,
33  // each CFEB reads out 8 distrips, 16 strips or 32 halfstrips
37  // max halfstrip number in ME1/1 chambers
38  // All ME1A readout by 1 CFEB -> 32 -1
40  // All ME1A readout by 3 CFEBs -> 3*32 -1
42  // All ME1B readout by 4 CFEBs -> 4*32 -1
44  };
45 
46  // CSCs have 6 layers. The key (refernce) layer is the third layer
47  enum Layer_Info {
52 
53  // Both ALCT and CLCTs have patterns. CLCTs have a better granularity than ALCTs, thus more patterns
54  enum Pattern_Info {
58  // Max number of wires participating in a pattern
60  // Max number of strips participating in a pattern
62  // Max number of halfstrips participating in a pattern
64 
65  enum Digis_Info {
68 
69  enum LCT_stubs{
70  // CSC local trigger considers 4-bit BX window (16 numbers) in the readout
74  // Each CLCT processor can snd up to 2 CLCTs to TMB
76  // Each ALCT processor can snd up to 2 ALCTs to TMB
78  // Each CSC can send up to 2 LCTs to the MPC.
80  // An MPC receives up to 18 LCTs from 9 CSCs in the trigger sector
82  // Reference BX for LCTs in simulation and firmware
84 };
85 
86 #endif