#include <CSCUpgradeCathodeLCTProcessor.h>
Public Member Functions | |
CSCUpgradeCathodeLCTProcessor (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, CSCBaseboard::Parameters &conf) | |
Public Member Functions inherited from CSCCathodeLCTProcessor | |
void | clear () |
CSCCathodeLCTProcessor (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, CSCBaseboard::Parameters &conf) | |
std::vector< CSCShowerDigi > | getAllShower () const |
CSCCLCTDigi | getBestCLCT (int bx) const |
std::vector< CSCCLCTDigi > | getCLCTs () const |
bool | getLocalShowerFlag (int bx) const |
CSCCLCTDigi | getSecondCLCT (int bx) const |
std::vector< int > | preTriggerBXs () const |
std::vector< CSCCLCTPreTriggerDigi > | preTriggerDigis () const |
std::vector< CSCCLCTDigi > | readoutCLCTs () const |
std::vector< CSCShowerDigi > | readoutShower () const |
std::vector< CSCCLCTDigi > | run (const CSCComparatorDigiCollection *compdc, const CSCChamber *chamber, const CSCL1TPLookupTableCCLUT *lookupTable) |
void | run (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER], const CSCL1TPLookupTableCCLUT *lookupTable) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
~CSCCathodeLCTProcessor () override=default | |
Public Member Functions inherited from CSCBaseboard | |
CSCBaseboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, Parameters &conf) | |
CSCBaseboard () | |
std::string | getCSCName () const |
CSCDetId | id () const |
virtual | ~CSCBaseboard ()=default |
Private Member Functions | |
std::vector< CSCCLCTDigi > | findLCTs (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER], const CSCL1TPLookupTableCCLUT *lookupTable) override |
void | markBusyZone (const int bx) |
void | markPreTriggerZone (bool pretrig_zone[CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) const |
bool | preTrigger (const int start_bx, int &first_bx) override |
Private Attributes | |
bool | busyMap_ [CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER][CSCConstants::MAX_CLCT_TBINS] |
unsigned int | clct_state_machine_zone_ |
unsigned int | pretrig_trig_zone_ |
bool | use_dead_time_zoning_ |
This class simulates the functionality of the cathode LCT card. It is run by the MotherBoard and returns up to two CathodeLCTs. It can be run either in a test mode, where it is passed arrays of halfstrip times, or in normal mode where it determines the time and comparator information from the comparator digis.
Updates for high pileup running by Vadim Khotilovich (TAMU), December 2012
Updates for integrated local trigger with GEMs by Sven Dildick (TAMU) and Tao Huang (TAMU), April 2015
Removing usage of outdated class CSCTriggerGeometry by Sven Dildick (TAMU)
Definition at line 24 of file CSCUpgradeCathodeLCTProcessor.h.
CSCUpgradeCathodeLCTProcessor::CSCUpgradeCathodeLCTProcessor | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
CSCBaseboard::Parameters & | conf | ||
) |
Normal constructor.
Definition at line 5 of file CSCUpgradeCathodeLCTProcessor.cc.
References clct_state_machine_zone_, CSCBaseboard::Parameters::clctParams(), edm::ParameterSet::getParameter(), pretrig_trig_zone_, CSCBaseboard::runPhase2_, and use_dead_time_zoning_.
|
overrideprivatevirtual |
Reimplemented from CSCCathodeLCTProcessor.
Definition at line 106 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCCathodeLCTProcessor::best_pid, busyMap_, CSCCathodeLCTProcessor::clearPreTriggers(), CSCCathodeLCTProcessor::constructCLCT(), CSCCathodeLCTProcessor::drift_delay, CSCCathodeLCTProcessor::dumpDigis(), CSCCathodeLCTProcessor::fifo_tbins, CSCCathodeLCTProcessor::findLCTs(), CSCCLCTDigi::getKeyStrip(), CSCCLCTDigi::getPattern(), CSCCLCTDigi::getQuality(), CSCCLCTDigi::getRun3Pattern(), mps_fire::i, CSCBaseboard::infoV, CSCCLCTDigi::isValid(), dqmiolumiharvest::j, CSCConstants::KEY_CLCT_LAYER, LogTrace, CSCCathodeLCTProcessor::markBusyKeys(), markPreTriggerZone(), CSCConstants::MAX_CLCT_TBINS, CSCConstants::MAX_CLCTS_PER_PROCESSOR, CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER, CSCCathodeLCTProcessor::nhits, CSCCathodeLCTProcessor::nplanes_hit_pattern, CSCCathodeLCTProcessor::numHalfStrips_, CSCCathodeLCTProcessor::patternFinding(), preTrigger(), CSCCathodeLCTProcessor::pulseExtension(), quality, CSCBaseboard::run3_, CSCBaseboard::runPhase2_, CSCCathodeLCTProcessor::stagger, CSCCathodeLCTProcessor::start_bx_shift, and use_dead_time_zoning_.
|
private |
Definition at line 338 of file CSCUpgradeCathodeLCTProcessor.cc.
References busyMap_, nano_mu_digi_cff::bx, clct_state_machine_zone_, CSCBaseboard::infoV, CSCCathodeLCTProcessor::ispretrig_, CSCConstants::KEY_CLCT_LAYER, LogTrace, CSCCathodeLCTProcessor::numHalfStrips_, and CSCCathodeLCTProcessor::stagger.
Referenced by preTrigger().
|
private |
Definition at line 311 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCBaseboard::infoV, CSCCathodeLCTProcessor::ispretrig_, LogTrace, CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER, and pretrig_trig_zone_.
Referenced by findLCTs().
|
overrideprivatevirtual |
Reimplemented from CSCCathodeLCTProcessor.
Definition at line 29 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCCathodeLCTProcessor::best_pid, busyMap_, CSCCathodeLCTProcessor::clearPreTriggers(), CSCCathodeLCTProcessor::constructPreCLCT(), CSCCathodeLCTProcessor::fifo_tbins, CSCBaseboard::infoV, CSCCathodeLCTProcessor::ispretrig_, CSCConstants::KEY_CLCT_LAYER, LogTrace, markBusyZone(), CSCCathodeLCTProcessor::nhits, CSCCathodeLCTProcessor::nplanes_hit_pretrig, CSCCathodeLCTProcessor::numHalfStrips_, CSCCathodeLCTProcessor::patternFinding(), CSCCathodeLCTProcessor::pid_thresh_pretrig, CSCCathodeLCTProcessor::preTrigger(), CSCBaseboard::runPhase2_, CSCCathodeLCTProcessor::stagger, CSCCathodeLCTProcessor::thePreTriggerDigis, and use_dead_time_zoning_.
Referenced by findLCTs().
|
private |
Definition at line 51 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by findLCTs(), markBusyZone(), and preTrigger().
|
private |
Definition at line 58 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), and markBusyZone().
|
private |
VK: allow triggers only in +-pretrig_trig_zone around pretriggers
Definition at line 61 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), and markPreTriggerZone().
|
private |
VK: use of localized dead-time zones
Definition at line 54 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), findLCTs(), and preTrigger().