#include <CSCGEMMotherboardME21.h>
Public Member Functions | |
void | clear () |
CSCGEMMotherboardME21 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCGEMMotherboardME21 () | |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () const |
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, 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 () |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs () |
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 |
Private Member Functions | |
void | correlateLCTsGEM (CSCALCTDigi &bestALCT, CSCALCTDigi &secondALCT, CSCCLCTDigi &bestCLCT, CSCCLCTDigi &secondCLCT, const GEMPadDigiIds &pads, const GEMCoPadDigiIds &copads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, enum CSCPart p) const |
const CSCGEMMotherboardLUTME21 * | getLUT () const override |
Private Attributes | |
LCTContainer | allLCTs |
bool | buildLCTfromALCTandGEM_ |
bool | buildLCTfromCLCTandGEM_ |
std::vector< CSCCLCTDigi > | clctV |
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 6 of file CSCGEMMotherboardME21.cc.
References tmbLUT_.
CSCGEMMotherboardME21::CSCGEMMotherboardME21 | ( | ) |
Test destructor.
Definition at line 22 of file CSCGEMMotherboardME21.cc.
|
override |
void CSCGEMMotherboardME21::clear | ( | void | ) |
Clears correlated LCT and passes clear signal on to cathode and anode LCT processors.
Definition at line 34 of file CSCGEMMotherboardME21.cc.
References allLCTs, 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 369 of file CSCGEMMotherboardME21.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), CSCGEMMotherboard::constructLCTsGEM(), GEMPadDigi::isValid(), GEMCoPadDigi::isValid(), CSCCorrelatedLCTDigi::isValid(), or, AlCaHLTBitMon_ParallelJobs::p, and CSCCorrelatedLCTDigi::setTrknmb().
Referenced by run().
|
inlineoverrideprivatevirtual |
Implements CSCGEMMotherboard.
Definition at line 47 of file CSCGEMMotherboardME21.h.
References tmbLUT_.
std::vector< CSCCorrelatedLCTDigi > CSCGEMMotherboardME21::readoutLCTs | ( | ) | const |
Definition at line 359 of file CSCGEMMotherboardME21.cc.
References allLCTs, CSCUpgradeMotherboard::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 49 of file CSCGEMMotherboardME21.cc.
References funct::abs(), CSCMotherboard::alct, CSCUpgradeMotherboard::alctV, allLCTs, buildLCTfromALCTandGEM_, buildLCTfromCLCTandGEM_, EnergyCorrector::c, CSCMotherboard::clct, clctV, clear(), CSCGEMMotherboard::coPadProcessor, CSCGEMMotherboard::coPads_, correlateLCTsGEM(), CSCGEMMotherboard::correlateLCTsGEM(), CSCUpgradeMotherboard::csc_g, CSCUpgradeMotherboard::cscChamber, CSCUpgradeMotherboard::debug_matching, CSCUpgradeMotherboard::debugLUTs(), CSCUpgradeMotherboard::drop_used_clcts, dropLowQualityCLCTsNoGEMs_, plotBeamSpotDB::first, CSCGEMMotherboard::gem_g, CSCGEMMotherboard::gemCoPadV, CSCGEMMotherboard::gemGeometryAvailable, CSCGEMMotherboard::gemId, mps_fire::i, CSCChamber::id(), CSCMotherboard::infoV, CSCMotherboard::lct_central_bx, 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, gen::n, or, AlCaHLTBitMon_ParallelJobs::p, CSCGEMMotherboard::pads_, CSCUpgradeMotherboard::pref, CSCGEMMotherboard::printGEMTriggerCoPads(), CSCGEMMotherboard::printGEMTriggerPads(), jets_cff::quality, readoutLCTs(), CSCGEMMotherboard::retrieveGEMCoPads(), CSCGEMMotherboard::retrieveGEMPads(), CSCGEMMotherboard::setupGeometry(), and CSCUpgradeMotherboard::tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
|
private |
for the case when more than 2 LCTs/BX are allowed; maximum match window = 15
Definition at line 60 of file CSCGEMMotherboardME21.h.
Referenced by clear(), readoutLCTs(), and run().
|
private |
Definition at line 70 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 71 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 63 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 67 of file CSCGEMMotherboardME21.h.
|
private |
Definition at line 66 of file CSCGEMMotherboardME21.h.
Referenced by run().
|
private |
Definition at line 48 of file CSCGEMMotherboardME21.h.
Referenced by CSCGEMMotherboardME21(), and getLUT().