1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCCathodeLCTProcessor_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCCathodeLCTProcessor_h
77 std::vector<CSCCLCTDigi>
getCLCTs()
const;
125 virtual std::vector<CSCCLCTDigi>
findLCTs(
130 virtual bool preTrigger(
const int start_bx,
int& first_bx);
135 std::map<
int, std::map<int, CSCCLCTDigi::ComparatorContainer> >& hits_in_patterns);
141 const int best_patid,
142 int quality[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]);
146 const unsigned halfstrip_withstagger,
230 std::unique_ptr<ComparatorCodeLUT>
cclut_;
std::unique_ptr< ComparatorCodeLUT > cclut_
void setESLookupTables(const CSCL1TPLookupTableCCLUT *conf)
static const unsigned int def_drift_delay
void dumpDigis(const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) const
CSCCLCTDigi bestCLCT[CSCConstants::MAX_CLCT_TBINS]
void setDefaultConfigParameters()
std::vector< CSCCLCTDigi > readoutCLCTs() const
unsigned int nplanes_hit_pretrig
static const unsigned int def_fifo_tbins
CSCCathodeLCTProcessor(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
unsigned int min_separation
CSCShowerDigi readoutShower() const
void pulseExtension(const std::vector< int > time[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER])
std::vector< LCTPattern > LCTPatterns
void dumpConfigParams() const
unsigned getOutTimeHMT() const
static const unsigned int def_min_separation
CSCPatternBank::LCTPatterns clct_pattern_
bool patternFinding(const unsigned int bx_time, std::map< int, std::map< int, CSCCLCTDigi::ComparatorContainer > > &hits_in_patterns)
std::unique_ptr< LCTQualityControl > qualityControl_
static const unsigned int def_nplanes_hit_pretrig
static const unsigned int def_pid_thresh_pretrig
unsigned int fifo_pretrig
unsigned showerMinInTBin_
std::vector< std::vector< uint16_t > > ComparatorContainer
unsigned int nhits[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]
~CSCCathodeLCTProcessor() override=default
CSCCLCTDigi getSecondCLCT(int bx) const
static const unsigned int def_tmb_l1a_window_size
bool getDigis(const CSCComparatorDigiCollection *compdc)
static const unsigned int def_nplanes_hit_pattern
unsigned showerMinOutTBin_
CSCCLCTDigi getBestCLCT(int bx) const
CSCCLCTPreTriggerDigi constructPreCLCT(const int bx, const unsigned halfstrip, const unsigned index) const
std::vector< CSCCLCTPreTriggerDigi > thePreTriggerDigis
unsigned int nplanes_hit_pattern
unsigned getInTimeHMT() const
std::vector< CSCCLCTDigi > getCLCTs() const
virtual std::vector< CSCCLCTDigi > findLCTs(const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER])
void markBusyKeys(const int best_hstrip, const int best_patid, int quality[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER])
void checkConfigParameters()
std::vector< int > preTriggerBXs() const
unsigned showerMaxInTBin_
static const unsigned int def_fifo_pretrig
std::vector< int > thePreTriggerBXs
unsigned showerMaxOutTBin_
static const unsigned int def_hit_persist
int stagger[CSCConstants::NUM_LAYERS]
void cleanComparatorContainer(CSCCLCTDigi &lct) const
std::vector< CSCCLCTDigi > run(const CSCComparatorDigiCollection *compdc)
virtual bool preTrigger(const int start_bx, int &first_bx)
unsigned minLayersCentralTBin_
CSCCLCTDigi secondCLCT[CSCConstants::MAX_CLCT_TBINS]
std::vector< CSCComparatorDigi > digiV[CSCConstants::NUM_LAYERS]
unsigned int tmb_l1a_window_size
void readComparatorDigis(std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER])
CSCCLCTDigi constructCLCT(const int bx, const unsigned halfstrip_withstagger, const CSCCLCTDigi::ComparatorContainer &hits)
void encodeHighMultiplicityBits(const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER])
std::vector< CSCCLCTPreTriggerDigi > preTriggerDigis() const
unsigned int pid_thresh_pretrig
bool ispretrig_[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]
void setConfigParameters(const CSCDBL1TPParameters *conf)
unsigned int best_pid[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]
std::vector< unsigned > thresholds_