CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CSCUpgradeCathodeLCTProcessor.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCUpgradeCathodeLCTProcessor_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCUpgradeCathodeLCTProcessor_h
3 
21 
22 #include <vector>
23 
25 public:
28  unsigned station,
29  unsigned sector,
30  unsigned subsector,
31  unsigned chamber,
32  const edm::ParameterSet& conf);
33 
34 private:
35  /* Phase2 version. Check all half-strip pattern envelopes simultaneously,
36  on every clock cycle, for a matching pattern */
37  bool preTrigger(const int start_bx, int& first_bx) override;
38 
39  /* Phase-2 version of the CLCT finder function */
40  std::vector<CSCCLCTDigi> findLCTs(
42  override;
43 
44  // mark half-strip zones around pretriggers that happened at the current first_bx
45  void markPreTriggerZone(bool pretrig_zone[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) const;
46 
47  // update the deadzone after finding a pretrigger
48  void markBusyZone(const int bx);
49 
50  /* is a given half-strip in a pretrigger dead zone */
52 
55 
56  /* +/- half-strips around a keystrip that are dead
57  for a few BX after a CLCT was found*/
59 
61  unsigned int pretrig_trig_zone_;
62 };
63 
64 #endif
CSCUpgradeCathodeLCTProcessor(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
std::vector< CSCCLCTDigi > findLCTs(const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) override
bool busyMap_[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER][CSCConstants::MAX_CLCT_TBINS]
void markPreTriggerZone(bool pretrig_zone[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) const
bool preTrigger(const int start_bx, int &first_bx) override