#include <CSCCathodeLCTProcessor.h>
Public Types | |
enum | { MAX_CLCT_BINS = 16 } |
enum | { NUM_PATTERN_STRIPS = 26 } |
enum | { NUM_PATTERN_HALFSTRIPS = 42 } |
enum | { MAX_CFEBS = 5 } |
enum | CLCT_INDICES { CLCT_PATTERN, CLCT_BEND, CLCT_STRIP, CLCT_BX, CLCT_STRIP_TYPE, CLCT_QUALITY, CLCT_CFEB } |
Public Member Functions | |
void | clear () |
CSCCathodeLCTProcessor (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf, const edm::ParameterSet &comm, const edm::ParameterSet &ctmb) | |
CSCCathodeLCTProcessor () | |
std::vector< CSCCLCTDigi > | getCLCTs () |
bool | getDigis (const CSCComparatorDigiCollection *compdc) |
void | getDigis (const CSCComparatorDigiCollection *compdc, const CSCDetId &id) |
std::vector< int > | preTriggerBXs () const |
std::vector< CSCCLCTDigi > | readoutCLCTs () |
std::vector< CSCCLCTDigi > | run (const CSCComparatorDigiCollection *compdc) |
void | run (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const std::vector< int > distrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
void | setRing (unsigned r) |
Static Public Member Functions | |
static void | distripStagger (int stag_triad[CSCConstants::MAX_NUM_STRIPS_7CFEBS], int stag_time[CSCConstants::MAX_NUM_STRIPS_7CFEBS], int stag_digi[CSCConstants::MAX_NUM_STRIPS_7CFEBS], int i_distrip, bool debug=false) |
Public Attributes | |
CSCCLCTDigi | bestCLCT [MAX_CLCT_BINS] |
CSCCLCTDigi | secondCLCT [MAX_CLCT_BINS] |
Static Public Attributes | |
static const int | pattern [CSCConstants::NUM_CLCT_PATTERNS_PRE_TMB07][NUM_PATTERN_STRIPS+1] |
static const int | pattern2007 [CSCConstants::NUM_CLCT_PATTERNS][NUM_PATTERN_HALFSTRIPS+2] |
static const int | pattern2007_offset [NUM_PATTERN_HALFSTRIPS] |
static const int | pre_hit_pattern [2][NUM_PATTERN_STRIPS] |
Private Member Functions | |
void | checkConfigParameters () |
void | dumpConfigParams () const |
void | dumpDigis (const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int stripType, const int nStrips) const |
std::vector< CSCCLCTDigi > | findLCTs (const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], int stripType) |
std::vector< CSCCLCTDigi > | findLCTs (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const std::vector< int > distrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
std::vector< CSCCLCTDigi > | findLCTs (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
std::vector< CSCCLCTDigi > | findLCTsSLHC (const std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
int | findNumLayersHit (std::vector< int > stripsHit[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | getKeyStripData (const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], int keystrip_data[CSCConstants::NUM_HALF_STRIPS_7CFEBS][7], int nStrips, int first_bx, int &best_strip, int stripType) |
void | getKeyStripData (const unsigned int h_pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const unsigned int d_pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], int keystrip_data[2][7], const int first_bx) |
void | getPattern (int pattern_num, int strip_value[NUM_PATTERN_STRIPS], int bx_time, int &quality, int &bend) |
void | getPattern (unsigned int pattern_num, const int strip_value[NUM_PATTERN_STRIPS], unsigned int &quality, unsigned int &bend) |
bool | hitIsGood (int hitTime, int BX) |
void | latchLCTs (const unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], int keyStrip[MAX_CFEBS], unsigned int nhits[MAX_CFEBS], const int stripType, const int nStrips, const int bx_time) |
void | markBusyKeys (const int best_hstrip, const int best_patid, int quality[CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
bool | preTrigger (const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int stripType, const int nStrips, int &first_bx) |
bool | preTrigger (const std::vector< int > strip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int stripType, const int nStrips, const int start_bx, int &first_bx) |
bool | preTrigger (const unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int start_bx, int &first_bx) |
bool | preTrigLookUp (const unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int stripType, const int nStrips, const unsigned int bx_time) |
void | printPatterns () |
void | priorityEncode (const int h_keyStrip[MAX_CFEBS], const unsigned int h_nhits[MAX_CFEBS], const int d_keyStrip[MAX_CFEBS], const unsigned int d_nhits[MAX_CFEBS], int keystrip_data[2][7]) |
bool | ptnFinding (const unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int nStrips, const unsigned int bx_time) |
void | pulseExtension (const std::vector< int > time[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const int nStrips, unsigned int pulse[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | readComparatorDigis (std::vector< int >halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], std::vector< int > distrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | readComparatorDigis (std::vector< int > halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | setDefaultConfigParameters () |
void | testDistripStagger () |
void | testLCTs () |
void | testPatterns () |
Static Private Attributes | |
static const int | cfeb_strips [2] = { 8, 32} |
static const unsigned int | def_drift_delay = 2 |
static const unsigned int | def_fifo_pretrig = 7 |
static const unsigned int | def_fifo_tbins = 12 |
static const unsigned int | def_hit_persist = 6 |
static const unsigned int | def_min_separation = 10 |
static const unsigned int | def_nplanes_hit_pattern = 4 |
static const unsigned int | def_nplanes_hit_pretrig = 2 |
static const unsigned int | def_pid_thresh_pretrig = 2 |
static const unsigned int | def_tmb_l1a_window_size = 7 |
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 and distrip times, or in normal mode where it determines the time and comparator information from the comparator digis.
The CathodeLCTs come in distrip and halfstrip flavors; they are sorted (from best to worst) as follows: 6/6H, 5/6H, 6/6D, 4/6H, 5/6D, 4/6D.
Definition at line 36 of file CSCCathodeLCTProcessor.h.
anonymous enum |
Maximum number of time bins.
Enumerator | |
---|---|
MAX_CLCT_BINS |
Definition at line 69 of file CSCCathodeLCTProcessor.h.
anonymous enum |
Pre-defined patterns.
Enumerator | |
---|---|
NUM_PATTERN_STRIPS |
Definition at line 96 of file CSCCathodeLCTProcessor.h.
anonymous enum |
anonymous enum |
Maximum number of cathode front-end boards (move to CSCConstants?).
Enumerator | |
---|---|
MAX_CFEBS |
Definition at line 105 of file CSCCathodeLCTProcessor.h.
Enumerator | |
---|---|
CLCT_PATTERN | |
CLCT_BEND | |
CLCT_STRIP | |
CLCT_BX | |
CLCT_STRIP_TYPE | |
CLCT_QUALITY | |
CLCT_CFEB |
Definition at line 109 of file CSCCathodeLCTProcessor.h.
CSCCathodeLCTProcessor::CSCCathodeLCTProcessor | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf, | ||
const edm::ParameterSet & | comm, | ||
const edm::ParameterSet & | ctmb | ||
) |
Normal constructor.
Definition at line 236 of file CSCCathodeLCTProcessor.cc.
References CSCTriggerNumbering::chamberFromTriggerLabels(), checkConfigParameters(), clct_state_machine_zone, disableME1a, drift_delay, dumpConfigParams(), dynamic_state_machine_zone, early_tbins, fifo_pretrig, fifo_tbins, gangedME1a, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hit_persist, infoV, isME11, isMTCC, isSLHC, isTMB07, min_separation, nplanes_hit_pattern, nplanes_hit_pretrig, CSCConstants::NUM_LAYERS, numStrips, pid_thresh_pretrig, pretrig_trig_zone, readout_earliest_2, CSCTriggerNumbering::ringFromTriggerLabels(), smartME1aME1b, stagger, start_bx_shift, theChamber, theRing, theSector, theStation, theSubsector, theTrigChamber, tmb_l1a_window_size, use_corrected_bx, and use_dead_time_zoning.
CSCCathodeLCTProcessor::CSCCathodeLCTProcessor | ( | ) |
Default constructor. Used for testing.
Definition at line 358 of file CSCCathodeLCTProcessor.cc.
References checkConfigParameters(), clct_state_machine_zone, disableME1a, dumpConfigParams(), early_tbins, gangedME1a, infoV, isME11, isMTCC, isTMB07, CSCConstants::MAX_NUM_STRIPS, CSCConstants::NUM_LAYERS, numStrips, CSCTriggerNumbering::ringFromTriggerLabels(), setDefaultConfigParameters(), smartME1aME1b, stagger, start_bx_shift, theRing, theStation, theTrigChamber, and use_dead_time_zoning.
|
private |
Make sure that the parameter values are within the allowed range.
Definition at line 446 of file CSCCathodeLCTProcessor.cc.
References def_drift_delay, def_fifo_pretrig, def_fifo_tbins, def_hit_persist, def_min_separation, def_nplanes_hit_pattern, def_nplanes_hit_pretrig, def_pid_thresh_pretrig, def_tmb_l1a_window_size, drift_delay, fifo_pretrig, fifo_tbins, hit_persist, infoV, isTMB07, min_separation, nplanes_hit_pattern, nplanes_hit_pretrig, CSCConstants::NUM_HALF_STRIPS_7CFEBS, pid_thresh_pretrig, and tmb_l1a_window_size.
Referenced by CSCCathodeLCTProcessor(), and setConfigParameters().
void CSCCathodeLCTProcessor::clear | ( | void | ) |
Clears the LCT containers.
Definition at line 539 of file CSCCathodeLCTProcessor.cc.
References bestCLCT, CSCCLCTDigi::clear(), MAX_CLCT_BINS, secondCLCT, and thePreTriggerBXs.
Referenced by CSCMotherboardME11::clear(), and CSCMotherboard::clear().
|
static |
Definition at line 1081 of file CSCCathodeLCTProcessor.cc.
References LogDebug, and CSCConstants::MAX_NUM_STRIPS.
Referenced by readComparatorDigis(), and testDistripStagger().
|
private |
Dump CLCT configuration parameters.
Definition at line 2770 of file CSCCathodeLCTProcessor.cc.
References drift_delay, fifo_pretrig, fifo_tbins, hit_persist, isTMB07, LogDebug, min_separation, nplanes_hit_pattern, nplanes_hit_pretrig, and pid_thresh_pretrig.
Referenced by CSCCathodeLCTProcessor(), run(), and setConfigParameters().
|
private |
Dump digis on half-strips and di-strips.
Definition at line 2800 of file CSCCathodeLCTProcessor.cc.
References cfeb_strips, TauDecayModes::dec, relativeConstraints::empty, LogDebug, LogTrace, CSCConstants::NUM_LAYERS, theChamber, theEndcap, theRing, and theStation.
Referenced by findLCTs(), and findLCTsSLHC().
|
private |
Definition at line 1164 of file CSCCathodeLCTProcessor.cc.
References funct::abs(), CLCT_BEND, CLCT_BX, CLCT_CFEB, CLCT_PATTERN, CLCT_QUALITY, CLCT_STRIP, CLCT_STRIP_TYPE, dumpDigis(), getKeyStripData(), infoV, j, LogTrace, nplanes_hit_pattern, CSCConstants::NUM_HALF_STRIPS_7CFEBS, numStrips, and preTrigger().
Referenced by run(), and testPatterns().
|
private |
Definition at line 1459 of file CSCCathodeLCTProcessor.cc.
References CLCT_BEND, CLCT_BX, CLCT_CFEB, CLCT_PATTERN, CLCT_QUALITY, CLCT_STRIP, CLCT_STRIP_TYPE, drift_delay, dumpDigis(), getKeyStripData(), infoV, latchLCTs(), LogTrace, MAX_CFEBS, CSCConstants::NUM_DI_STRIPS, CSCConstants::NUM_HALF_STRIPS, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, numStrips, preTrigger(), and priorityEncode().
|
private |
Definition at line 2068 of file CSCCathodeLCTProcessor.cc.
References best_pid, cfeb_strips, CLCT_BEND, CLCT_BX, CLCT_CFEB, CLCT_PATTERN, CLCT_QUALITY, CLCT_STRIP, CLCT_STRIP_TYPE, drift_delay, dumpDigis(), fifo_tbins, infoV, CSCConstants::KEY_CLCT_LAYER, LogTrace, markBusyKeys(), nhits, nplanes_hit_pattern, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, NUM_PATTERN_HALFSTRIPS, numStrips, pattern2007, preTrigger(), ptnFinding(), pulseExtension(), stagger, start_bx_shift, and thePreTriggerBXs.
|
private |
Definition at line 2506 of file CSCCathodeLCTProcessor.cc.
References best_pid, cfeb_strips, CLCT_BEND, CLCT_BX, CLCT_CFEB, CLCT_PATTERN, CLCT_QUALITY, clct_state_machine_zone, CLCT_STRIP, CLCT_STRIP_TYPE, drift_delay, dumpDigis(), dynamic_state_machine_zone, fifo_tbins, first_bx_corrected, i, infoV, ispretrig, j, CSCConstants::KEY_CLCT_LAYER, LogTrace, markBusyKeys(), MAX_CLCT_BINS, nhits, nplanes_hit_pattern, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, NUM_PATTERN_HALFSTRIPS, numStrips, pattern2007, pretrig_trig_zone, preTrigger(), ptnFinding(), pulseExtension(), CSCCLCTDigi::setFullBX(), stagger, start_bx_shift, and use_corrected_bx.
Referenced by run().
|
private |
Definition at line 3166 of file CSCCathodeLCTProcessor.cc.
References relativeConstraints::empty, CSCConstants::NUM_LAYERS, and contentValuesFiles::number.
Referenced by testPatterns().
std::vector< CSCCLCTDigi > CSCCathodeLCTProcessor::getCLCTs | ( | ) |
Returns vector of all found CLCTs, if any.
Definition at line 2921 of file CSCCathodeLCTProcessor.cc.
References bestCLCT, MAX_CLCT_BINS, and secondCLCT.
Referenced by readoutCLCTs(), and run().
bool CSCCathodeLCTProcessor::getDigis | ( | const CSCComparatorDigiCollection * | compdc | ) |
Access routines to comparator digis.
Definition at line 757 of file CSCCathodeLCTProcessor.cc.
References cond::rpcobgas::detid, digiV, disableME1a, relativeConstraints::empty, infoV, LogTrace, CSCConstants::NUM_LAYERS, smartME1aME1b, theChamber, theEndcap, theRing, theSector, theStation, theSubsector, and theTrigChamber.
Referenced by run().
void CSCCathodeLCTProcessor::getDigis | ( | const CSCComparatorDigiCollection * | compdc, |
const CSCDetId & | id | ||
) |
Definition at line 797 of file CSCCathodeLCTProcessor.cc.
References digiV, disableME1a, gangedME1a, relativeConstraints::ring, smartME1aME1b, theRing, and theStation.
|
private |
Definition at line 1326 of file CSCCathodeLCTProcessor.cc.
References CLCT_BEND, CLCT_BX, CLCT_PATTERN, CLCT_QUALITY, CLCT_STRIP, drift_delay, getPattern(), i, infoV, LogTrace, CSCConstants::NUM_CLCT_PATTERNS_PRE_TMB07, NUM_PATTERN_STRIPS, and pre_hit_pattern.
Referenced by findLCTs().
|
private |
Definition at line 1914 of file CSCCathodeLCTProcessor.cc.
References CLCT_BEND, CLCT_BX, CLCT_PATTERN, CLCT_QUALITY, CLCT_STRIP, CLCT_STRIP_TYPE, drift_delay, getPattern(), infoV, LogTrace, nplanes_hit_pattern, CSCConstants::NUM_CLCT_PATTERNS_PRE_TMB07, CSCConstants::NUM_DI_STRIPS, CSCConstants::NUM_HALF_STRIPS, NUM_PATTERN_STRIPS, pre_hit_pattern, and TrackValidation_HighPurity_cff::valid.
|
private |
Definition at line 1403 of file CSCCathodeLCTProcessor.cc.
References hitIsGood(), CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pattern.
Referenced by getKeyStripData(), and testPatterns().
|
private |
Definition at line 2022 of file CSCCathodeLCTProcessor.cc.
References CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pattern.
|
private |
Definition at line 1439 of file CSCCathodeLCTProcessor.cc.
References dt, and hit_persist.
Referenced by getPattern().
|
private |
Definition at line 1678 of file CSCCathodeLCTProcessor.cc.
References cfeb_strips, infoV, LogTrace, MAX_CFEBS, CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pre_hit_pattern.
Referenced by findLCTs().
|
private |
Definition at line 2482 of file CSCCathodeLCTProcessor.cc.
References min_separation.
Referenced by findLCTs(), and findLCTsSLHC().
|
private |
Definition at line 1264 of file CSCCathodeLCTProcessor.cc.
References fifo_tbins, nplanes_hit_pretrig, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, pre_hit_pattern, and pulseExtension().
Referenced by findLCTs(), and findLCTsSLHC().
|
private |
Definition at line 1583 of file CSCCathodeLCTProcessor.cc.
References fifo_tbins, infoV, LogTrace, preTrigLookUp(), and pulseExtension().
|
private |
Definition at line 2307 of file CSCCathodeLCTProcessor.cc.
References best_pid, fifo_tbins, infoV, ispretrig, CSCConstants::KEY_CLCT_LAYER, LogTrace, nhits, nplanes_hit_pretrig, numStrips, pid_thresh_pretrig, ptnFinding(), and stagger.
|
inline |
Definition at line 83 of file CSCCathodeLCTProcessor.h.
References thePreTriggerBXs.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
private |
Definition at line 1619 of file CSCCathodeLCTProcessor.cc.
References cfeb_strips, infoV, LogTrace, MAX_CFEBS, nplanes_hit_pretrig, CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pre_hit_pattern.
Referenced by preTrigger().
|
private |
Definition at line 3028 of file CSCCathodeLCTProcessor.cc.
References gather_cfg::cout, isTMB07, CSCConstants::KEY_CLCT_LAYER, CSCConstants::KEY_CLCT_LAYER_PRE_TMB07, CSCConstants::NUM_CLCT_PATTERNS_PRE_TMB07, CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pattern.
|
private |
Definition at line 1743 of file CSCCathodeLCTProcessor.cc.
References cfeb_strips, CLCT_CFEB, CLCT_STRIP, CLCT_STRIP_TYPE, infoV, j, combine::key, LogTrace, MAX_CFEBS, and nplanes_hit_pretrig.
Referenced by findLCTs().
|
private |
Definition at line 2360 of file CSCCathodeLCTProcessor.cc.
References best_pid, fifo_tbins, first_bx_corrected, hit_persist, infoV, CSCConstants::KEY_CLCT_LAYER, LogTrace, nhits, nplanes_hit_pretrig, CSCConstants::NUM_CLCT_PATTERNS, CSCConstants::NUM_LAYERS, NUM_PATTERN_HALFSTRIPS, pattern2007, pattern2007_offset, sysUtil::pid, pid_thresh_pretrig, and stagger.
Referenced by findLCTs(), findLCTsSLHC(), and preTrigger().
|
private |
Definition at line 2259 of file CSCCathodeLCTProcessor.cc.
References hit_persist, i, infoV, CSCConstants::NUM_LAYERS, findQualityFiles::size, start_bx_shift, and cond::rpcobgas::time.
Referenced by findLCTs(), findLCTsSLHC(), and preTrigger().
|
private |
Definition at line 935 of file CSCCathodeLCTProcessor.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, digiV, distripStagger(), fifo_tbins, CSCComparatorDigi::getComparator(), CSCComparatorDigi::getStrip(), CSCComparatorDigi::getTimeBin(), i, infoV, isTMB07, j, LogTrace, CSCConstants::MAX_NUM_STRIPS, CSCConstants::MAX_NUM_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, numStrips, stagger, testDistripStagger(), and cond::rpcobgas::time.
Referenced by run().
|
private |
Definition at line 837 of file CSCCathodeLCTProcessor.cc.
References begin, digiV, fifo_tbins, hit_persist, i, infoV, LogTrace, CSCConstants::NUM_LAYERS, numStrips, and stagger.
std::vector< CSCCLCTDigi > CSCCathodeLCTProcessor::readoutCLCTs | ( | ) |
Returns vector of CLCTs in the read-out time window, if any.
Definition at line 2840 of file CSCCathodeLCTProcessor.cc.
References early_tbins, getCLCTs(), infoV, LogDebug, MAX_CLCT_BINS, readout_earliest_2, and tmb_l1a_window_size.
Referenced by CSCTriggerPrimitivesBuilder::build().
std::vector< CSCCLCTDigi > CSCCathodeLCTProcessor::run | ( | const CSCComparatorDigiCollection * | compdc | ) |
Runs the LCT processor code. Called in normal running – gets info from a collection of comparator digis.
Definition at line 548 of file CSCCathodeLCTProcessor.cc.
References CSCTriggerGeomManager::chamber(), disableME1a, dumpConfigParams(), relativeConstraints::empty, gangedME1a, CSCLayer::geometry(), CSCTriggerGeometry::get(), getCLCTs(), getDigis(), infoV, isME11, isSLHC, isTMB07, CSCChamber::layer(), CSCConstants::MAX_NUM_STRIPS_7CFEBS, nplanes_hit_pretrig, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, CSCLayerGeometry::numberOfStrips(), numStrips, readComparatorDigis(), smartME1aME1b, CSCLayerGeometry::stagger(), stagger, theChamber, theEndcap, theRing, theSector, theStation, theSubsector, and theTrigChamber.
Referenced by CSCMotherboardME11::run(), and CSCMotherboard::run().
void CSCCathodeLCTProcessor::run | ( | const std::vector< int > | halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], |
const std::vector< int > | distrip[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS] | ||
) |
Called in test mode and by the run(compdc) function; does the actual LCT finding.
Definition at line 680 of file CSCCathodeLCTProcessor.cc.
References bestCLCT, findLCTs(), findLCTsSLHC(), i, infoV, isME11, isMTCC, isSLHC, isTMB07, LogDebug, MAX_CLCT_BINS, secondCLCT, CSCCLCTDigi::setTrknmb(), smartME1aME1b, python.multivaluedict::sort(), theChamber, theEndcap, theRing, theSector, theStation, theSubsector, theTrigChamber, and use_dead_time_zoning.
void CSCCathodeLCTProcessor::setConfigParameters | ( | const CSCDBL1TPParameters * | conf | ) |
Sets configuration parameters obtained via EventSetup mechanism.
Definition at line 421 of file CSCCathodeLCTProcessor.cc.
References checkConfigParameters(), CSCDBL1TPParameters::clctDriftDelay(), CSCDBL1TPParameters::clctFifoPretrig(), CSCDBL1TPParameters::clctFifoTbins(), CSCDBL1TPParameters::clctHitPersist(), CSCDBL1TPParameters::clctMinSeparation(), CSCDBL1TPParameters::clctNplanesHitPattern(), CSCDBL1TPParameters::clctNplanesHitPretrig(), CSCDBL1TPParameters::clctPidThreshPretrig(), drift_delay, dumpConfigParams(), fifo_pretrig, fifo_tbins, hit_persist, isTMB07, min_separation, nplanes_hit_pattern, nplanes_hit_pretrig, and pid_thresh_pretrig.
Referenced by CSCMotherboardME11::setConfigParameters(), and CSCMotherboard::setConfigParameters().
|
private |
Set default values for configuration parameters.
Definition at line 399 of file CSCCathodeLCTProcessor.cc.
References def_drift_delay, def_fifo_pretrig, def_fifo_tbins, def_hit_persist, def_min_separation, def_nplanes_hit_pattern, def_nplanes_hit_pretrig, def_pid_thresh_pretrig, def_tmb_l1a_window_size, drift_delay, fifo_pretrig, fifo_tbins, hit_persist, isMTCC, isTMB07, min_separation, nplanes_hit_pattern, nplanes_hit_pretrig, pid_thresh_pretrig, and tmb_l1a_window_size.
Referenced by CSCCathodeLCTProcessor().
|
inline |
Set ring number Has to be done for upgrade ME1a!
Definition at line 93 of file CSCCathodeLCTProcessor.h.
References alignCSCRings::r, and theRing.
Referenced by CSCMotherboardME11::CSCMotherboardME11().
|
private |
Definition at line 2934 of file CSCCathodeLCTProcessor.cc.
References gather_cfg::cout, debug, distripStagger(), i, and CSCConstants::NUM_DI_STRIPS.
Referenced by readComparatorDigis().
|
private |
Definition at line 2983 of file CSCCathodeLCTProcessor.cc.
References CSCCLCTDigi::getBend(), CSCCLCTDigi::getBX(), CSCCLCTDigi::getCFEB(), CSCCLCTDigi::getKeyStrip(), CSCCLCTDigi::getPattern(), CSCCLCTDigi::getQuality(), CSCCLCTDigi::getStripType(), LogTrace, and MAX_CFEBS.
|
private |
Definition at line 3069 of file CSCCathodeLCTProcessor.cc.
References gather_cfg::cout, relativeConstraints::empty, findLCTs(), findNumLayersHit(), getPattern(), isTMB07, CSCConstants::KEY_CLCT_LAYER, CSCConstants::KEY_CLCT_LAYER_PRE_TMB07, CSCConstants::NUM_HALF_STRIPS_7CFEBS, CSCConstants::NUM_LAYERS, convertSQLitetoXML_cfg::output, pattern, and python.entryComment::results.
|
private |
Definition at line 256 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTs(), findLCTsSLHC(), preTrigger(), and ptnFinding().
CSCCLCTDigi CSCCathodeLCTProcessor::bestCLCT[MAX_CLCT_BINS] |
Best LCT in this chamber, as found by the processor.
Definition at line 72 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), getCLCTs(), CSCMotherboardME11::run(), CSCMotherboard::run(), and run().
|
staticprivate |
Number of di-strips/half-strips per CFEB.
Definition at line 191 of file CSCCathodeLCTProcessor.h.
Referenced by dumpDigis(), findLCTs(), findLCTsSLHC(), latchLCTs(), preTrigLookUp(), and priorityEncode().
|
private |
Definition at line 164 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
staticprivate |
Definition at line 178 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 177 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Default values of configuration parameters.
Definition at line 177 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 178 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 181 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 180 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 179 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 181 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 182 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 134 of file CSCCathodeLCTProcessor.h.
Referenced by getDigis(), and readComparatorDigis().
|
private |
Definition at line 157 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 148 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), getKeyStripData(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 165 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
private |
VK: separate handle for early time bins
Definition at line 160 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and readoutCLCTs().
|
private |
Definition at line 147 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Configuration parameters.
Definition at line 147 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), preTrigger(), ptnFinding(), readComparatorDigis(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 258 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTsSLHC(), and ptnFinding().
|
private |
Definition at line 157 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 148 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), hitIsGood(), ptnFinding(), pulseExtension(), readComparatorDigis(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Verbosity level: 0: no print (default). 1: print only CLCTs found. 2: info at every step of the algorithm. 3: add special-purpose prints.
Definition at line 117 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), getDigis(), getKeyStripData(), latchLCTs(), preTrigger(), preTrigLookUp(), priorityEncode(), ptnFinding(), pulseExtension(), readComparatorDigis(), readoutCLCTs(), and run().
|
private |
Definition at line 129 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().
|
private |
Flag for "real" - not idealized - version of the algorithm.
Definition at line 138 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), run(), and setDefaultConfigParameters().
|
private |
Definition at line 265 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTsSLHC(), and preTrigger().
|
private |
Flag for SLHC studies.
Definition at line 144 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().
|
private |
Flag for 2007 firmware version.
Definition at line 141 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), printPatterns(), readComparatorDigis(), run(), setConfigParameters(), setDefaultConfigParameters(), and testPatterns().
|
private |
Definition at line 150 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), markBusyKeys(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 257 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTs(), findLCTsSLHC(), preTrigger(), and ptnFinding().
|
private |
Definition at line 149 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), getKeyStripData(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 149 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), preTrigger(), preTrigLookUp(), priorityEncode(), ptnFinding(), run(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 131 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), preTrigger(), readComparatorDigis(), and run().
|
static |
Definition at line 98 of file CSCCathodeLCTProcessor.h.
Referenced by getPattern(), printPatterns(), and testPatterns().
|
static |
Definition at line 102 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTs(), findLCTsSLHC(), and ptnFinding().
|
static |
Definition at line 101 of file CSCCathodeLCTProcessor.h.
Referenced by ptnFinding().
|
private |
Definition at line 150 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), preTrigger(), ptnFinding(), setConfigParameters(), and setDefaultConfigParameters().
|
static |
Definition at line 97 of file CSCCathodeLCTProcessor.h.
Referenced by getKeyStripData(), latchLCTs(), preTrigger(), and preTrigLookUp().
|
private |
VK: allow triggers only in +-pretrig_trig_zone around pretriggers
Definition at line 168 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
private |
VK: whether to readout only the earliest two LCTs in readout window
Definition at line 174 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and readoutCLCTs().
CSCCLCTDigi CSCCathodeLCTProcessor::secondCLCT[MAX_CLCT_BINS] |
Second best LCT in this chamber, as found by the processor.
Definition at line 75 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), getCLCTs(), CSCMotherboardME11::run(), CSCMotherboard::run(), and run().
|
private |
VK: special configuration parameters for ME1a treatment
Definition at line 157 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 132 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), preTrigger(), ptnFinding(), readComparatorDigis(), and run().
|
private |
VK: some quick and dirty fix to reduce CLCT deadtime
Definition at line 154 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), and pulseExtension().
|
private |
Definition at line 128 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), and run().
|
private |
Chamber id (trigger-type labels).
Definition at line 120 of file CSCCathodeLCTProcessor.h.
Referenced by dumpDigis(), getDigis(), and run().
|
private |
Definition at line 135 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), findLCTs(), and preTriggerBXs().
|
private |
Definition at line 127 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), run(), and setRing().
|
private |
Definition at line 122 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 121 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), and run().
|
private |
Definition at line 123 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 124 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 151 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), readoutCLCTs(), and setDefaultConfigParameters().
|
private |
VK: whether to use corrected_bx instead of pretrigger BX
Definition at line 171 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
private |
VK: use of localized dead-time zones
Definition at line 163 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().