CMS 3D CMS Logo

CSCMotherboardME11.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCMotherboardME11_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCMotherboardME11_h
3 
18 
20 {
21  public:
23  CSCMotherboardME11(unsigned endcap, unsigned station, unsigned sector,
24  unsigned subsector, unsigned chamber,
25  const edm::ParameterSet& conf);
26 
29 
32 
35  void run(const CSCWireDigiCollection* wiredc,
36  const CSCComparatorDigiCollection* compdc);
37 
39  std::vector<CSCCorrelatedLCTDigi> getLCTs1a();
40  std::vector<CSCCorrelatedLCTDigi> getLCTs1b();
41 
43  std::vector<CSCALCTDigi> getALCTs1b() {return alctV;}
44 
46  std::vector<CSCCLCTDigi> getCLCTs1a() {return clctV1a;}
47  std::vector<CSCCLCTDigi> getCLCTs1b() {return clctV1b;}
48 
51  void clear();
52 
54  void setConfigParameters(const CSCDBL1TPParameters* conf);
55 
57  std::unique_ptr<CSCCathodeLCTProcessor> clct1a;
58 
59  std::vector<CSCCorrelatedLCTDigi> readoutLCTs1a();
60  std::vector<CSCCorrelatedLCTDigi> readoutLCTs1b();
61  std::vector<CSCCorrelatedLCTDigi> readoutLCTs(int me1ab);
62 
63  private:
64 
66  enum {ME1B = 1, ME1A=4};
67 
68  static const int lut_wg_vs_hs_me1b[48][2];
69  static const int lut_wg_vs_hs_me1a[48][2];
70  static const int lut_wg_vs_hs_me1ag[48][2];
71 
74 
75  bool doesALCTCrossCLCT(CSCALCTDigi &a, CSCCLCTDigi &c, int me);
76 
78  //CSCCorrelatedLCTDigi firstLCT1a[MAX_LCT_BINS];
79 
81  //CSCCorrelatedLCTDigi secondLCT1a[MAX_LCT_BINS];
82 
87 
88  void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT,
89  CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT,
91 
92  void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT,
93  CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT,
94  CSCCorrelatedLCTDigi& lct1, CSCCorrelatedLCTDigi& lct2, int me);
95 
96  std::vector<CSCALCTDigi> alctV;
97  std::vector<CSCCLCTDigi> clctV1b;
98  std::vector<CSCCLCTDigi> clctV1a;
99 
102 
105 
109 
113 
114  unsigned int tmb_cross_bx_algo;
115 
117  unsigned int max_me11_lcts;
118 };
119 #endif
std::vector< CSCCLCTDigi > clctV1a
CSCCorrelatedLCTDigi allLCTs1b[MAX_LCT_BINS][15][2]
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc)
void setConfigParameters(const CSCDBL1TPParameters *conf)
std::vector< CSCCorrelatedLCTDigi > readoutLCTs()
int pref[MAX_LCT_BINS]
unsigned int max_me11_lcts
static const int lut_wg_vs_hs_me1a[48][2]
std::vector< CSCCorrelatedLCTDigi > getLCTs1b()
std::unique_ptr< CSCCathodeLCTProcessor > clct1a
void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2)
std::vector< CSCALCTDigi > getALCTs1b()
unsigned int tmb_cross_bx_algo
CSCCorrelatedLCTDigi allLCTs1a[MAX_LCT_BINS][15][2]
std::vector< CSCALCTDigi > alctV
std::vector< CSCCLCTDigi > getCLCTs1a()
static const int lut_wg_vs_hs_me1b[48][2]
static const int lut_wg_vs_hs_me1ag[48][2]
std::vector< CSCCorrelatedLCTDigi > getLCTs1a()
std::vector< CSCCLCTDigi > clctV1b
double a
Definition: hdecay.h:121
bool doesALCTCrossCLCT(CSCALCTDigi &a, CSCCLCTDigi &c, int me)
std::vector< CSCCLCTDigi > getCLCTs1b()
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1b()
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1a()