![]() |
![]() |
#include <CSCGEMMotherboard.h>
Public Types | |
enum | Default_values { DEFAULT_MATCHING_VALUE = -99 } |
Public Member Functions | |
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 () | |
virtual void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads)=0 |
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 | |
![]() | |
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 | |
![]() | |
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 CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
void | setCSCGeometry (const CSCGeometry *g) |
virtual | ~CSCMotherboard ()=default |
Public Attributes | |
std::unique_ptr< GEMCoPadProcessor > | coPadProcessor |
![]() | |
std::unique_ptr< CSCAnodeLCTProcessor > | alct |
std::unique_ptr< CSCCathodeLCTProcessor > | clct |
Protected Member Functions | |
template<class T > | |
T | bestMatchingPad (const CSCALCTDigi &, const matches< T > &, enum CSCPart) const |
template<class T > | |
T | bestMatchingPad (const CSCCLCTDigi &, const matches< T > &, enum CSCPart) const |
template<class T > | |
T | bestMatchingPad (const CSCALCTDigi &, const CSCCLCTDigi &, const matches< T > &, enum CSCPart) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const GEMCoPadDigi &gem, enum CSCPart, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCCLCTDigi &clct, const GEMCoPadDigi &gem, enum CSCPart, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMCoPadDigi &gem, enum CSCPart p, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMPadDigi &gem, enum CSCPart p, int i) const |
CSCCorrelatedLCTDigi | constructLCTsGEM (const CSCALCTDigi &alct, const CSCCLCTDigi &clct, const GEMPadDigi &gem1, const GEMCoPadDigi &gem2, enum CSCPart p, int i) const |
template<class T > | |
void | correlateLCTsGEM (T &best, T &second, const GEMCoPadDigiIds &coPads, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, enum CSCPart) const |
template<class T > | |
void | correlateLCTsGEM (const T &best, const T &second, const GEMCoPadDigi &, const GEMCoPadDigi &, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, enum CSCPart) const |
unsigned int | findQualityGEM (const CSCALCTDigi &, const CSCCLCTDigi &, int gemlayer) const |
int | getBX (const GEMPadDigi &p) const |
int | getBX (const GEMCoPadDigi &p) const |
virtual const CSCGEMMotherboardLUT * | getLUT () const =0 |
float | getPad (const GEMPadDigi &) const |
float | getPad (const GEMCoPadDigi &) const |
float | getPad (const CSCCLCTDigi &, enum CSCPart part) const |
int | getRoll (const GEMPadDigiId &p) const |
int | getRoll (const GEMCoPadDigiId &p) const |
int | getRoll (const CSCALCTDigi &) const |
bool | isGEMDetId (unsigned int) const |
bool | isPadInOverlap (int roll) const |
template<class T > | |
void | matchingPads (const CSCALCTDigi &alct, enum CSCPart part, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &alct, enum CSCPart part, matches< T > &) const |
template<class S , class T > | |
void | matchingPads (const S &d1, const S &d2, enum CSCPart part, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &clct1, const CSCALCTDigi &alct1, enum CSCPart part, matches< T > &) const |
template<class T > | |
void | matchingPads (const CSCCLCTDigi &clct1, const CSCCLCTDigi &clct2, const CSCALCTDigi &alct1, const CSCALCTDigi &alct2, enum CSCPart part, matches< T > &) 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 () |
![]() | |
void | checkConfigParameters () |
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 |
unsigned int | encodePattern (const int ptn, const int highPt) const |
unsigned int | findQuality (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const |
CSCALCTDigi | getBXShiftedALCT (const CSCALCTDigi &) const |
void | testLCT () |
Private Member Functions | |
template<class T > | |
int | getLctTrigEnable () const |
template<> | |
int | getLctTrigEnable () const |
template<> | |
int | getLctTrigEnable () const |
template<class T > | |
int | getMaxDeltaBX () const |
template<> | |
int | getMaxDeltaBX () const |
template<> | |
int | getMaxDeltaBX () const |
template<class T > | |
const matchesBX< T > & | getPads () const |
template<> | |
const matchesBX< GEMPadDigi > & | getPads () const |
template<> | |
const matchesBX< GEMCoPadDigi > & | getPads () const |
Base class for TMBs for the GEM-CSC integrated local trigger. Inherits from CSCUpgradeMotherboard. Provides common functionality to match ALCT/CLCT to GEM pads or copads. Matching functions are templated so they work both for GEMPadDigi and GEMCoPadDigi
Definition at line 29 of file CSCGEMMotherboard.h.
CSCGEMMotherboard::CSCGEMMotherboard | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf | ||
) |
Definition at line 4 of file CSCGEMMotherboard.cc.
References coPadProcessor, gemId, edm::ParameterSet::getParameter(), maxDeltaPadL1_, maxDeltaPadL2_, CSCUpgradeMotherboard::par, DetId::rawId(), CSCUpgradeMotherboard::theChamber, CSCUpgradeMotherboard::theRegion, CSCMotherboard::theStation, and CSCUpgradeMotherboard::tmbParams_.
CSCGEMMotherboard::CSCGEMMotherboard | ( | ) |
Definition at line 30 of file CSCGEMMotherboard.cc.
|
override |
Definition at line 34 of file CSCGEMMotherboard.cc.
|
protected |
Referenced by setGEMGeometry().
|
protected |
|
protected |
S CSCGEMMotherboard::bestMatchingPad | ( | const CSCALCTDigi & | alct1, |
const matches< S > & | pads, | ||
enum | CSCPart | ||
) | const |
Definition at line 395 of file CSCGEMMotherboard.h.
References getRoll(), isGEMDetId(), CSCALCTDigi::isValid(), AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.
S CSCGEMMotherboard::bestMatchingPad | ( | const CSCCLCTDigi & | clct, |
const matches< S > & | pads, | ||
enum CSCPart | part | ||
) | const |
Definition at line 418 of file CSCGEMMotherboard.h.
References funct::abs(), getPad(), isGEMDetId(), CSCCLCTDigi::isValid(), AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.
S CSCGEMMotherboard::bestMatchingPad | ( | const CSCALCTDigi & | alct1, |
const CSCCLCTDigi & | clct1, | ||
const matches< S > & | pads, | ||
enum CSCPart | part | ||
) | const |
Definition at line 445 of file CSCGEMMotherboard.h.
References funct::abs(), getPad(), getRoll(), isGEMDetId(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), or, AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.
void CSCGEMMotherboard::clear | ( | void | ) |
Definition at line 38 of file CSCGEMMotherboard.cc.
References coPads_, and pads_.
Referenced by CSCGEMMotherboardME11::clear(), and CSCGEMMotherboardME21::clear().
|
protected |
Definition at line 84 of file CSCGEMMotherboard.cc.
Referenced by constructLCTsGEM(), CSCGEMMotherboardME21::correlateLCTsGEM(), CSCGEMMotherboardME11::correlateLCTsGEM(), correlateLCTsGEM(), and setGEMGeometry().
|
protected |
Definition at line 93 of file CSCGEMMotherboard.cc.
References constructLCTsGEM().
|
protected |
Definition at line 101 of file CSCGEMMotherboard.cc.
References constructLCTsGEM().
|
protected |
Definition at line 111 of file CSCGEMMotherboard.cc.
References constructLCTsGEM().
|
protected |
Definition at line 120 of file CSCGEMMotherboard.cc.
References CSCCorrelatedLCTDigi::ALCT2GEM, CSCCorrelatedLCTDigi::ALCTCLCT2GEM, CSCCorrelatedLCTDigi::ALCTCLCTGEM, GEMCoPadDigi::bx(), CSCCorrelatedLCTDigi::CLCT2GEM, CSCMotherboard::encodePattern(), findQualityGEM(), GEMCoPadDigi::first(), CSCGEMMotherboardLUT::get_gem_pad_to_csc_hs(), CSCGEMMotherboardLUT::get_gem_roll_to_csc_wg(), CSCCLCTDigi::getBend(), CSCALCTDigi::getBX(), CSCMotherboard::getBXShiftedALCT(), CSCCLCTDigi::getKeyStrip(), CSCALCTDigi::getKeyWG(), getLUT(), CSCCLCTDigi::getPattern(), CSCCLCTDigi::getStripType(), GEMPadDigi::isValid(), GEMCoPadDigi::isValid(), CSCCLCTDigi::isValid(), CSCALCTDigi::isValid(), CSCConstants::LCT_CENTRAL_BX, LogTrace, GEMCoPadDigi::pad(), CSCUpgradeMotherboard::par, listBenchmarks::pattern, promoteALCTGEMpattern_, promoteALCTGEMquality_, promoteCLCTGEMquality_, jets_cff::quality, GEMCoPadDigi::roll(), GEMCoPadDigi::second(), CSCCorrelatedLCTDigi::setALCT(), CSCCorrelatedLCTDigi::setBend(), CSCCorrelatedLCTDigi::setBX(), CSCCorrelatedLCTDigi::setBX0(), CSCCorrelatedLCTDigi::setCLCT(), CSCCorrelatedLCTDigi::setCSCID(), CSCCorrelatedLCTDigi::setGEM1(), CSCCorrelatedLCTDigi::setGEM2(), CSCCorrelatedLCTDigi::setMPCLink(), CSCCorrelatedLCTDigi::setPattern(), CSCCorrelatedLCTDigi::setQuality(), CSCCorrelatedLCTDigi::setStrip(), CSCCorrelatedLCTDigi::setSyncErr(), CSCCorrelatedLCTDigi::setTrknmb(), CSCCorrelatedLCTDigi::setType(), CSCCorrelatedLCTDigi::setValid(), CSCCorrelatedLCTDigi::setWireGroup(), and CSCMotherboard::theTrigChamber.
|
protected |
Definition at line 474 of file CSCGEMMotherboard.h.
References AlCaHLTBitMon_ParallelJobs::p, and CSCMotherboard::secondLCT.
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
|
protected |
Definition at line 499 of file CSCGEMMotherboard.h.
References constructLCTsGEM(), CSCMotherboard::match_trig_enable, and or.
|
protected |
Definition at line 319 of file CSCGEMMotherboard.cc.
References CSCALCTDigi::getAccelerator(), CSCCLCTDigi::getPattern(), CSCCLCTDigi::getQuality(), CSCALCTDigi::getQuality(), CSCMotherboard::infoV, cond::time::INVALID, CSCCLCTDigi::isValid(), CSCALCTDigi::isValid(), or, listBenchmarks::pattern, and CSCMotherboard::theStation.
Referenced by constructLCTsGEM(), and setGEMGeometry().
|
protected |
Definition at line 229 of file CSCGEMMotherboard.cc.
References GEMPadDigi::bx().
Referenced by matchingPads(), and setGEMGeometry().
|
protected |
Definition at line 234 of file CSCGEMMotherboard.cc.
References GEMCoPadDigi::bx().
|
private |
|
private |
|
private |
|
protectedpure virtual |
Implemented in CSCGEMMotherboardME11, and CSCGEMMotherboardME21.
Referenced by constructLCTsGEM(), getPad(), getRoll(), isPadInOverlap(), matchingPads(), and setGEMGeometry().
|
private |
|
private |
|
private |
|
protected |
Definition at line 254 of file CSCGEMMotherboard.cc.
References GEMPadDigi::pad().
Referenced by bestMatchingPad(), matchingPads(), and setGEMGeometry().
|
protected |
|
protected |
Definition at line 265 of file CSCGEMMotherboard.cc.
References CSCGEMMotherboardLUT::get_csc_hs_to_gem_pad(), CSCCLCTDigi::getKeyStrip(), getLUT(), and CSCUpgradeMotherboard::par.
|
private |
|
private |
|
private |
|
protected |
Definition at line 239 of file CSCGEMMotherboard.cc.
References GEMDetId::roll().
Referenced by bestMatchingPad(), matchingPads(), and setGEMGeometry().
|
protected |
Definition at line 244 of file CSCGEMMotherboard.cc.
|
protected |
Definition at line 249 of file CSCGEMMotherboard.cc.
References CSCALCTDigi::getKeyWG(), getLUT(), and CSCUpgradeMotherboard::par.
|
protected |
Definition at line 223 of file CSCGEMMotherboard.cc.
References MuonSubdetId::GEM, and DetId::Muon.
Referenced by bestMatchingPad(), and setGEMGeometry().
|
protected |
Definition at line 211 of file CSCGEMMotherboard.cc.
References plotBeamSpotDB::first, CSCGEMMotherboardLUT::get_csc_wg_to_gem_roll(), getLUT(), mps_fire::i, or, CSCUpgradeMotherboard::par, and edm::second().
Referenced by matchingPads(), printGEMTriggerCoPads(), printGEMTriggerPads(), and setGEMGeometry().
|
protected |
Definition at line 253 of file CSCGEMMotherboard.h.
References funct::abs(), DEFAULT_MATCHING_VALUE, CSCGEMMotherboardLUT::get_csc_wg_to_gem_roll(), CSCALCTDigi::getBX(), getBX(), CSCALCTDigi::getKeyWG(), getLUT(), getRoll(), isPadInOverlap(), CSCALCTDigi::isValid(), CSCConstants::LCT_CENTRAL_BX, lumiPlot::lut, ME1A, or, AlCaHLTBitMon_ParallelJobs::p, and CSCUpgradeMotherboard::par.
Referenced by setGEMGeometry().
|
protected |
Definition at line 299 of file CSCGEMMotherboard.h.
References funct::abs(), CSCGEMMotherboardLUT::get_csc_hs_to_gem_pad(), getBX(), CSCCLCTDigi::getBX(), CSCCLCTDigi::getKeyStrip(), getLUT(), getPad(), CSCCLCTDigi::isValid(), CSCConstants::LCT_CENTRAL_BX, lumiPlot::lut, maxDeltaPadL1_, or, AlCaHLTBitMon_ParallelJobs::p, and CSCUpgradeMotherboard::par.
|
protected |
|
protected |
Definition at line 354 of file CSCGEMMotherboard.h.
References CSCUpgradeMotherboard::intersection().
|
protected |
Definition at line 372 of file CSCGEMMotherboard.h.
|
protected |
Definition at line 299 of file CSCGEMMotherboard.cc.
References coPads_, isPadInOverlap(), LogTrace, and ME11.
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
|
protected |
Definition at line 277 of file CSCGEMMotherboard.cc.
References isPadInOverlap(), LogTrace, ME11, and pads_.
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
|
protected |
Definition at line 74 of file CSCGEMMotherboard.cc.
References coPads_, gemCoPadV, CSCConstants::LCT_CENTRAL_BX, DetId::rawId(), CSCUpgradeMotherboard::theChamber, CSCUpgradeMotherboard::theRegion, and CSCMotherboard::theStation.
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
|
protected |
Definition at line 55 of file CSCGEMMotherboard.cc.
References gem_g, CSCConstants::LCT_CENTRAL_BX, maxDeltaBXPad_, pads_, and GEMGeometry::superChamber().
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
|
pure virtual |
Implemented in CSCGEMMotherboardME11, and CSCGEMMotherboardME21.
Referenced by run().
void CSCGEMMotherboard::run | ( | const CSCWireDigiCollection * | wiredc, |
const CSCComparatorDigiCollection * | compdc, | ||
const GEMPadDigiClusterCollection * | gemPads | ||
) |
Definition at line 45 of file CSCGEMMotherboard.cc.
References coPadProcessor, and run().
|
inline |
set CSC and GEM geometries for the matching needs
Definition at line 62 of file CSCGEMMotherboard.h.
References CSCMotherboard::alct, bestMatchingPad(), CSCMotherboard::clct, constructLCTsGEM(), correlateLCTsGEM(), findQualityGEM(), g, gem_g, getBX(), getLUT(), getPad(), getRoll(), mps_fire::i, isGEMDetId(), isPadInOverlap(), matchingPads(), AlCaHLTBitMon_ParallelJobs::p, printGEMTriggerCoPads(), printGEMTriggerPads(), retrieveGEMCoPads(), retrieveGEMPads(), edm::second(), and setupGeometry().
Referenced by CSCTriggerPrimitivesBuilder::build().
|
protected |
Definition at line 271 of file CSCGEMMotherboard.cc.
References gem_g, CSCUpgradeMotherboard::generator_, and CSCUpgradeMotherboard::setupGeometry().
Referenced by CSCGEMMotherboardME11::run(), CSCGEMMotherboardME21::run(), and setGEMGeometry().
std::unique_ptr<GEMCoPadProcessor> CSCGEMMotherboard::coPadProcessor |
additional processor for GEMs
Definition at line 59 of file CSCGEMMotherboard.h.
Referenced by CSCTriggerPrimitivesBuilder::build(), CSCGEMMotherboard(), CSCGEMMotherboardME21::run(), CSCGEMMotherboardME11::run(), and run().
|
protected |
Definition at line 219 of file CSCGEMMotherboard.h.
Referenced by clear(), getPads(), printGEMTriggerCoPads(), retrieveGEMCoPads(), CSCGEMMotherboardME11::run(), and CSCGEMMotherboardME21::run().
|
protected |
Definition at line 237 of file CSCGEMMotherboard.h.
|
protected |
Definition at line 212 of file CSCGEMMotherboard.h.
Referenced by retrieveGEMPads(), CSCGEMMotherboardME21::run(), CSCGEMMotherboardME11::run(), setGEMGeometry(), and setupGeometry().
|
protected |
Definition at line 215 of file CSCGEMMotherboard.h.
Referenced by retrieveGEMCoPads(), CSCGEMMotherboardME21::run(), and CSCGEMMotherboardME11::run().
|
protected |
Definition at line 213 of file CSCGEMMotherboard.h.
Referenced by CSCGEMMotherboardME11::run(), and CSCGEMMotherboardME21::run().
|
protected |
Chamber id (trigger-type labels).
Definition at line 210 of file CSCGEMMotherboard.h.
Referenced by CSCGEMMotherboard(), CSCGEMMotherboardME21::run(), and CSCGEMMotherboardME11::run().
|
protected |
Definition at line 223 of file CSCGEMMotherboard.h.
Referenced by getMaxDeltaBX(), CSCGEMMotherboardME21::run(), and CSCGEMMotherboardME11::run().
|
protected |
Definition at line 222 of file CSCGEMMotherboard.h.
Referenced by getMaxDeltaBX(), and retrieveGEMPads().
|
protected |
Definition at line 224 of file CSCGEMMotherboard.h.
Referenced by CSCGEMMotherboard(), and matchingPads().
|
protected |
Definition at line 225 of file CSCGEMMotherboard.h.
Referenced by CSCGEMMotherboard().
|
protected |
Definition at line 218 of file CSCGEMMotherboard.h.
Referenced by clear(), getPads(), printGEMTriggerPads(), retrieveGEMPads(), CSCGEMMotherboardME11::run(), and CSCGEMMotherboardME21::run().
|
protected |
Definition at line 231 of file CSCGEMMotherboard.h.
Referenced by constructLCTsGEM().
|
protected |
Definition at line 233 of file CSCGEMMotherboard.h.
Referenced by constructLCTsGEM().
|
protected |
Definition at line 234 of file CSCGEMMotherboard.h.
Referenced by constructLCTsGEM().
|
protected |
Definition at line 228 of file CSCGEMMotherboard.h.