#include <CSCGEMMotherboardME11.h>
Public Member Functions | |
CSCGEMMotherboardME11 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCGEMMotherboardME11 () | |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1a () const |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1b () const |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads) override |
~CSCGEMMotherboardME11 () 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 | doesALCTCrossCLCT (const CSCALCTDigi &a, const CSCCLCTDigi &c) const |
bool | doesWiregroupCrossStrip (int key_wg, int key_hs) const override |
const CSCGEMMotherboardLUTME11 * | getLUT () const override |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTsME11 (enum CSCPart me1ab) const |
void | sortLCTs (std::vector< CSCCorrelatedLCTDigi > &, int bx, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const |
void | sortLCTs (std::vector< CSCCorrelatedLCTDigi > &, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const |
Private Attributes | |
bool | buildLCTfromALCTandGEM_ME1a_ |
bool | buildLCTfromALCTandGEM_ME1b_ |
bool | buildLCTfromCLCTandGEM_ME1a_ |
bool | buildLCTfromCLCTandGEM_ME1b_ |
std::vector< CSCCLCTDigi > | clctV |
std::unique_ptr< CSCMotherboardLUTME11 > | cscTmbLUT_ |
bool | dropLowQualityALCTsNoGEMs_ME1a_ |
bool | dropLowQualityALCTsNoGEMs_ME1b_ |
bool | dropLowQualityCLCTsNoGEMs_ME1a_ |
bool | dropLowQualityCLCTsNoGEMs_ME1b_ |
bool | promoteCLCTGEMquality_ME1a_ |
bool | promoteCLCTGEMquality_ME1b_ |
std::unique_ptr< CSCGEMMotherboardLUTME11 > | tmbLUT_ |
Extended CSCMotherboard for ME11 TMB upgrade
Based on CSCMotherboard code
Definition at line 16 of file CSCGEMMotherboardME11.h.
CSCGEMMotherboardME11::CSCGEMMotherboardME11 | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf | ||
) |
Normal constructor.
Definition at line 3 of file CSCGEMMotherboardME11.cc.
References cscTmbLUT_, CSCBaseboard::isSLHC_, and tmbLUT_.
CSCGEMMotherboardME11::CSCGEMMotherboardME11 | ( | ) |
Constructor for use during testing.
Definition at line 31 of file CSCGEMMotherboardME11.cc.
References CSCBaseboard::isSLHC_.
|
override |
|
private |
Definition at line 510 of file CSCGEMMotherboardME11.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), CSCGEMMotherboard::constructLCTsGEM(), CSCBaseboard::cscId_, doesALCTCrossCLCT(), GEMCoPadDigi::isValid(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), and LogTrace.
Referenced by run().
|
private |
Definition at line 502 of file CSCGEMMotherboardME11.cc.
References cscTmbLUT_, CSCBaseboard::gangedME1a_, and CSCBaseboard::theEndcap.
Referenced by correlateLCTsGEM().
|
overrideprivatevirtual |
Reimplemented from CSCGEMMotherboard.
Definition at line 506 of file CSCGEMMotherboardME11.cc.
References cscTmbLUT_, CSCBaseboard::gangedME1a_, and CSCBaseboard::theEndcap.
|
inlineoverrideprivatevirtual |
Implements CSCGEMMotherboard.
Definition at line 44 of file CSCGEMMotherboardME11.h.
References tmbLUT_.
std::vector< CSCCorrelatedLCTDigi > CSCGEMMotherboardME11::readoutLCTs1a | ( | ) | const |
Definition at line 404 of file CSCGEMMotherboardME11.cc.
References ME1A, and readoutLCTsME11().
Referenced by CSCTriggerPrimitivesBuilder::build(), and run().
std::vector< CSCCorrelatedLCTDigi > CSCGEMMotherboardME11::readoutLCTs1b | ( | ) | const |
Definition at line 406 of file CSCGEMMotherboardME11.cc.
References ME1B, and readoutLCTsME11().
Referenced by CSCTriggerPrimitivesBuilder::build(), and run().
|
private |
Definition at line 411 of file CSCGEMMotherboardME11.cc.
References CSCUpgradeMotherboard::allLCTs, l1GtPatternGenerator_cfi::bx, CSCMotherboard::early_tbins, LCTContainer::getMatched(), LogTrace, CSCConstants::MAX_HALF_STRIP_ME1B, ME1A, ME1B, or, CSCMotherboard::readout_earliest_2, sortLCTs(), CSCUpgradeMotherboard::sortLCTsByGEMDphi(), CSCUpgradeMotherboard::sortLCTsByQuality(), CSCUpgradeMotherboard::tmb_cross_bx_algo, and CSCMotherboard::tmb_l1a_window_size.
Referenced by readoutLCTs1a(), and readoutLCTs1b().
|
overridevirtual |
Run function for normal usage. Runs cathode and anode LCT processors, takes results and correlates into CorrelatedLCT.
Implements CSCGEMMotherboard.
Definition at line 47 of file CSCGEMMotherboardME11.cc.
References CSCBaseboard::alctClctOffset_, CSCMotherboard::alctProc, CSCMotherboard::alctV, CSCUpgradeMotherboard::allLCTs, b, buildLCTfromALCTandGEM_ME1b_, buildLCTfromCLCTandGEM_ME1b_, CSCMotherboard::clctProc, clctV, CSCGEMMotherboard::clear(), CSCGEMMotherboard::coPadProcessor, CSCGEMMotherboard::coPads_, correlateLCTsGEM(), CSCGEMMotherboard::correlateLCTsGEM(), CSCBaseboard::cscGeometry_, CSCBaseboard::cscId_, CSCUpgradeMotherboard::debug_matching, CSCUpgradeMotherboard::debugLUTs(), CSCMotherboard::drop_used_clcts, dropLowQualityCLCTsNoGEMs_ME1b_, g, CSCGEMMotherboard::gem_g, CSCGEMMotherboard::gemCoPadV, CSCGEMMotherboard::gemGeometryAvailable, CSCGEMMotherboard::gemId, CSCBaseboard::infoV, CSCBaseboard::isSLHC_, LogTrace, CSCUpgradeMotherboard::match_earliest_clct_only, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_ALCT_TBINS, CSCConstants::MAX_CLCT_TBINS, CSCGEMMotherboard::maxDeltaBXCoPad_, ME11, or, AlCaHLTBitMon_ParallelJobs::p, CSCGEMMotherboard::pads_, CSCGEMMotherboard::printGEMTriggerCoPads(), CSCGEMMotherboard::printGEMTriggerPads(), qcdUeDQM_cfi::quality, readoutLCTs1a(), readoutLCTs1b(), CSCGEMMotherboard::retrieveGEMCoPads(), CSCGEMMotherboard::retrieveGEMPads(), CSCGEMMotherboard::setupGeometry(), and CSCUpgradeMotherboard::tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
private |
Methods to sort the LCTs
Definition at line 476 of file CSCGEMMotherboardME11.cc.
References CSCUpgradeMotherboard::allLCTs, LCTContainer::getTimeMatched(), CSCUpgradeMotherboard::max_lcts, and CSCUpgradeMotherboard::sortLCTs().
Referenced by readoutLCTsME11(), and sortLCTs().
|
private |
Definition at line 488 of file CSCGEMMotherboardME11.cc.
References CSCConstants::MAX_LCT_TBINS, AlCaHLTBitMon_ParallelJobs::p, and sortLCTs().
|
private |
Definition at line 85 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 86 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 87 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 88 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 76 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 46 of file CSCGEMMotherboardME11.h.
Referenced by CSCGEMMotherboardME11(), doesALCTCrossCLCT(), and doesWiregroupCrossStrip().
|
private |
Definition at line 81 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 82 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 79 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 80 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 91 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 92 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 45 of file CSCGEMMotherboardME11.h.
Referenced by CSCGEMMotherboardME11(), and getLUT().