File indexing completed on 2024-09-05 05:04:36
0001 #ifndef L1Trigger_CSCTriggerPrimitives_CSCUpgradeCathodeLCTProcessor_h
0002 #define L1Trigger_CSCTriggerPrimitives_CSCUpgradeCathodeLCTProcessor_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include "L1Trigger/CSCTriggerPrimitives/interface/CSCCathodeLCTProcessor.h"
0021
0022 #include <vector>
0023
0024 class CSCUpgradeCathodeLCTProcessor : public CSCCathodeLCTProcessor {
0025 public:
0026
0027 CSCUpgradeCathodeLCTProcessor(unsigned endcap,
0028 unsigned station,
0029 unsigned sector,
0030 unsigned subsector,
0031 unsigned chamber,
0032 CSCBaseboard::Parameters& conf);
0033
0034 private:
0035
0036
0037 bool preTrigger(const int start_bx, int& first_bx) override;
0038
0039
0040 std::vector<CSCCLCTDigi> findLCTs(
0041 const std::vector<int> halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER],
0042 const CSCL1TPLookupTableCCLUT* lookupTable) override;
0043
0044
0045 void markPreTriggerZone(int bx, bool pretrig_zone[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) const;
0046
0047
0048 void markBusyZone(const int bx);
0049
0050
0051 bool busyMap_[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER][CSCConstants::MAX_CLCT_TBINS];
0052
0053
0054 bool use_dead_time_zoning_;
0055
0056
0057
0058 unsigned int clct_state_machine_zone_;
0059
0060
0061 unsigned int pretrig_trig_zone_;
0062 };
0063
0064 #endif