#include <CSCGEMMotherboardME11.h>
Public Member Functions | |
void | clear () |
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, enum CSCPart) const |
template<class S > | |
S | bestMatchingPad (const CSCCLCTDigi &clct, const matches< S > &pads, enum CSCPart part) const |
template<class S > | |
S | bestMatchingPad (const CSCALCTDigi &alct1, const CSCCLCTDigi &clct1, const matches< S > &pads, enum CSCPart part) 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 | |
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 () |
template<class S > | |
void | intersection (const S &d1, const S &d2, S &result) const |
void | setCSCGeometry (const CSCGeometry *g) |
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 |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const |
void | run (const std::vector< int > w_time[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIRES], const std::vector< int > hs_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS], const std::vector< int > ds_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS_7CFEBS]) |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
void | setCSCGeometry (const CSCGeometry *g) |
virtual | ~CSCMotherboard ()=default |
Public Attributes | |
std::unique_ptr< CSCCathodeLCTProcessor > | clct1a |
Public Attributes inherited from CSCGEMMotherboard | |
std::unique_ptr< GEMCoPadProcessor > | coPadProcessor |
Public Attributes inherited from CSCMotherboard | |
std::unique_ptr< CSCAnodeLCTProcessor > | alct |
std::unique_ptr< CSCCathodeLCTProcessor > | clct |
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, enum CSCPart p) const |
bool | doesALCTCrossCLCT (const CSCALCTDigi &a, const CSCCLCTDigi &c, int me) const |
std::vector< CSCALCTDigi > | getALCTs1b () const |
std::vector< CSCCLCTDigi > | getCLCTs1a () const |
std::vector< CSCCLCTDigi > | getCLCTs1b () const |
const CSCGEMMotherboardLUTME11 * | getLUT () const override |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs (enum CSCPart me1ab) const |
void | sortLCTs (std::vector< CSCCorrelatedLCTDigi > &, int bx, enum CSCPart, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const |
void | sortLCTs (std::vector< CSCCorrelatedLCTDigi > &, enum CSCPart, bool(*sorter)(const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &)) const |
Private Attributes | |
LCTContainer | allLCTs1a |
LCTContainer | allLCTs1b |
bool | buildLCTfromALCTandGEM_ME1a_ |
bool | buildLCTfromALCTandGEM_ME1b_ |
bool | buildLCTfromCLCTandGEM_ME1a_ |
bool | buildLCTfromCLCTandGEM_ME1b_ |
std::vector< CSCCLCTDigi > | clctV1a |
std::vector< CSCCLCTDigi > | clctV1b |
bool | disableME1a |
bool | dropLowQualityALCTsNoGEMs_ME1a_ |
bool | dropLowQualityALCTsNoGEMs_ME1b_ |
bool | dropLowQualityCLCTsNoGEMs_ME1a_ |
bool | dropLowQualityCLCTsNoGEMs_ME1b_ |
bool | gangedME1a |
bool | promoteCLCTGEMquality_ME1a_ |
bool | promoteCLCTGEMquality_ME1b_ |
bool | smartME1aME1b |
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 6 of file CSCGEMMotherboardME11.cc.
References clct1a, CSCUpgradeMotherboard::commonParams_, edm::ParameterSet::getParameter(), smartME1aME1b, tmbLUT_, and CSCUpgradeMotherboard::tmbParams_.
CSCGEMMotherboardME11::CSCGEMMotherboardME11 | ( | ) |
Constructor for use during testing.
Definition at line 40 of file CSCGEMMotherboardME11.cc.
References clct1a.
|
override |
void CSCGEMMotherboardME11::clear | ( | void | ) |
Clears correlated LCT and passes clear signal on to cathode and anode LCT processors.
Definition at line 57 of file CSCGEMMotherboardME11.cc.
References allLCTs1a, allLCTs1b, clct1a, CSCGEMMotherboard::clear(), CSCMotherboard::clear(), mps_fire::i, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_LCT_TBINS, and CSCConstants::MAX_LCTS_PER_CSC.
Referenced by run().
|
private |
Definition at line 766 of file CSCGEMMotherboardME11.cc.
References CSCTriggerNumbering::chamberFromTriggerLabels(), CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCGEMMotherboard::constructLCTsGEM(), doesALCTCrossCLCT(), GEMCoPadDigi::isValid(), CSCCLCTDigi::isValid(), CSCALCTDigi::isValid(), LogTrace, lumiPlot::lut, AlCaHLTBitMon_ParallelJobs::p, relativeConstraints::ring, CSCMotherboard::theEndcap, CSCMotherboard::theSector, CSCMotherboard::theStation, CSCMotherboard::theSubsector, and CSCMotherboard::theTrigChamber.
Referenced by getCLCTs1b(), and run().
|
private |
Definition at line 733 of file CSCGEMMotherboardME11.cc.
References gangedME1a, CSCCLCTDigi::getKeyStrip(), CSCALCTDigi::getKeyWG(), CSCCLCTDigi::isValid(), CSCALCTDigi::isValid(), CSCConstants::MAX_HALF_STRIP_ME1A_GANGED, CSCConstants::MAX_HALF_STRIP_ME1A_UNGANGED, CSCConstants::MAX_HALF_STRIP_ME1B, ME1A, ME1Ag, ME1B, or, CSCMotherboard::theEndcap, and tmbLUT_.
Referenced by correlateLCTsGEM(), and getCLCTs1b().
|
inlineprivate |
Returns vectors of found ALCTs in ME1a and ME1b, if any.
Definition at line 55 of file CSCGEMMotherboardME11.h.
References CSCUpgradeMotherboard::alctV.
|
inlineprivate |
Returns vectors of found CLCTs in ME1a and ME1b, if any.
Definition at line 58 of file CSCGEMMotherboardME11.h.
References clctV1a.
|
inlineprivate |
Definition at line 59 of file CSCGEMMotherboardME11.h.
References a, EnergyCorrector::c, clctV1b, correlateLCTsGEM(), doesALCTCrossCLCT(), AlCaHLTBitMon_ParallelJobs::p, CSCMotherboard::readoutLCTs(), and sortLCTs().
|
inlineoverrideprivatevirtual |
Implements CSCGEMMotherboard.
Definition at line 51 of file CSCGEMMotherboardME11.h.
References tmbLUT_.
|
private |
Definition at line 610 of file CSCGEMMotherboardME11.cc.
References allLCTs1a, allLCTs1b, disableME1a, CSCMotherboard::early_tbins, CSCUpgradeMotherboard::LCTContainer::getMatched(), LogTrace, ME1A, ME1B, CSCMotherboard::mpc_block_me1a, or, CSCMotherboard::readout_earliest_2, sortLCTs(), CSCUpgradeMotherboard::sortLCTsByGEMDphi(), CSCUpgradeMotherboard::sortLCTsByQuality(), CSCUpgradeMotherboard::tmb_cross_bx_algo, and CSCMotherboard::tmb_l1a_window_size.
std::vector< CSCCorrelatedLCTDigi > CSCGEMMotherboardME11::readoutLCTs1a | ( | ) | const |
Definition at line 595 of file CSCGEMMotherboardME11.cc.
References ME1A, and CSCMotherboard::readoutLCTs().
Referenced by CSCTriggerPrimitivesBuilder::build(), and run().
std::vector< CSCCorrelatedLCTDigi > CSCGEMMotherboardME11::readoutLCTs1b | ( | ) | const |
Definition at line 601 of file CSCGEMMotherboardME11.cc.
References ME1B, and CSCMotherboard::readoutLCTs().
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 81 of file CSCGEMMotherboardME11.cc.
References CSCMotherboard::alct, CSCUpgradeMotherboard::alctV, allLCTs1a, allLCTs1b, b, buildLCTfromALCTandGEM_ME1a_, buildLCTfromALCTandGEM_ME1b_, buildLCTfromCLCTandGEM_ME1a_, buildLCTfromCLCTandGEM_ME1b_, CSCGeometry::chamber(), CSCMotherboard::clct, clct1a, clctV1a, clctV1b, clear(), CSCGEMMotherboard::coPadProcessor, CSCGEMMotherboard::coPads_, correlateLCTsGEM(), CSCGEMMotherboard::correlateLCTsGEM(), CSCUpgradeMotherboard::csc_g, CSCUpgradeMotherboard::cscChamber, CSCUpgradeMotherboard::debug_matching, CSCUpgradeMotherboard::debugLUTs(), CSCUpgradeMotherboard::drop_used_clcts, dropLowQualityCLCTsNoGEMs_ME1a_, dropLowQualityCLCTsNoGEMs_ME1b_, CSCGEMMotherboard::gem_g, CSCGEMMotherboard::gemCoPadV, CSCGEMMotherboard::gemGeometryAvailable, CSCGEMMotherboard::gemId, mps_fire::i, CSCChamber::id(), CSCMotherboard::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, CSCUpgradeMotherboard::max_lcts, CSCConstants::MAX_LCTS_PER_CSC, CSCGEMMotherboard::maxDeltaBXCoPad_, ME11, ME1A, ME1B, or, AlCaHLTBitMon_ParallelJobs::p, CSCGEMMotherboard::pads_, CSCUpgradeMotherboard::pref, CSCGEMMotherboard::printGEMTriggerCoPads(), CSCGEMMotherboard::printGEMTriggerPads(), jets_cff::quality, readoutLCTs1a(), readoutLCTs1b(), CSCGEMMotherboard::retrieveGEMCoPads(), CSCGEMMotherboard::retrieveGEMPads(), CSCGEMMotherboard::setupGeometry(), smartME1aME1b, CSCUpgradeMotherboard::theChamber, CSCMotherboard::theEndcap, and CSCUpgradeMotherboard::tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
private |
Methods to sort the LCTs
Definition at line 670 of file CSCGEMMotherboardME11.cc.
References allLCTs1a, allLCTs1b, CSCUpgradeMotherboard::max_lcts, ME1A, and CSCUpgradeMotherboard::sortLCTs().
Referenced by getCLCTs1b(), readoutLCTs(), and sortLCTs().
|
private |
Definition at line 683 of file CSCGEMMotherboardME11.cc.
References spr::find(), CSCConstants::MAX_LCT_TBINS, CSCUpgradeMotherboard::max_lcts, ME1A, ME1B, AlCaHLTBitMon_ParallelJobs::p, sortLCTs(), and CSCUpgradeMotherboard::sortLCTs().
|
private |
Definition at line 87 of file CSCGEMMotherboardME11.h.
Referenced by clear(), readoutLCTs(), run(), and sortLCTs().
|
private |
Definition at line 86 of file CSCGEMMotherboardME11.h.
Referenced by clear(), readoutLCTs(), run(), and sortLCTs().
|
private |
Definition at line 103 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 104 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 105 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 106 of file CSCGEMMotherboardME11.h.
Referenced by run().
std::unique_ptr<CSCCathodeLCTProcessor> CSCGEMMotherboardME11::clct1a |
additional Cathode LCT processor for ME1a
Definition at line 46 of file CSCGEMMotherboardME11.h.
Referenced by CSCTriggerPrimitivesBuilder::build(), clear(), CSCGEMMotherboardME11(), and run().
|
private |
Definition at line 93 of file CSCGEMMotherboardME11.h.
Referenced by getCLCTs1a(), and run().
|
private |
Definition at line 94 of file CSCGEMMotherboardME11.h.
Referenced by getCLCTs1b(), and run().
|
private |
Definition at line 90 of file CSCGEMMotherboardME11.h.
Referenced by readoutLCTs().
|
private |
Definition at line 99 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 100 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 97 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 98 of file CSCGEMMotherboardME11.h.
Referenced by run().
|
private |
Definition at line 90 of file CSCGEMMotherboardME11.h.
Referenced by doesALCTCrossCLCT().
|
private |
Definition at line 109 of file CSCGEMMotherboardME11.h.
|
private |
Definition at line 110 of file CSCGEMMotherboardME11.h.
|
private |
SLHC: special configuration parameters for ME11 treatment.
Definition at line 90 of file CSCGEMMotherboardME11.h.
Referenced by CSCGEMMotherboardME11(), and run().
|
private |
Definition at line 52 of file CSCGEMMotherboardME11.h.
Referenced by CSCGEMMotherboardME11(), doesALCTCrossCLCT(), and getLUT().