#include <CSCUpgradeMotherboard.h>
Public Member Functions | |
void | clear () |
template<class S > | |
bool | compare (const S &p, const S &q) const |
CSCUpgradeMotherboard () | |
CSCUpgradeMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
void | debugLUTs () |
enum CSCPart | getCSCPart (int keystrip) const |
template<class S > | |
void | intersection (const S &d1, const S &d2, S &result) const |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const override |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) override |
void | setupGeometry () |
void | sortLCTs (std::vector< CSCCorrelatedLCTDigi > &lcts, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const |
~CSCUpgradeMotherboard () override | |
Public Member Functions inherited from CSCMotherboard | |
void | clear () |
CSCMotherboard () | |
CSCMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
std::vector< CSCCorrelatedLCTDigi > | getLCTs () const |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
~CSCMotherboard () override=default | |
Public Member Functions inherited from CSCBaseboard | |
CSCBaseboard () | |
CSCBaseboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
std::string | getCSCName () const |
void | setCSCGeometry (const CSCGeometry *g) |
virtual | ~CSCBaseboard ()=default |
Static Public Member Functions | |
static bool | sortLCTsByGEMDphi (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
static bool | sortLCTsByQuality (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
Protected Member Functions | |
void | correlateLCTs (const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const |
void | setPrefIndex () |
Protected Member Functions inherited from CSCMotherboard | |
void | checkConfigParameters () |
void | checkValid (const CSCCorrelatedLCTDigi &lct) const |
CSCCorrelatedLCTDigi | constructLCTs (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT, int type, int trknmb) const |
void | correlateLCTs (const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, int type) |
void | dumpConfigParams () const |
void | encodeHighMultiplicityBits (unsigned alctBits) |
unsigned int | encodePattern (const int clctPattern) const |
unsigned int | findQuality (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const |
CSCALCTDigi | getBXShiftedALCT (const CSCALCTDigi &) const |
CSCCLCTDigi | getBXShiftedCLCT (const CSCCLCTDigi &) const |
Protected Member Functions inherited from CSCBaseboard | |
void | checkConfigParameters (unsigned int &var, const unsigned int var_max, const unsigned int var_def, const std::string &var_str) |
Additional Inherited Members | |
Public Attributes inherited from CSCMotherboard | |
std::unique_ptr< CSCAnodeLCTProcessor > | alctProc |
std::unique_ptr< CSCCathodeLCTProcessor > | clctProc |
Protected Types inherited from CSCMotherboard | |
enum | LCT_Quality { INVALID = 0, NO_CLCT = 1, NO_ALCT = 2, CLCT_LAYER_TRIGGER = 3, LOW_QUALITY = 4, MARGINAL_ANODE_CATHODE = 5, HQ_ANODE_MARGINAL_CATHODE = 6, HQ_CATHODE_MARGINAL_ANODE = 7, HQ_ACCEL_ALCT = 8, HQ_RESERVED_1 = 9, HQ_RESERVED_2 = 10, HQ_PATTERN_2_3 = 11, HQ_PATTERN_4_5 = 12, HQ_PATTERN_6_7 = 13, HQ_PATTERN_8_9 = 14, HQ_PATTERN_10 = 15 } |
Static Protected Attributes inherited from CSCMotherboard | |
static const unsigned int | def_alct_trig_enable = 0 |
static const unsigned int | def_clct_trig_enable = 0 |
static const unsigned int | def_match_trig_enable = 1 |
static const unsigned int | def_match_trig_window_size = 7 |
static const unsigned int | def_mpc_block_me1a = 1 |
static const unsigned int | def_tmb_l1a_window_size = 7 |
Base class for upgrade TMBs (MEX/1) chambers, that either run the upgrade CSC-only TMB algorithm or the CSC-GEM algorithm
Definition at line 35 of file CSCUpgradeMotherboard.h.
CSCUpgradeMotherboard::CSCUpgradeMotherboard | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf | ||
) |
Definition at line 3 of file CSCUpgradeMotherboard.cc.
References CSCMotherboard::alctProc, relativeConstraints::chamber, CSCMotherboard::clct_to_alct, CSCMotherboard::clctProc, debug_luts, debug_matching, CSCMotherboard::drop_used_clcts, CSCBaseboard::enableAlctSLHC_, makeMuonMisalignmentScenario::endcap, Even, generator_, edm::ParameterSet::getParameter(), CSCBaseboard::isSLHC_, match_earliest_alct_only, match_earliest_clct_only, max_lcts, Odd, CSCBaseboard::runME11Up_, CSCBaseboard::runME21Up_, CSCBaseboard::runME31Up_, CSCBaseboard::runME41Up_, setPrefIndex(), relativeConstraints::station, CSCBaseboard::theChamber, theParity, CSCBaseboard::theRing, CSCBaseboard::theStation, tmb_cross_bx_algo, and CSCBaseboard::tmbParams_.
CSCUpgradeMotherboard::CSCUpgradeMotherboard | ( | ) |
Definition at line 51 of file CSCUpgradeMotherboard.cc.
References CSCBaseboard::isSLHC_, CSCBaseboard::runME11Up_, CSCBaseboard::runME21Up_, CSCBaseboard::runME31Up_, CSCBaseboard::runME41Up_, setPrefIndex(), CSCBaseboard::theRing, and CSCBaseboard::theStation.
|
override |
Definition at line 274 of file CSCUpgradeMotherboard.cc.
void CSCUpgradeMotherboard::clear | ( | void | ) |
Definition at line 329 of file CSCUpgradeMotherboard.cc.
References allLCTs, LCTContainer::clear(), and CSCMotherboard::clear().
Referenced by CSCMotherboardME11::clear(), CSCGEMMotherboard::clear(), and run().
Definition at line 122 of file CSCUpgradeMotherboard.h.
References AlCaHLTBitMon_ParallelJobs::p, and data-class-funcs::q.
Referenced by intersection().
|
protected |
Definition at line 220 of file CSCUpgradeMotherboard.cc.
References CSCMotherboard::alct_trig_enable, CSCCorrelatedLCTDigi::ALCTCLCT, CSCMotherboard::clct_trig_enable, CSCMotherboard::constructLCTs(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), CSCMotherboard::match_trig_enable, and or.
Referenced by run().
void CSCUpgradeMotherboard::debugLUTs | ( | ) |
Definition at line 299 of file CSCUpgradeMotherboard.cc.
References debug_luts, generator_, CSCBaseboard::theEndcap, CSCBaseboard::theSector, CSCBaseboard::theStation, CSCBaseboard::theSubsector, and CSCBaseboard::theTrigChamber.
Referenced by CSCGEMMotherboardME11::run(), and CSCGEMMotherboardME21::run().
enum CSCPart CSCUpgradeMotherboard::getCSCPart | ( | int | keystrip | ) | const |
get CSCPart from HS, station, ring number
Definition at line 276 of file CSCUpgradeMotherboard.cc.
References CSCBaseboard::gangedME1a_, CSCConstants::MAX_HALF_STRIP_ME1B, ME11, ME1A, ME1Ag, ME1B, ME21, ME31, ME41, or, CSCBaseboard::theRing, and CSCBaseboard::theStation.
Referenced by CSCGEMMotherboard::bestMatchingPad(), CSCGEMMotherboard::constructLCTsGEM(), and CSCGEMMotherboard::matchingPads().
void CSCUpgradeMotherboard::intersection | ( | const S & | d1, |
const S & | d2, | ||
S & | result | ||
) | const |
Definition at line 127 of file CSCUpgradeMotherboard.h.
References compare(), d1, AlCaHLTBitMon_ParallelJobs::p, data-class-funcs::q, and mps_fire::result.
Referenced by CSCGEMMotherboard::matchingPads().
|
overridevirtual |
Returns vector of correlated LCTs in the read-out time window, if any.
Reimplemented from CSCMotherboard.
Definition at line 260 of file CSCUpgradeMotherboard.cc.
References allLCTs, CSCMotherboard::checkValid(), LCTContainer::getMatched(), mps_fire::result, sortLCTs(), sortLCTsByQuality(), and tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build(), CSCMotherboardME11::readoutLCTs1a(), CSCMotherboardME11::readoutLCTs1b(), and run().
|
overridevirtual |
Run function for normal usage. Runs cathode and anode LCT processors, takes results and correlates into CorrelatedLCT.
Reimplemented from CSCMotherboard.
Definition at line 69 of file CSCUpgradeMotherboard.cc.
References CSCBaseboard::alctClctOffset_, CSCMotherboard::alctProc, CSCMotherboard::alctV, allLCTs, l1GtPatternGenerator_cfi::bx, HltBtagPostValidation_cff::c, CSCMotherboard::clctProc, CSCMotherboard::clctV, LCTContainer::clear(), clear(), correlateLCTs(), CSCBaseboard::cscGeometry_, CSCBaseboard::cscId_, debug_matching, CSCMotherboard::drop_used_clcts, CSCMotherboard::encodeHighMultiplicityBits(), dqmdumpme::first, mps_fire::i, CSCBaseboard::infoV, LogDebug, LogTrace, match_earliest_clct_only, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_ALCT_TBINS, CSCConstants::MAX_CLCT_TBINS, CSCConstants::MAX_LCT_TBINS, CSCConstants::MAX_LCTS_PER_CSC, dqmiodumpmetadata::n, AlCaHLTBitMon_ParallelJobs::p, pref, readoutLCTs(), and tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
protected |
Definition at line 321 of file CSCUpgradeMotherboard.cc.
References visualization-live-secondInstance_cfg::m, CSCMotherboard::match_trig_window_size, and pref.
Referenced by CSCUpgradeMotherboard().
void CSCUpgradeMotherboard::setupGeometry | ( | ) |
Definition at line 319 of file CSCUpgradeMotherboard.cc.
References CSCBaseboard::cscGeometry_, and generator_.
Referenced by CSCGEMMotherboard::setupGeometry().
void CSCUpgradeMotherboard::sortLCTs | ( | std::vector< CSCCorrelatedLCTDigi > & | lcts, |
bool(*)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) | sorter | ||
) | const |
Definition at line 312 of file CSCUpgradeMotherboard.cc.
References max_lcts, and MCScenario_CRAFT1_22X::sorter().
Referenced by CSCGEMMotherboardME21::readoutLCTs(), readoutLCTs(), and CSCGEMMotherboardME11::sortLCTs().
|
static |
Definition at line 308 of file CSCUpgradeMotherboard.cc.
Referenced by CSCGEMMotherboardME21::readoutLCTs(), and CSCGEMMotherboardME11::readoutLCTsME11().
|
static |
Methods to sort the LCTs
Definition at line 304 of file CSCUpgradeMotherboard.cc.
References CSCCorrelatedLCTDigi::getQuality().
Referenced by CSCGEMMotherboardME21::readoutLCTs(), readoutLCTs(), and CSCGEMMotherboardME11::readoutLCTsME11().
|
protected |
for the case when more than 2 LCTs/BX are allowed; maximum match window = 15
Definition at line 98 of file CSCUpgradeMotherboard.h.
Referenced by clear(), CSCMotherboardME11::getLCTs1a(), CSCMotherboardME11::getLCTs1b(), CSCGEMMotherboardME21::readoutLCTs(), readoutLCTs(), CSCGEMMotherboardME11::readoutLCTsME11(), CSCMotherboardME11::run(), CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), run(), and CSCGEMMotherboardME11::sortLCTs().
|
protected |
Definition at line 118 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), and debugLUTs().
|
protected |
Definition at line 115 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), CSCGEMMotherboardME21::run(), CSCGEMMotherboardME11::run(), and run().
|
protected |
Definition at line 100 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), debugLUTs(), setupGeometry(), and CSCGEMMotherboard::setupGeometry().
|
protected |
Definition at line 105 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), and CSCMotherboardME11::run().
|
protected |
Definition at line 106 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), CSCMotherboardME11::run(), CSCGEMMotherboardME21::run(), CSCGEMMotherboardME11::run(), and run().
|
protected |
maximum lcts per BX in MEX1: 2, 3, 4 or 999
Definition at line 112 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), CSCGEMMotherboardME11::sortLCTs(), and sortLCTs().
|
protected |
"preferential" index array in matching window for cross-BX sorting
Definition at line 103 of file CSCUpgradeMotherboard.h.
Referenced by CSCMotherboardME11::run(), CSCGEMMotherboardME21::run(), run(), and setPrefIndex().
|
protected |
Definition at line 92 of file CSCUpgradeMotherboard.h.
Referenced by CSCGEMMotherboard::constructLCTsGEM(), CSCGEMMotherboard::CSCGEMMotherboard(), CSCUpgradeMotherboard(), CSCGEMMotherboard::getPad(), CSCGEMMotherboard::getRolls(), CSCGEMMotherboard::isPadInOverlap(), and CSCGEMMotherboard::matchingPads().
|
protected |
Definition at line 109 of file CSCUpgradeMotherboard.h.
Referenced by CSCUpgradeMotherboard(), CSCGEMMotherboardME21::readoutLCTs(), readoutLCTs(), CSCGEMMotherboardME11::readoutLCTsME11(), CSCMotherboardME11::run(), CSCGEMMotherboardME21::run(), CSCGEMMotherboardME11::run(), and run().