#include <CSCGEMMotherboardME21.h>
Public Member Functions | |
CSCGEMMotherboardME21 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCGEMMotherboardME21 () | |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const override |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads) override |
~CSCGEMMotherboardME21 () override | |
Public Member Functions inherited from CSCGEMMotherboard | |
template<class S > | |
S | bestMatchingPad (const CSCALCTDigi &alct1, const matches< S > &pads) const |
template<class S > | |
S | bestMatchingPad (const CSCCLCTDigi &clct, const matches< S > &pads) const |
template<class S > | |
S | bestMatchingPad (const CSCALCTDigi &alct1, const CSCCLCTDigi &clct1, const matches< S > &pads) const |
void | clear () |
CSCGEMMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCGEMMotherboard () | |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiClusterCollection *gemPads) |
void | setGEMGeometry (const GEMGeometry *g) |
set CSC and GEM geometries for the matching needs More... | |
~CSCGEMMotherboard () override | |
Public Member Functions inherited from CSCUpgradeMotherboard | |
void | clear () |
template<class S > | |
bool | compare (const S &p, const S &q) const |
CSCUpgradeMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCUpgradeMotherboard () | |
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 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCMotherboard () | |
std::vector< CSCCorrelatedLCTDigi > | getLCTs () const |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
~CSCMotherboard () override=default | |
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 | |
void | correlateLCTsGEM (const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, const GEMPadDigiIds &pads, const GEMCoPadDigiIds &copads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const |
bool | doesWiregroupCrossStrip (int key_wg, int key_strip) const override |
const CSCGEMMotherboardLUTME21 * | getLUT () const override |
Private Attributes | |
bool | buildLCTfromALCTandGEM_ |
bool | buildLCTfromCLCTandGEM_ |
bool | dropLowQualityALCTsNoGEMs_ |
bool | dropLowQualityCLCTsNoGEMs_ |
std::unique_ptr< CSCGEMMotherboardLUTME21 > | tmbLUT_ |
Extended CSCMotherboard for ME21 TMB upgrade
Based on CSCMotherboard code
Definition at line 16 of file CSCGEMMotherboardME21.h.
CSCGEMMotherboardME21::CSCGEMMotherboardME21 | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf | ||
) |
Normal constructor.
Definition at line 3 of file CSCGEMMotherboardME21.cc.
References CSCBaseboard::isSLHC_, or, CSCBaseboard::runME21ILT_, and tmbLUT_.
CSCGEMMotherboardME21::CSCGEMMotherboardME21 | ( | ) |
Test destructor.
Definition at line 22 of file CSCGEMMotherboardME21.cc.
References CSCBaseboard::isSLHC_, or, and CSCBaseboard::runME21ILT_.
|
override |
|
private |
Definition at line 432 of file CSCGEMMotherboardME21.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), CSCGEMMotherboard::constructLCTsGEM(), GEMCoPadDigi::isValid(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), CSCCorrelatedLCTDigi::isValid(), and or.
Referenced by doesWiregroupCrossStrip(), and run().
|
inlineoverrideprivatevirtual |
Reimplemented from CSCGEMMotherboard.
Definition at line 47 of file CSCGEMMotherboardME21.h.
References correlateLCTsGEM().
|
inlineoverrideprivatevirtual |
Implements CSCGEMMotherboard.
Definition at line 43 of file CSCGEMMotherboardME21.h.
References tmbLUT_.
|
overridevirtual |
Returns vector of correlated LCTs in the read-out time window, if any.
Reimplemented from CSCMotherboard.
Definition at line 422 of file CSCGEMMotherboardME21.cc.
References CSCUpgradeMotherboard::allLCTs, LCTContainer::getMatched(), mps_fire::result, CSCUpgradeMotherboard::sortLCTs(), CSCUpgradeMotherboard::sortLCTsByGEMDphi(), CSCUpgradeMotherboard::sortLCTsByQuality(), and CSCUpgradeMotherboard::tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build(), and run().
|
overridevirtual |
Run function for normal usage. Runs cathode and anode LCT processors, takes results and correlates into CorrelatedLCT.
Implements CSCGEMMotherboard.
Definition at line 30 of file CSCGEMMotherboardME21.cc.
References CSCBaseboard::alctClctOffset_, CSCMotherboard::alctProc, CSCMotherboard::alctV, CSCUpgradeMotherboard::allLCTs, buildLCTfromALCTandGEM_, buildLCTfromCLCTandGEM_, l1GtPatternGenerator_cfi::bx, HltBtagPostValidation_cff::c, CSCMotherboard::clctProc, CSCMotherboard::clctV, LCTContainer::clear(), CSCGEMMotherboard::clear(), CSCGEMMotherboard::coPadProcessor, CSCGEMMotherboard::coPads_, correlateLCTsGEM(), CSCGEMMotherboard::correlateLCTsGEM(), CSCBaseboard::cscGeometry_, CSCBaseboard::cscId_, CSCUpgradeMotherboard::debug_matching, CSCUpgradeMotherboard::debugLUTs(), CSCMotherboard::drop_used_clcts, dropLowQualityALCTsNoGEMs_, dropLowQualityCLCTsNoGEMs_, dqmdumpme::first, CSCGEMMotherboard::gem_g, CSCGEMMotherboard::gemCoPadV, CSCGEMMotherboard::gemGeometryAvailable, CSCGEMMotherboard::gemId, mps_fire::i, CSCBaseboard::infoV, LogDebug, LogTrace, CSCUpgradeMotherboard::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, CSCGEMMotherboard::maxDeltaBXCoPad_, ME21, dqmiodumpmetadata::n, or, AlCaHLTBitMon_ParallelJobs::p, CSCUpgradeMotherboard::pref, CSCGEMMotherboard::printGEMTriggerCoPads(), CSCGEMMotherboard::printGEMTriggerPads(), qcdUeDQM_cfi::quality, readoutLCTs(), CSCGEMMotherboard::retrieveGEMCoPads(), CSCGEMMotherboard::retrieveGEMPads(), CSCGEMMotherboard::setupGeometry(), and CSCUpgradeMotherboard::tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
private |
Definition at line 65 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 66 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 62 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 61 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 44 of file CSCGEMMotherboardME21.h.
Referenced by CSCGEMMotherboardME21(), and getLUT().