#include <CSCMotherboardME11.h>
Public Member Functions | |
void | clear () |
CSCMotherboardME11 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCMotherboardME11 () | |
const std::vector< CSCALCTDigi > & | getALCTs1b () const |
const std::vector< CSCCLCTDigi > & | getCLCTs1a () const |
const std::vector< CSCCLCTDigi > & | getCLCTs1b () const |
std::vector< CSCCorrelatedLCTDigi > | getLCTs1a () const |
std::vector< CSCCorrelatedLCTDigi > | getLCTs1b () const |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs (int me1ab) const |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1a () const |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1b () const |
void | run (const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc) |
void | setConfigParameters (const CSCDBL1TPParameters *conf) |
~CSCMotherboardME11 () 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 CSCMotherboard | |
std::unique_ptr< CSCAnodeLCTProcessor > | alct |
std::unique_ptr< CSCCathodeLCTProcessor > | clct |
Private Types | |
enum | { ME1B = 1, ME1A =4 } |
Private Member Functions | |
void | correlateLCTs (const CSCALCTDigi &bestALCT, const CSCALCTDigi &secondALCT, const CSCCLCTDigi &bestCLCT, const CSCCLCTDigi &secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, int me) const |
bool | doesALCTCrossCLCT (const CSCALCTDigi &a, const CSCCLCTDigi &c, int me) const |
Private Attributes | |
std::vector< CSCALCTDigi > | alctV |
CSCCorrelatedLCTDigi | allLCTs1a [CSCConstants::MAX_LCT_TBINS][15][2] |
CSCCorrelatedLCTDigi | allLCTs1b [CSCConstants::MAX_LCT_TBINS][15][2] |
bool | clct_to_alct |
std::vector< CSCCLCTDigi > | clctV1a |
std::vector< CSCCLCTDigi > | clctV1b |
bool | disableME1a |
bool | drop_used_clcts |
bool | gangedME1a |
bool | match_earliest_alct_me11_only |
bool | match_earliest_clct_me11_only |
unsigned int | max_me11_lcts |
int | pref [CSCConstants::MAX_LCT_TBINS] |
bool | smartME1aME1b |
unsigned int | tmb_cross_bx_algo |
Static Private Attributes | |
static const int | lut_wg_vs_hs_me1a [48][2] |
static const int | lut_wg_vs_hs_me1ag [48][2] |
static const int | lut_wg_vs_hs_me1b [48][2] |
Extended CSCMotherboard for ME11 TMB upgrade to handle ME1b and (primarily unganged) ME1a separately
Based on CSCMotherboard code
Definition at line 19 of file CSCMotherboardME11.h.
|
private |
labels for ME1a and ME1B
Enumerator | |
---|---|
ME1B | |
ME1A |
Definition at line 66 of file CSCMotherboardME11.h.
CSCMotherboardME11::CSCMotherboardME11 | ( | unsigned | endcap, |
unsigned | station, | ||
unsigned | sector, | ||
unsigned | subsector, | ||
unsigned | chamber, | ||
const edm::ParameterSet & | conf | ||
) |
Normal constructor.
Definition at line 62 of file CSCMotherboardME11.cc.
References clct1a, clct_to_alct, disableME1a, drop_used_clcts, gangedME1a, edm::ParameterSet::getParameter(), CSCMotherboard::isSLHC, funct::m, match_earliest_alct_me11_only, match_earliest_clct_me11_only, CSCMotherboard::match_trig_window_size, max_me11_lcts, pref, smartME1aME1b, and tmb_cross_bx_algo.
CSCMotherboardME11::CSCMotherboardME11 | ( | ) |
Constructor for use during testing.
Definition at line 112 of file CSCMotherboardME11.cc.
References clct1a, funct::m, CSCMotherboard::match_trig_window_size, and pref.
|
override |
void CSCMotherboardME11::clear | ( | void | ) |
Clears correlated LCT and passes clear signal on to cathode and anode LCT processors.
Definition at line 133 of file CSCMotherboardME11.cc.
References allLCTs1a, allLCTs1b, clct1a, CSCCorrelatedLCTDigi::clear(), CSCMotherboard::clear(), mps_fire::i, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_LCT_TBINS, and CSCConstants::MAX_LCTS_PER_CSC.
Referenced by getCLCTs1b(), and run().
|
private |
Definition at line 516 of file CSCMotherboardME11.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCTriggerNumbering::chamberFromTriggerLabels(), CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), doesALCTCrossCLCT(), LogTrace, lumiPlot::lut, relativeConstraints::ring, CSCMotherboard::theEndcap, CSCMotherboard::theSector, CSCMotherboard::theStation, CSCMotherboard::theSubsector, and CSCMotherboard::theTrigChamber.
Referenced by run().
|
private |
Definition at line 483 of file CSCMotherboardME11.cc.
References gangedME1a, CSCCLCTDigi::getKeyStrip(), CSCALCTDigi::getKeyWG(), CSCALCTDigi::isValid(), CSCCLCTDigi::isValid(), lut_wg_vs_hs_me1a, lut_wg_vs_hs_me1ag, lut_wg_vs_hs_me1b, CSCConstants::MAX_HALF_STRIP_ME1A_GANGED, CSCConstants::MAX_HALF_STRIP_ME1A_UNGANGED, CSCConstants::MAX_HALF_STRIP_ME1B, ME1A, ME1B, and CSCMotherboard::theEndcap.
Referenced by correlateLCTs().
|
inline |
Returns vectors of found ALCTs in ME1a and ME1b, if any.
Definition at line 43 of file CSCMotherboardME11.h.
References alctV.
|
inline |
Returns vectors of found CLCTs in ME1a and ME1b, if any.
Definition at line 46 of file CSCMotherboardME11.h.
References clctV1a.
|
inline |
Definition at line 47 of file CSCMotherboardME11.h.
References clctV1b, clear(), and setConfigParameters().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::getLCTs1a | ( | ) | const |
Returns vectors of found correlated LCTs in ME1a and ME1b, if any.
Definition at line 467 of file CSCMotherboardME11.cc.
References allLCTs1a, disableME1a, mps_fire::i, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_LCT_TBINS, CSCConstants::MAX_LCTS_PER_CSC, and CSCMotherboard::mpc_block_me1a.
Referenced by readoutLCTs().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::getLCTs1b | ( | ) | const |
Definition at line 455 of file CSCMotherboardME11.cc.
References allLCTs1b, mps_fire::i, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_LCT_TBINS, and CSCConstants::MAX_LCTS_PER_CSC.
Referenced by readoutLCTs().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::readoutLCTs | ( | int | me1ab | ) | const |
Definition at line 406 of file CSCMotherboardME11.cc.
References CSCMotherboard::early_tbins, getLCTs1a(), getLCTs1b(), ME1A, ME1B, CSCMotherboard::readout_earliest_2, and CSCMotherboard::tmb_l1a_window_size.
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::readoutLCTs1a | ( | ) | const |
Definition at line 391 of file CSCMotherboardME11.cc.
References ME1A, and CSCMotherboard::readoutLCTs().
Referenced by CSCTriggerPrimitivesBuilder::build().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::readoutLCTs1b | ( | ) | const |
Definition at line 397 of file CSCMotherboardME11.cc.
References ME1B, and CSCMotherboard::readoutLCTs().
Referenced by CSCTriggerPrimitivesBuilder::build().
void CSCMotherboardME11::run | ( | const CSCWireDigiCollection * | wiredc, |
const CSCComparatorDigiCollection * | compdc | ||
) |
Run function for normal usage. Runs cathode and anode LCT processors, takes results and correlates into CorrelatedLCT.
Definition at line 158 of file CSCMotherboardME11.cc.
References CSCMotherboard::alct, alctV, allLCTs1a, allLCTs1b, b, CSCMotherboard::clct, clct1a, clct_to_alct, clctV1a, clctV1b, CSCCorrelatedLCTDigi::clear(), clear(), correlateLCTs(), CSCMotherboard::csc_g, CSCMotherboard::drop_used_alcts, drop_used_clcts, mps_fire::i, CSCMotherboard::infoV, LogDebug, LogTrace, match_earliest_alct_me11_only, match_earliest_clct_me11_only, CSCMotherboard::match_trig_window_size, CSCConstants::MAX_ALCT_TBINS, CSCConstants::MAX_CLCT_TBINS, CSCConstants::MAX_LCT_TBINS, CSCConstants::MAX_LCTS_PER_CSC, max_me11_lcts, ME1A, ME1B, pref, smartME1aME1b, and tmb_cross_bx_algo.
Referenced by CSCTriggerPrimitivesBuilder::build().
void CSCMotherboardME11::setConfigParameters | ( | const CSCDBL1TPParameters * | conf | ) |
Set configuration parameters obtained via EventSetup mechanism.
Definition at line 149 of file CSCMotherboardME11.cc.
References CSCMotherboard::alct, CSCMotherboard::clct, and clct1a.
Referenced by getCLCTs1b().
|
private |
Definition at line 89 of file CSCMotherboardME11.h.
Referenced by getALCTs1b(), and run().
|
private |
Definition at line 80 of file CSCMotherboardME11.h.
Referenced by clear(), getLCTs1a(), and run().
|
private |
for the case when more than 2 LCTs/BX are allowed; maximum match window = 15
Definition at line 79 of file CSCMotherboardME11.h.
Referenced by clear(), getLCTs1b(), and run().
std::unique_ptr<CSCCathodeLCTProcessor> CSCMotherboardME11::clct1a |
additional Cathode LCT processor for ME1a
Definition at line 57 of file CSCMotherboardME11.h.
Referenced by CSCTriggerPrimitivesBuilder::build(), clear(), CSCMotherboardME11(), run(), and setConfigParameters().
|
private |
if true: use regular CLCT-to-ALCT matching in TMB if false: do ALCT-to-CLCT matching
Definition at line 101 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 91 of file CSCMotherboardME11.h.
Referenced by getCLCTs1a(), and run().
|
private |
Definition at line 90 of file CSCMotherboardME11.h.
Referenced by getCLCTs1b(), and run().
|
private |
Definition at line 73 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and getLCTs1a().
|
private |
whether to not reuse CLCTs that were used by previous matching ALCTs in ALCT-to-CLCT algorithm
Definition at line 105 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 73 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and doesALCTCrossCLCT().
|
staticprivate |
Definition at line 69 of file CSCMotherboardME11.h.
Referenced by doesALCTCrossCLCT().
|
staticprivate |
Definition at line 70 of file CSCMotherboardME11.h.
Referenced by doesALCTCrossCLCT().
|
staticprivate |
Definition at line 68 of file CSCMotherboardME11.h.
Referenced by doesALCTCrossCLCT().
|
private |
Definition at line 96 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 97 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
maximum lcts per BX in ME11: 2, 3, 4 or 999
Definition at line 110 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
"preferential" index array in matching window for cross-BX sorting
Definition at line 94 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
SLHC: special configuration parameters for ME11 treatment.
Definition at line 73 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 107 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().