#include <CSCGEMMotherboardME21.h>
Public Member Functions | |
CSCGEMMotherboardME21 () | |
CSCGEMMotherboardME21 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const override |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiClusterCollection *gemPads) override |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads) override |
~CSCGEMMotherboardME21 () override | |
Public Member Functions inherited from CSCGEMMotherboard | |
void | clear () |
CSCGEMMotherboard () | |
CSCGEMMotherboard (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const override |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) override |
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 () | |
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 |
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_ |
Additional Inherited Members | |
Public Types inherited from CSCGEMMotherboard | |
enum | Default_values { DEFAULT_MATCHING_VALUE = -99 } |
Static Public Member Functions inherited from CSCUpgradeMotherboard | |
static bool | sortLCTsByGEMDphi (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
static bool | sortLCTsByQuality (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
Public Attributes inherited from CSCGEMMotherboard | |
std::unique_ptr< GEMCoPadProcessor > | coPadProcessor |
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 } |
Protected Member Functions inherited from CSCGEMMotherboard | |
template<class T > | |
T | bestMatchingPad (const CSCALCTDigi &, const CSCCLCTDigi &, const matches< T > &) const |
template<class T > | |
T | bestMatchingPad (const CSCALCTDigi &, const matches< T > &) const |
template<class S > | |
S | bestMatchingPad (const CSCALCTDigi &alct1, const CSCCLCTDigi &clct1, const matches< S > &pads) const |
template<class S > | |
S | bestMatchingPad (const CSCALCTDigi &alct1, const matches< S > &pads) const |
template<class T > | |
T | bestMatchingPad (const CSCCLCTDigi &, const matches< T > &) const |
template<class S > | |
S | bestMatchingPad (const CSCCLCTDigi &clct, const matches< S > &pads) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMCoPadDigi &gem, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMPadDigi &gem, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMPadDigi &gem1, const GEMCoPadDigi &gem2, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const GEMCoPadDigi &gem, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCCLCTDigi &clct, const GEMCoPadDigi &gem, int i) const |
template<class T > | |
void | correlateLCTsGEM (const T &best, const T &second, const GEMCoPadDigi &, const GEMCoPadDigi &, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const |
template<class T > | |
void | correlateLCTsGEM (const T &best, const T &second, const GEMCoPadDigiIds &coPads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2) const |
unsigned int | findQualityGEM (const CSCALCTDigi &, const CSCCLCTDigi &, int gemlayer) const |
int | getBX (const GEMCoPadDigi &p) const |
int | getBX (const GEMPadDigi &p) const |
float | getPad (const CSCCLCTDigi &, enum CSCPart par) const |
float | getPad (const GEMCoPadDigi &) const |
float | getPad (const GEMPadDigi &) const |
int | getRoll (const GEMCoPadDigiId &p) const |
int | getRoll (const GEMPadDigiId &p) const |
std::pair< int, int > | getRolls (const CSCALCTDigi &) const |
bool | isGEMDetId (unsigned int) const |
bool | isPadInOverlap (int roll) const |
template<class T > | |
void | matchingPads (const CSCALCTDigi &alct, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &alct, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &clct1, const CSCALCTDigi &alct1, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &clct1, const CSCCLCTDigi &clct2, const CSCALCTDigi &alct1, const CSCALCTDigi &alct2, matches< T > &) const |
template<class S , class T > | |
void | matchingPads (const S &d1, const S &d2, matches< T > &) const |
int | maxPads () const |
int | maxRolls () const |
void | printGEMTriggerCoPads (int bx_start, int bx_stop, enum CSCPart) |
void | printGEMTriggerPads (int bx_start, int bx_stop, enum CSCPart) |
void | retrieveGEMCoPads () |
void | retrieveGEMPads (const GEMPadDigiCollection *pads, unsigned id) |
void | setupGeometry () |
Protected Member Functions inherited from CSCUpgradeMotherboard | |
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) |
Protected Attributes inherited from CSCGEMMotherboard | |
GEMCoPadDigiIdsBX | coPads_ |
bool | doLCTGhostBustingWithGEMs_ |
const GEMGeometry * | gem_g |
std::vector< GEMCoPadDigi > | gemCoPadV |
bool | gemGeometryAvailable |
unsigned | gemId |
int | maxDeltaBXCoPad_ |
int | maxDeltaBXPad_ |
int | maxDeltaPadL1_ |
int | maxDeltaPadL2_ |
GEMPadDigiIdsBX | pads_ |
bool | promoteALCTGEMpattern_ |
bool | promoteALCTGEMquality_ |
bool | promoteCLCTGEMquality_ |
bool | useOldLCTDataFormat_ |
Protected Attributes inherited from CSCUpgradeMotherboard | |
LCTContainer | allLCTs |
bool | debug_luts |
bool | debug_matching |
std::unique_ptr< CSCUpgradeMotherboardLUTGenerator > | generator_ |
bool | match_earliest_alct_only |
bool | match_earliest_clct_only |
unsigned int | max_lcts |
int | pref [CSCConstants::MAX_LCT_TBINS] |
Parity | theParity |
unsigned int | tmb_cross_bx_algo |
Protected Attributes inherited from CSCMotherboard | |
unsigned int | alct_trig_enable |
std::vector< CSCALCTDigi > | alctV |
bool | clct_to_alct |
unsigned int | clct_trig_enable |
std::vector< CSCCLCTDigi > | clctV |
bool | drop_used_alcts |
bool | drop_used_clcts |
int | early_tbins |
CSCCorrelatedLCTDigi | firstLCT [CSCConstants::MAX_LCT_TBINS] |
unsigned int | highMultiplicityBits_ |
unsigned int | match_trig_enable |
unsigned int | match_trig_window_size |
unsigned int | mpc_block_me1a |
bool | readout_earliest_2 |
CSCCorrelatedLCTDigi | secondLCT [CSCConstants::MAX_LCT_TBINS] |
unsigned int | tmb_l1a_window_size |
bool | use_run3_patterns_ |
bool | useHighMultiplicityBits_ |
Protected Attributes inherited from CSCBaseboard | |
unsigned int | alctClctOffset_ |
edm::ParameterSet | alctParams_ |
edm::ParameterSet | clctParams_ |
edm::ParameterSet | commonParams_ |
const CSCChamber * | cscChamber_ |
const CSCGeometry * | cscGeometry_ |
CSCDetId | cscId_ |
bool | disableME1a_ |
bool | enableAlctSLHC_ |
bool | gangedME1a_ |
int | infoV |
bool | isME11_ |
bool | isME21_ |
bool | isSLHC_ |
bool | runME11ILT_ |
bool | runME11Up_ |
bool | runME21ILT_ |
bool | runME21Up_ |
bool | runME31Up_ |
bool | runME41Up_ |
unsigned | theChamber |
std::string | theCSCName_ |
const unsigned | theEndcap |
unsigned | theRegion |
unsigned | theRing |
const unsigned | theSector |
const unsigned | theStation |
const unsigned | theSubsector |
const unsigned | theTrigChamber |
edm::ParameterSet | tmbParams_ |
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 |
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_, CSCBaseboard::runME21ILT_, and tmbLUT_.
CSCGEMMotherboardME21::CSCGEMMotherboardME21 | ( | ) |
Test destructor.
Definition at line 26 of file CSCGEMMotherboardME21.cc.
References CSCBaseboard::isSLHC_, and CSCBaseboard::runME21ILT_.
|
override |
|
private |
Definition at line 457 of file CSCGEMMotherboardME21.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), CSCGEMMotherboard::constructLCTsGEM(), GEMPadDigi::isValid(), GEMCoPadDigi::isValid(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), CSCCorrelatedLCTDigi::isValid(), and or.
Referenced by run().
|
inlineoverrideprivatevirtual |
Reimplemented from CSCGEMMotherboard.
Definition at line 51 of file CSCGEMMotherboardME21.h.
|
inlineoverrideprivatevirtual |
Implements CSCGEMMotherboard.
Definition at line 47 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 441 of file CSCGEMMotherboardME21.cc.
References CSCUpgradeMotherboard::allLCTs, CSCMotherboard::checkValid(), 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 38 of file CSCGEMMotherboardME21.cc.
References CSCGEMMotherboard::coPadProcessor.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
overridevirtual |
Implements CSCGEMMotherboard.
Definition at line 46 of file CSCGEMMotherboardME21.cc.
References CSCBaseboard::alctClctOffset_, CSCMotherboard::alctProc, CSCMotherboard::alctV, CSCUpgradeMotherboard::allLCTs, buildLCTfromALCTandGEM_, buildLCTfromCLCTandGEM_, simKBmtfDigis_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_, CSCMotherboard::encodeHighMultiplicityBits(), 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.
|
private |
Definition at line 69 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 70 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 66 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 65 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 48 of file CSCGEMMotherboardME21.h.
Referenced by CSCGEMMotherboardME21(), and getLUT().