1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCAnodeLCTProcessor_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCAnodeLCTProcessor_h
81 std::vector<CSCALCTDigi>
getALCTs()
const;
194 void clear(
const int wire,
const int pattern);
209 bool preTrigger(
const int key_wire,
const int start_bx);
215 std::map<
int, std::map<int, CSCALCTDigi::WireContainer> >& hits_in_patterns);
250 std::vector<CSCALCTDigi>
bestTrackSelector(
const std::vector<CSCALCTDigi>& all_alcts);
unsigned getOutTimeHMT() const
unsigned showerMinInTBin_
int ghost_cancellation_bx_depth
void showPatterns(const int key_wire)
std::unique_ptr< LCTQualityControl > qualityControl_
void checkConfigParameters()
static const unsigned int def_drift_delay
static const unsigned int def_fifo_tbins
CSCALCTDigi getSecondALCT(int bx) const
unsigned getInTimeHMT() const
bool getDigis(const CSCWireDigiCollection *wiredc)
void encodeHighMultiplicityBits(const std::vector< int > wire[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIREGROUPS])
bool pulseExtension(const std::vector< int > wire[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIREGROUPS])
unsigned int nplanes_hit_pattern
int first_bx_corrected[CSCConstants::MAX_NUM_WIREGROUPS]
std::vector< CSCALCTPreTriggerDigi > thePreTriggerDigis
std::vector< LCTPattern > LCTPatterns
bool isBetterALCT(const CSCALCTDigi &lhsALCT, const CSCALCTDigi &rhsALCT) const
void setConfigParameters(const CSCDBL1TPParameters *conf)
void trigMode(const int key_wire)
void dumpDigis(const std::vector< int > wire[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIREGROUPS]) const
static const unsigned int def_accel_mode
std::vector< CSCALCTDigi > lct_list
static const unsigned int def_nplanes_hit_accel_pretrig
static const unsigned int def_fifo_pretrig
std::vector< CSCALCTDigi > getALCTs() const
std::vector< CSCALCTDigi > readoutALCTs() const
void accelMode(const int key_wire)
unsigned int l1a_window_width
static const unsigned int def_nplanes_hit_pattern
bool preTrigger(const int key_wire, const int start_bx)
void cleanWireContainer(CSCALCTDigi::WireContainer &wireHits) const
unsigned showerMinOutTBin_
unsigned showerMaxOutTBin_
CSCALCTDigi secondALCT[CSCConstants::MAX_ALCT_TBINS]
virtual int getTempALCTQuality(int temp_quality) const
static const unsigned int def_l1a_window_width
CSCPatternBank::LCTPatterns alct_pattern_
bool ghost_cancellation_side_quality
static const unsigned int def_trig_mode
std::vector< std::vector< uint16_t > > WireContainer
bool patternDetection(const int key_wire, std::map< int, std::map< int, CSCALCTDigi::WireContainer > > &hits_in_patterns)
static const unsigned int def_nplanes_hit_accel_pattern
void setDefaultConfigParameters()
CSCShowerDigi readoutShower() const
void setWireContainer(CSCALCTDigi &, CSCALCTDigi::WireContainer &wireHits) const
std::vector< CSCALCTDigi > bestTrackSelector(const std::vector< CSCALCTDigi > &all_alcts)
unsigned showerMaxInTBin_
unsigned int fifo_pretrig
CSCALCTDigi bestALCT[CSCConstants::MAX_ALCT_TBINS]
virtual void ghostCancellationLogicOneWire(const int key_wire, int *ghost_cleared)
void dumpConfigParams() const
unsigned minLayersCentralTBin_
int first_bx[CSCConstants::MAX_NUM_WIREGROUPS]
unsigned int nplanes_hit_accel_pattern
int quality[CSCConstants::MAX_NUM_WIREGROUPS][CSCConstants::NUM_ALCT_PATTERNS]
std::vector< CSCALCTDigi > run(const CSCWireDigiCollection *wiredc)
std::vector< CSCALCTPreTriggerDigi > preTriggerDigis() const
std::vector< unsigned > thresholds_
void readWireDigis(std::vector< int > wire[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIREGROUPS])
unsigned int pretrig_extra_deadtime
std::vector< CSCWireDigi > digiV[CSCConstants::NUM_LAYERS]
CSCAnodeLCTProcessor(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf)
unsigned int nplanes_hit_pretrig
~CSCAnodeLCTProcessor() override=default
static const unsigned int def_nplanes_hit_pretrig
unsigned int nplanes_hit_accel_pretrig
CSCALCTDigi getBestALCT(int bx) const