#include <CSCMotherboardME11.h>
Public Member Functions | |
void | clear () |
CSCMotherboardME11 (unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, const edm::ParameterSet &conf) | |
CSCMotherboardME11 () | |
std::vector< CSCALCTDigi > | getALCTs1b () |
std::vector< CSCCLCTDigi > | getCLCTs1a () |
std::vector< CSCCLCTDigi > | getCLCTs1b () |
std::vector< CSCCorrelatedLCTDigi > | getLCTs1a () |
std::vector< CSCCorrelatedLCTDigi > | getLCTs1b () |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs (int me1ab) |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1a () |
std::vector< CSCCorrelatedLCTDigi > | readoutLCTs1b () |
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 () |
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) |
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 (CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT, CSCCorrelatedLCTDigi &lct1, CSCCorrelatedLCTDigi &lct2, int me) |
bool | doesALCTCrossCLCT (CSCALCTDigi &a, CSCCLCTDigi &c, int me) |
Private Attributes | |
std::vector< CSCALCTDigi > | alctV |
CSCCorrelatedLCTDigi | allLCTs1a [MAX_LCT_BINS][15][2] |
CSCCorrelatedLCTDigi | allLCTs1b [MAX_LCT_BINS][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 [MAX_LCT_BINS] |
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] |
Additional Inherited Members | |
Protected Types inherited from CSCMotherboard | |
enum | { MAX_LCT_BINS = 16 } |
Protected Member Functions inherited from CSCMotherboard | |
void | checkConfigParameters () |
CSCCorrelatedLCTDigi | constructLCTs (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT, int) |
void | correlateLCTs (CSCALCTDigi bestALCT, CSCALCTDigi secondALCT, CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT) |
void | dumpConfigParams () const |
unsigned int | encodePattern (const int ptn, const int highPt) |
unsigned int | findQuality (const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) |
void | testLCT () |
Static Protected Member Functions inherited from CSCMotherboard | |
static bool | sortByGEMDphi (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
static bool | sortByQuality (const CSCCorrelatedLCTDigi &, const CSCCorrelatedLCTDigi &) |
Protected Attributes inherited from CSCMotherboard | |
unsigned int | alct_trig_enable |
unsigned int | clct_trig_enable |
bool | drop_used_alcts |
int | early_tbins |
CSCCorrelatedLCTDigi | firstLCT [MAX_LCT_BINS] |
int | infoV |
bool | isMTCC |
bool | isSLHC |
bool | isTMB07 |
int | lct_central_bx |
unsigned int | match_trig_enable |
unsigned int | match_trig_window_size |
unsigned int | mpc_block_me1a |
bool | readout_earliest_2 |
CSCCorrelatedLCTDigi | secondLCT [MAX_LCT_BINS] |
const unsigned | theEndcap |
unsigned | theRing |
const unsigned | theSector |
const unsigned | theStation |
const unsigned | theSubsector |
const unsigned | theTrigChamber |
unsigned int | tmb_l1a_window_size |
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 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, and CSCMotherboard::MAX_LCT_BINS.
Referenced by getCLCTs1b(), and run().
|
private |
Definition at line 514 of file CSCMotherboardME11.cc.
References CSCCorrelatedLCTDigi::ALCTCLCT, CSCTriggerNumbering::chamberFromTriggerLabels(), CSCALCTDigi::clear(), CSCCLCTDigi::clear(), CSCMotherboard::constructLCTs(), doesALCTCrossCLCT(), LogTrace, lumiPlot::lut, relativeConstraints::ring, CSCCorrelatedLCTDigi::setTrknmb(), CSCMotherboard::theEndcap, CSCMotherboard::theSector, CSCMotherboard::theStation, CSCMotherboard::theSubsector, and CSCMotherboard::theTrigChamber.
Referenced by run().
|
private |
Definition at line 481 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, 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 | ( | ) |
Returns vectors of found correlated LCTs in ME1a and ME1b, if any.
Definition at line 465 of file CSCMotherboardME11.cc.
References allLCTs1a, disableME1a, mps_fire::i, CSCMotherboard::match_trig_window_size, CSCMotherboard::MAX_LCT_BINS, and CSCMotherboard::mpc_block_me1a.
Referenced by readoutLCTs().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::getLCTs1b | ( | ) |
Definition at line 453 of file CSCMotherboardME11.cc.
References allLCTs1b, mps_fire::i, CSCMotherboard::match_trig_window_size, and CSCMotherboard::MAX_LCT_BINS.
Referenced by readoutLCTs().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::readoutLCTs | ( | int | me1ab | ) |
Definition at line 404 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 | ( | ) |
Definition at line 389 of file CSCMotherboardME11.cc.
References ME1A, and CSCMotherboard::readoutLCTs().
Referenced by CSCTriggerPrimitivesBuilder::build().
std::vector< CSCCorrelatedLCTDigi > CSCMotherboardME11::readoutLCTs1b | ( | ) |
Definition at line 395 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 160 of file CSCMotherboardME11.cc.
References CSCMotherboard::alct, alctV, allLCTs1a, allLCTs1b, b, CSCMotherboard::clct, clct1a, clct_to_alct, clctV1a, clctV1b, CSCCorrelatedLCTDigi::clear(), clear(), correlateLCTs(), 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, CSCAnodeLCTProcessor::MAX_ALCT_BINS, CSCCathodeLCTProcessor::MAX_CLCT_BINS, CSCMotherboard::MAX_LCT_BINS, 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 151 of file CSCMotherboardME11.cc.
References CSCMotherboard::alct, CSCMotherboard::clct, and clct1a.
Referenced by getCLCTs1b().
|
private |
Definition at line 92 of file CSCMotherboardME11.h.
Referenced by getALCTs1b(), and run().
|
private |
Definition at line 86 of file CSCMotherboardME11.h.
Referenced by clear(), getLCTs1a(), and run().
|
private |
Container for first correlated LCT in ME1a. Container for second correlated LCT in ME1a. for the case when more than 2 LCTs/BX are allowed; maximum match window = 15
Definition at line 85 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 104 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 94 of file CSCMotherboardME11.h.
Referenced by getCLCTs1a(), and run().
|
private |
Definition at line 93 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 108 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 99 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
Definition at line 100 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
maximum lcts per BX in ME11: 2, 3, 4 or 999
Definition at line 113 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().
|
private |
"preferential" index array in matching window for cross-BX sorting
Definition at line 97 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 110 of file CSCMotherboardME11.h.
Referenced by CSCMotherboardME11(), and run().