CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LCTQualityAssignment.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_LCTQualityAssignment_h
2 #define L1Trigger_CSCTriggerPrimitives_LCTQualityAssignment_h
3 
20 
22 public:
23  // 4-bit LCT quality number. Made by TMB lookup tables and used for MPC sorting.
24  enum class LCT_QualityRun2 : unsigned int {
25  INVALID = 0,
26  NO_CLCT = 1,
27  NO_ALCT = 2,
29  LOW_QUALITY = 4,
33  HQ_ACCEL_ALCT = 8,
34  HQ_RESERVED_1 = 9,
35  HQ_RESERVED_2 = 10,
36  HQ_PATTERN_2_3 = 11,
37  HQ_PATTERN_4_5 = 12,
38  HQ_PATTERN_6_7 = 13,
39  HQ_PATTERN_8_9 = 14,
40  HQ_PATTERN_10 = 15
41  };
42 
43  // See DN-20-016
44  enum class LCT_QualityRun3 : unsigned int { INVALID = 0, LowQ = 1, MedQ = 2, HighQ = 3 };
45 
46  // See DN-20-016
47  enum class LCT_QualityRun3GEM : unsigned int {
48  INVALID = 0,
49  ALCT_2GEM = 1,
50  CLCT_2GEM = 2,
51  ALCT_CLCT = 3,
56  };
57 
58  // constructor
60  unsigned station,
61  unsigned sector,
62  unsigned subsector,
63  unsigned chamber,
64  const edm::ParameterSet& conf);
65 
67  ~LCTQualityAssignment() override {}
68 
69  // setter
70  void setGEMCSCBending(const bool setBend) { assignGEMCSCBending_ = setBend; }
71 
72  // quality for all LCTs in Run-1/2 or Run-3
73  unsigned findQuality(const CSCALCTDigi& aLCT, const CSCCLCTDigi& cLCT) const;
74  unsigned findQuality(const CSCALCTDigi& aLCT, const CSCCLCTDigi& cLCT, const GEMInternalCluster& cl) const;
75  unsigned findQuality(const CSCALCTDigi& aLCT, const GEMInternalCluster& cl) const;
76  unsigned findQuality(const CSCCLCTDigi& cLCT, const GEMInternalCluster& cl) const;
77 
78 private:
79  // quality for all LCTs in Run-1 and Run-2 (CCLUT off)
80  unsigned findQualityRun2(const CSCALCTDigi& aLCT, const CSCCLCTDigi& cLCT) const;
81 
82  // quality for non-ME1/1 LCTs in Run-3 without GEMs (CCLUT on)
83  unsigned findQualityRun3(const CSCALCTDigi& aLCT, const CSCCLCTDigi& cLCT) const;
84 
85  // quality for LCTs in Run-3 with GEMs (CCLUT off)
86  // old-style to be compatible with EMTF Run-2
87  unsigned findQualityGEMv1(const CSCCLCTDigi&, const GEMInternalCluster& cl) const;
88  unsigned findQualityGEMv1(const CSCALCTDigi&, const CSCCLCTDigi&, const GEMInternalCluster& cl) const;
89 
90  // quality for LCTs in Run-3 with GEMs (CCLUT on(
91  unsigned findQualityGEMv2(const CSCALCTDigi&, const CSCCLCTDigi&, const GEMInternalCluster& cl) const;
92 
94  bool runILT_;
95 };
96 
97 #endif
unsigned findQualityGEMv1(const CSCCLCTDigi &, const GEMInternalCluster &cl) const
unsigned findQualityRun2(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
unsigned findQualityGEMv2(const CSCALCTDigi &, const CSCCLCTDigi &, const GEMInternalCluster &cl) const
tuple cl
Definition: haddnano.py:49
unsigned findQualityRun3(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
unsigned findQuality(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
LCTQualityAssignment(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
void setGEMCSCBending(const bool setBend)