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() const;
40  std::vector<CSCCorrelatedLCTDigi> getLCTs1b() const;
41 
43  const std::vector<CSCALCTDigi>& getALCTs1b() const {return alctV;}
44 
46  const std::vector<CSCCLCTDigi>& getCLCTs1a() const {return clctV1a;}
47  const 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() const;
60  std::vector<CSCCorrelatedLCTDigi> readoutLCTs1b() const;
61  std::vector<CSCCorrelatedLCTDigi> readoutLCTs(int me1ab) const;
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(const CSCALCTDigi &a, const CSCCLCTDigi &c, int me) const;
76 
81 
82  void correlateLCTs(const CSCALCTDigi& bestALCT,
83  const CSCALCTDigi& secondALCT,
84  const CSCCLCTDigi& bestCLCT,
85  const CSCCLCTDigi& secondCLCT,
87  CSCCorrelatedLCTDigi& lct2, int me) const;
88 
89  std::vector<CSCALCTDigi> alctV;
90  std::vector<CSCCLCTDigi> clctV1b;
91  std::vector<CSCCLCTDigi> clctV1a;
92 
95 
98 
102 
106 
107  unsigned int tmb_cross_bx_algo;
108 
110  unsigned int max_me11_lcts;
111 };
112 #endif
CSCCorrelatedLCTDigi allLCTs1a[CSCConstants::MAX_LCT_TBINS][15][2]
std::vector< CSCCLCTDigi > clctV1a
void correlateLCTs(const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, int me) const
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc)
void setConfigParameters(const CSCDBL1TPParameters *conf)
std::vector< CSCCorrelatedLCTDigi > getLCTs1a() const
const std::vector< CSCALCTDigi > & getALCTs1b() const
unsigned int max_me11_lcts
const std::vector< CSCCLCTDigi > & getCLCTs1b() const
static const int lut_wg_vs_hs_me1a[48][2]
std::unique_ptr< CSCCathodeLCTProcessor > clct1a
unsigned int tmb_cross_bx_algo
std::vector< CSCALCTDigi > alctV
int pref[CSCConstants::MAX_LCT_TBINS]
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1a() const
static const int lut_wg_vs_hs_me1b[48][2]
static const int lut_wg_vs_hs_me1ag[48][2]
std::vector< CSCCorrelatedLCTDigi > readoutLCTs1b() const
bool doesALCTCrossCLCT(const CSCALCTDigi &a, const CSCCLCTDigi &c, int me) const
CSCCorrelatedLCTDigi allLCTs1b[CSCConstants::MAX_LCT_TBINS][15][2]
std::vector< CSCCorrelatedLCTDigi > getLCTs1b() const
const std::vector< CSCCLCTDigi > & getCLCTs1a() const
std::vector< CSCCLCTDigi > clctV1b
double a
Definition: hdecay.h:121
std::vector< CSCCorrelatedLCTDigi > readoutLCTs() const