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 
31  ~CSCMotherboardME11() override;
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() const {return alctV;}
44 
46  std::vector<CSCCLCTDigi> getCLCTs1a() const {return clctV1a;}
47  std::vector<CSCCLCTDigi> getCLCTs1b() const {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[CSCConstants::MAX_LCT_TBINS];
79 
81  //CSCCorrelatedLCTDigi secondLCT1a[CSCConstants::MAX_LCT_TBINS];
82 
87 
88  void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT,
89  CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT,
90  CSCCorrelatedLCTDigi& lct1, CSCCorrelatedLCTDigi& lct2, int me);
91 
92  std::vector<CSCALCTDigi> alctV;
93  std::vector<CSCCLCTDigi> clctV1b;
94  std::vector<CSCCLCTDigi> clctV1a;
95 
98 
101 
105 
109 
110  unsigned int tmb_cross_bx_algo;
111 
113  unsigned int max_me11_lcts;
114 };
115 #endif
CSCCorrelatedLCTDigi allLCTs1a[CSCConstants::MAX_LCT_TBINS][15][2]
std::vector< CSCCLCTDigi > clctV1a
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc)
void setConfigParameters(const CSCDBL1TPParameters *conf)
std::vector< CSCCorrelatedLCTDigi > readoutLCTs()
unsigned int max_me11_lcts
static const int lut_wg_vs_hs_me1a[48][2]
std::vector< CSCCorrelatedLCTDigi > getLCTs1b()
std::unique_ptr< CSCCathodeLCTProcessor > clct1a
unsigned int tmb_cross_bx_algo
std::vector< CSCCLCTDigi > getCLCTs1a() const
std::vector< CSCALCTDigi > alctV
int pref[CSCConstants::MAX_LCT_TBINS]
static const int lut_wg_vs_hs_me1b[48][2]
static const int lut_wg_vs_hs_me1ag[48][2]
CSCCorrelatedLCTDigi allLCTs1b[CSCConstants::MAX_LCT_TBINS][15][2]
std::vector< CSCCLCTDigi > getCLCTs1b() const
std::vector< CSCCorrelatedLCTDigi > getLCTs1a()
std::vector< CSCCLCTDigi > clctV1b
double a
Definition: hdecay.h:121
bool doesALCTCrossCLCT(CSCALCTDigi &a, CSCCLCTDigi &c, int me)
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1b()
std::vector< CSCALCTDigi > getALCTs1b() const
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1a()
void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, int me)