#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 37 of file CSCCathodeLCTProcessor.h.
anonymous enum |
Maximum number of time bins.
Enumerator | |
---|---|
MAX_CLCT_BINS |
Definition at line 70 of file CSCCathodeLCTProcessor.h.
anonymous enum |
Pre-defined patterns.
Enumerator | |
---|---|
NUM_PATTERN_STRIPS |
Definition at line 97 of file CSCCathodeLCTProcessor.h.
anonymous enum |
anonymous enum |
Maximum number of cathode front-end boards (move to CSCConstants?).
Enumerator | |
---|---|
MAX_CFEBS |
Definition at line 106 of file CSCCathodeLCTProcessor.h.
Enumerator | |
---|---|
CLCT_PATTERN | |
CLCT_BEND | |
CLCT_STRIP | |
CLCT_BX | |
CLCT_STRIP_TYPE | |
CLCT_QUALITY | |
CLCT_CFEB |
Definition at line 110 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, edm::ParameterSet::existsAs(), fifo_pretrig, fifo_tbins, gangedME1a, edm::ParameterSet::getParameter(), 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 354 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 442 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 535 of file CSCCathodeLCTProcessor.cc.
References bestCLCT, CSCCLCTDigi::clear(), MAX_CLCT_BINS, secondCLCT, and thePreTriggerBXs.
|
static |
Definition at line 1077 of file CSCCathodeLCTProcessor.cc.
References LogDebug, and CSCConstants::MAX_NUM_STRIPS.
Referenced by readComparatorDigis(), and testDistripStagger().
|
private |
Dump CLCT configuration parameters.
Definition at line 2766 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 2796 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 1160 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 1455 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 2064 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(), HLT_FULL_cff::quality, stagger, start_bx_shift, and thePreTriggerBXs.
|
private |
Definition at line 2502 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(), HLT_FULL_cff::quality, CSCCLCTDigi::setFullBX(), stagger, start_bx_shift, and use_corrected_bx.
Referenced by run().
|
private |
Definition at line 3162 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 2917 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 753 of file CSCCathodeLCTProcessor.cc.
References 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 793 of file CSCCathodeLCTProcessor.cc.
References digiV, disableME1a, gangedME1a, relativeConstraints::ring, smartME1aME1b, theRing, and theStation.
|
private |
Definition at line 1322 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, pre_hit_pattern, and HLT_FULL_cff::quality.
Referenced by findLCTs().
|
private |
Definition at line 1910 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 HLT_FULL_cff::quality.
|
private |
Definition at line 1399 of file CSCCathodeLCTProcessor.cc.
References hitIsGood(), CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pattern.
Referenced by getKeyStripData(), and testPatterns().
|
private |
Definition at line 2018 of file CSCCathodeLCTProcessor.cc.
References CSCConstants::NUM_LAYERS, NUM_PATTERN_STRIPS, and pattern.
|
private |
Definition at line 1435 of file CSCCathodeLCTProcessor.cc.
References dt, and hit_persist.
Referenced by getPattern().
|
private |
Definition at line 1674 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 2478 of file CSCCathodeLCTProcessor.cc.
References min_separation, and HLT_FULL_cff::quality.
Referenced by findLCTs(), and findLCTsSLHC().
|
private |
Definition at line 1260 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 1579 of file CSCCathodeLCTProcessor.cc.
References fifo_tbins, infoV, LogTrace, preTrigLookUp(), and pulseExtension().
|
private |
Definition at line 2303 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 84 of file CSCCathodeLCTProcessor.h.
References thePreTriggerBXs.
|
private |
Definition at line 1615 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 3024 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 1739 of file CSCCathodeLCTProcessor.cc.
References cfeb_strips, CLCT_CFEB, CLCT_STRIP, CLCT_STRIP_TYPE, infoV, j, relval_steps::key, LogTrace, MAX_CFEBS, and nplanes_hit_pretrig.
Referenced by findLCTs().
|
private |
Definition at line 2356 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 2255 of file CSCCathodeLCTProcessor.cc.
References hit_persist, i, infoV, CSCConstants::NUM_LAYERS, findQualityFiles::size, and start_bx_shift.
Referenced by findLCTs(), findLCTsSLHC(), and preTrigger().
|
private |
Definition at line 931 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, and testDistripStagger().
Referenced by run().
|
private |
Definition at line 833 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 2836 of file CSCCathodeLCTProcessor.cc.
References early_tbins, getCLCTs(), infoV, LogDebug, MAX_CLCT_BINS, readout_earliest_2, and tmb_l1a_window_size.
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 544 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.
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 676 of file CSCCathodeLCTProcessor.cc.
References bestCLCT, findLCTs(), findLCTsSLHC(), i, infoV, isME11, isMTCC, isSLHC, isTMB07, LogDebug, MAX_CLCT_BINS, secondCLCT, CSCCLCTDigi::setTrknmb(), smartME1aME1b, 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 417 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.
|
private |
Set default values for configuration parameters.
Definition at line 395 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 94 of file CSCCathodeLCTProcessor.h.
References alignCSCRings::r, and theRing.
|
private |
Definition at line 2930 of file CSCCathodeLCTProcessor.cc.
References gather_cfg::cout, debug, distripStagger(), i, and CSCConstants::NUM_DI_STRIPS.
Referenced by readComparatorDigis().
|
private |
Definition at line 2979 of file CSCCathodeLCTProcessor.cc.
References CSCCLCTDigi::getBend(), CSCCLCTDigi::getBX(), CSCCLCTDigi::getCFEB(), CSCCLCTDigi::getKeyStrip(), CSCCLCTDigi::getPattern(), CSCCLCTDigi::getQuality(), CSCCLCTDigi::getStripType(), LogTrace, MAX_CFEBS, and HLT_FULL_cff::quality.
|
private |
Definition at line 3065 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 bookConverter::results.
|
private |
Definition at line 257 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 73 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), getCLCTs(), and run().
|
staticprivate |
Number of di-strips/half-strips per CFEB.
Definition at line 192 of file CSCCathodeLCTProcessor.h.
Referenced by dumpDigis(), findLCTs(), findLCTsSLHC(), latchLCTs(), preTrigLookUp(), and priorityEncode().
|
private |
Definition at line 165 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
staticprivate |
Definition at line 179 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 178 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Default values of configuration parameters.
Definition at line 178 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 182 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 182 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
staticprivate |
Definition at line 183 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 135 of file CSCCathodeLCTProcessor.h.
Referenced by getDigis(), and readComparatorDigis().
|
private |
Definition at line 158 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 149 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), getKeyStripData(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 166 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
private |
VK: separate handle for early time bins
Definition at line 161 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and readoutCLCTs().
|
private |
Definition at line 148 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Configuration parameters.
Definition at line 148 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), preTrigger(), ptnFinding(), readComparatorDigis(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 259 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTsSLHC(), and ptnFinding().
|
private |
Definition at line 158 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 149 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 118 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 130 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().
|
private |
Flag for "real" - not idealized - version of the algorithm.
Definition at line 139 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), run(), and setDefaultConfigParameters().
|
private |
Definition at line 266 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTsSLHC(), and preTrigger().
|
private |
Flag for SLHC studies.
Definition at line 145 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().
|
private |
Flag for 2007 firmware version.
Definition at line 142 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), printPatterns(), readComparatorDigis(), run(), setConfigParameters(), setDefaultConfigParameters(), and testPatterns().
|
private |
Definition at line 151 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), markBusyKeys(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 258 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTs(), findLCTsSLHC(), preTrigger(), and ptnFinding().
|
private |
Definition at line 150 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), findLCTs(), findLCTsSLHC(), getKeyStripData(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 150 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), preTrigger(), preTrigLookUp(), priorityEncode(), ptnFinding(), run(), setConfigParameters(), and setDefaultConfigParameters().
|
private |
Definition at line 132 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), preTrigger(), readComparatorDigis(), and run().
|
static |
Definition at line 99 of file CSCCathodeLCTProcessor.h.
Referenced by getPattern(), dataset.BaseDataset::printFiles(), printPatterns(), and testPatterns().
|
static |
Definition at line 103 of file CSCCathodeLCTProcessor.h.
Referenced by findLCTs(), findLCTsSLHC(), and ptnFinding().
|
static |
Definition at line 102 of file CSCCathodeLCTProcessor.h.
Referenced by ptnFinding().
|
private |
Definition at line 151 of file CSCCathodeLCTProcessor.h.
Referenced by checkConfigParameters(), CSCCathodeLCTProcessor(), dumpConfigParams(), preTrigger(), ptnFinding(), setConfigParameters(), and setDefaultConfigParameters().
|
static |
Definition at line 98 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 169 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 175 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 76 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), getCLCTs(), and run().
|
private |
VK: special configuration parameters for ME1a treatment
Definition at line 158 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 133 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 155 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), findLCTs(), findLCTsSLHC(), and pulseExtension().
|
private |
Definition at line 129 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), and run().
|
private |
Chamber id (trigger-type labels).
Definition at line 121 of file CSCCathodeLCTProcessor.h.
Referenced by dumpDigis(), getDigis(), and run().
|
private |
Definition at line 136 of file CSCCathodeLCTProcessor.h.
Referenced by clear(), findLCTs(), and preTriggerBXs().
|
private |
Definition at line 128 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), run(), and setRing().
|
private |
Definition at line 123 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 122 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), dumpDigis(), getDigis(), and run().
|
private |
Definition at line 124 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 125 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), getDigis(), and run().
|
private |
Definition at line 152 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 172 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and findLCTsSLHC().
|
private |
VK: use of localized dead-time zones
Definition at line 164 of file CSCCathodeLCTProcessor.h.
Referenced by CSCCathodeLCTProcessor(), and run().