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