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 {
18  public:
19 
21  CSCGEMMotherboardME21(unsigned endcap, unsigned station, unsigned sector,
22  unsigned subsector, unsigned chamber,
23  const edm::ParameterSet& conf);
24 
27 
29  ~CSCGEMMotherboardME21() override;
30 
33  void clear();
34 
37  void run(const CSCWireDigiCollection* wiredc,
38  const CSCComparatorDigiCollection* compdc,
39  const GEMPadDigiCollection* gemPads) override;
40 
41  /* readout the two best LCTs in this CSC */
42  std::vector<CSCCorrelatedLCTDigi> readoutLCTs() const;
43 
44  private:
45 
46  /* access to the LUTs needed for matching */
47  const CSCGEMMotherboardLUTME21* getLUT() const override {return tmbLUT_.get();}
48  std::unique_ptr<CSCGEMMotherboardLUTME21> tmbLUT_;
49 
50  /* correlate a pair of ALCTs and a pair of CLCTs with matched pads or copads
51  the output is up to two LCTs in a sector of ME21 */
52  void correlateLCTsGEM(CSCALCTDigi& bestALCT, CSCALCTDigi& secondALCT,
53  CSCCLCTDigi& bestCLCT, CSCCLCTDigi& secondCLCT,
54  const GEMPadDigiIds& pads, const GEMCoPadDigiIds& copads,
56  enum CSCPart p) const;
57 
60  LCTContainer allLCTs;
61 
62  /* store the CLCTs found earlier */
63  std::vector<CSCCLCTDigi> clctV;
64 
65  // drop low quality stubs if they don't have GEMs
68 
69  // build LCT from ALCT and GEM
72 };
73 #endif
void run(const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads) override
matches< GEMCoPadDigi > GEMCoPadDigiIds
void correlateLCTsGEM(CSCALCTDigi &bestALCT, CSCALCTDigi &secondALCT, CSCCLCTDigi &bestCLCT, CSCCLCTDigi &secondCLCT, const GEMPadDigiIds &pads, const GEMCoPadDigiIds &copads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, enum CSCPart p) const
std::unique_ptr< CSCGEMMotherboardLUTME21 > tmbLUT_
std::vector< CSCCorrelatedLCTDigi > readoutLCTs() const
std::vector< CSCCLCTDigi > clctV
matches< GEMPadDigi > GEMPadDigiIds
const CSCGEMMotherboardLUTME21 * getLUT() const override