CMS 3D CMS Logo

CSCGEMMotherboardME21.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCGEMMotherboardME21_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCGEMMotherboardME21_h
3 
15 
17 public:
20  unsigned station,
21  unsigned sector,
22  unsigned subsector,
23  unsigned chamber,
24  const edm::ParameterSet& conf);
25 
28 
30  ~CSCGEMMotherboardME21() override;
31 
34  void run(const CSCWireDigiCollection* wiredc,
35  const CSCComparatorDigiCollection* compdc,
36  const GEMPadDigiCollection* gemPads) override;
37 
38  /* readout the two best LCTs in this CSC */
39  std::vector<CSCCorrelatedLCTDigi> readoutLCTs() const override;
40 
41 private:
42  /* access to the LUTs needed for matching */
43  const CSCGEMMotherboardLUTME21* getLUT() const override { return tmbLUT_.get(); }
44  std::unique_ptr<CSCGEMMotherboardLUTME21> tmbLUT_;
45 
46  /* does wiregroup cross halfstrip or not */
47  bool doesWiregroupCrossStrip(int key_wg, int key_strip) const override { return true; }
48 
49  /* correlate a pair of ALCTs and a pair of CLCTs with matched pads or copads
50  the output is up to two LCTs in a sector of ME21 */
51  void correlateLCTsGEM(const CSCALCTDigi& bestALCT,
52  const CSCALCTDigi& secondALCT,
53  const CSCCLCTDigi& bestCLCT,
54  const CSCCLCTDigi& secondCLCT,
55  const GEMPadDigiIds& pads,
56  const GEMCoPadDigiIds& copads,
58  CSCCorrelatedLCTDigi& lct2) const;
59 
60  // drop low quality stubs if they don't have GEMs
63 
64  // build LCT from ALCT and GEM
67 };
68 #endif
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads) override
void correlateLCTsGEM(const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, const GEMPadDigiIds &pads, const GEMCoPadDigiIds &copads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const
matches< GEMCoPadDigi > GEMCoPadDigiIds
bool doesWiregroupCrossStrip(int key_wg, int key_strip) const override
std::unique_ptr< CSCGEMMotherboardLUTME21 > tmbLUT_
std::vector< CSCCorrelatedLCTDigi > readoutLCTs() const override
matches< GEMPadDigi > GEMPadDigiIds
const CSCGEMMotherboardLUTME21 * getLUT() const override