#include <CSCUpgradeCathodeLCTProcessor.h>
Public Member Functions | |
CSCUpgradeCathodeLCTProcessor (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCUpgradeCathodeLCTProcessor () | |
Public Member Functions inherited from CSCCathodeLCTProcessor | |
void | clear () |
CSCCathodeLCTProcessor (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCCathodeLCTProcessor () | |
std::vector< CSCCLCTDigi > | getCLCTs () const |
std::vector< int > | preTriggerBXs () const |
std::vector< CSCCLCTPreTriggerDigi > | preTriggerDigis () const |
std::vector< CSCCLCTPreTriggerDigi > | preTriggerDigisME1a () const |
std::vector< CSCCLCTPreTriggerDigi > | preTriggerDigisME1b () const |
std::vector< CSCCLCTDigi > | readoutCLCTs () const |
std::vector< CSCCLCTDigi > | readoutCLCTsME1a () const |
std::vector< CSCCLCTDigi > | readoutCLCTsME1b () const |
std::vector< CSCCLCTDigi > | run (const CSCComparatorDigiCollection *compdc) |
void | run (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
Public Member Functions inherited from CSCBaseboard | |
CSCBaseboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCBaseboard () | |
std::string | getCSCName () const |
void | setCSCGeometry (const CSCGeometry *g) |
virtual | ~CSCBaseboard ()=default |
Private Member Functions | |
std::vector< CSCCLCTDigi > | findLCTs (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) override |
bool | preTrigger (const unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int start_bx, int &first_bx) override |
Private Attributes | |
unsigned int | clct_state_machine_zone |
bool | dynamic_state_machine_zone |
unsigned int | pretrig_trig_zone |
bool | use_corrected_bx |
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, | ||
const edm::ParameterSet & | conf | ||
) |
Normal constructor.
Definition at line 6 of file CSCUpgradeCathodeLCTProcessor.cc.
References clct_state_machine_zone, CSCBaseboard::clctParams_, dynamic_state_machine_zone, edm::ParameterSet::getParameter(), CSCBaseboard::isSLHC_, pretrig_trig_zone, use_corrected_bx, and use_dead_time_zoning.
CSCUpgradeCathodeLCTProcessor::CSCUpgradeCathodeLCTProcessor | ( | ) |
Default constructor. Used for testing.
Definition at line 29 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCBaseboard::isSLHC_.
|
overrideprivatevirtual |
busyMap[hstrip][latch_bx] )
busyMap[hstrip][latch_bx] )
Reimplemented from CSCCathodeLCTProcessor.
Definition at line 146 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCCathodeLCTProcessor::best_pid, busyMap, CSCCathodeLCTProcessor::CLCT_BEND, CSCCathodeLCTProcessor::CLCT_BX, CSCCathodeLCTProcessor::CLCT_CFEB, CSCCathodeLCTProcessor::CLCT_NUM_QUANTITIES, CSCCathodeLCTProcessor::CLCT_PATTERN, CSCCathodeLCTProcessor::CLCT_QUALITY, CSCCathodeLCTProcessor::CLCT_STRIP, CSCCathodeLCTProcessor::CLCT_STRIP_TYPE, CSCCathodeLCTProcessor::drift_delay, CSCCathodeLCTProcessor::dumpDigis(), CSCCathodeLCTProcessor::fifo_tbins, CSCCathodeLCTProcessor::findLCTs(), CSCCathodeLCTProcessor::first_bx_corrected, mps_fire::i, CSCBaseboard::infoV, CSCCathodeLCTProcessor::ispretrig, CSCBaseboard::isSLHC_, CSCConstants::KEY_CLCT_LAYER, LogTrace, CSCCathodeLCTProcessor::markBusyKeys(), CSCConstants::MAX_CLCT_TBINS, CSCConstants::MAX_CLCTS_PER_PROCESSOR, CSCConstants::MAX_HALFSTRIPS_IN_PATTERN, CSCCathodeLCTProcessor::nhits, CSCCathodeLCTProcessor::nplanes_hit_pattern, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_HALF_STRIPS_PER_CFEB, CSCConstants::NUM_LAYERS, CSCCathodeLCTProcessor::numStrips, CSCCathodeLCTProcessor::pattern2007, CSCCathodeLCTProcessor::patternFinding(), pretrig_trig_zone, preTrigger(), pulse(), CSCCathodeLCTProcessor::pulseExtension(), jets_cff::quality, CSCCLCTDigi::setFullBX(), CSCCathodeLCTProcessor::stagger, CSCCathodeLCTProcessor::start_bx_shift, use_corrected_bx, and use_dead_time_zoning.
|
overrideprivatevirtual |
Reimplemented from CSCCathodeLCTProcessor.
Definition at line 42 of file CSCUpgradeCathodeLCTProcessor.cc.
References CSCCathodeLCTProcessor::best_pid, busyMap, clct_state_machine_zone, CSCCathodeLCTProcessor::fifo_tbins, CSCBaseboard::infoV, CSCCathodeLCTProcessor::ispretrig, CSCBaseboard::isSLHC_, CSCConstants::KEY_CLCT_LAYER, LogTrace, CSCConstants::MAX_HALFSTRIPS_IN_PATTERN, CSCCathodeLCTProcessor::nhits, CSCCathodeLCTProcessor::nplanes_hit_pretrig, CSCConstants::NUM_HALF_STRIPS_PER_CFEB, CSCCathodeLCTProcessor::numStrips, CSCCathodeLCTProcessor::pattern2007, CSCCathodeLCTProcessor::patternFinding(), CSCCathodeLCTProcessor::pid_thresh_pretrig, CSCCathodeLCTProcessor::preTrigger(), pulse(), CSCCathodeLCTProcessor::stagger, CSCCathodeLCTProcessor::thePreTriggerDigis, and use_dead_time_zoning.
Referenced by findLCTs().
|
protected |
Definition at line 37 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by findLCTs(), and preTrigger().
|
private |
Definition at line 43 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), and preTrigger().
|
private |
Definition at line 44 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor().
|
private |
VK: allow triggers only in +-pretrig_trig_zone around pretriggers
Definition at line 47 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), and findLCTs().
|
private |
VK: whether to use corrected_bx instead of pretrigger BX
Definition at line 50 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), and findLCTs().
|
private |
VK: use of localized dead-time zones
Definition at line 42 of file CSCUpgradeCathodeLCTProcessor.h.
Referenced by CSCUpgradeCathodeLCTProcessor(), findLCTs(), and preTrigger().