Represents a GCT Wheel Jet FPGA. More...
#include <L1GctWheelJetFpga.h>
Public Types | |
typedef L1GctJetLeafCard::hfTowerSumsType | hfTowerSumsType |
typedef L1GctTwosComplement < L1GctInternHtMiss::kMissHxOrHyNBits > | htComponentType |
typedef std::vector< L1GctJetCand > | JetVector |
Public Member Functions | |
void | fetchInput () override |
get input data from sources More... | |
JetVector | getCentralJets () const |
get the output jets More... | |
JetVector | getForwardJets () const |
get the output jets More... | |
JetVector | getInputJets () const |
get the input jets. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc. More... | |
std::vector< L1GctInternHtMiss > | getInternalHtMiss () const |
get the Et sums in internal component format More... | |
hfTowerSumsType | getOutputHfSums () const |
get the output Hf Sums More... | |
htComponentType | getOutputHx () const |
get the output Ht components More... | |
htComponentType | getOutputHy () const |
JetVector | getTauJets () const |
get the output jets More... | |
hfTowerSumsType | inputHfSums (unsigned leafnum) const |
get the input Hf Sums More... | |
htComponentType | inputHx (unsigned leafnum) const |
get the input Ht components More... | |
htComponentType | inputHy (unsigned leafnum) const |
L1GctWheelJetFpga (int id, const std::vector< L1GctJetLeafCard * > &inputLeafCards) | |
id must be 0 / 1 for -ve/+ve eta halves of CMS More... | |
void | process () override |
process the data, fill output buffers More... | |
void | setInputJet (int i, const L1GctJetCand &jet) |
set input data More... | |
bool | setupOk () const |
Public access to setup check. More... | |
~L1GctWheelJetFpga () override | |
destructor More... | |
Public Member Functions inherited from L1GctProcessor | |
L1GctProcessor () | |
void | reset () |
complete reset of processor More... | |
void | setBxRange (const int firstBx, const int numberOfBx) |
define the bunch crossing range to process More... | |
void | setNextBx (const int bxnum) |
clear input data buffers and process a new bunch crossing More... | |
void | setTerse () |
bool | setupOk () const |
Method to check the setup for this processor. Returns true by default. More... | |
void | setVerbose () |
control output messages More... | |
virtual | ~L1GctProcessor () |
Static Public Attributes | |
static const int | MAX_JETS_OUT = 4 |
Max number of jets of each type we output. More... | |
static const unsigned int | MAX_JETS_PER_LEAF |
Max number of jets input from each leaf card. More... | |
static const unsigned int | MAX_LEAF_CARDS = 3 |
Max number of leaf card pointers. More... | |
Protected Member Functions | |
void | resetPipelines () override |
void | resetProcessor () override |
Separate reset methods for the processor itself and any data stored in pipelines. More... | |
void | setupObjects () override |
Initialise inputs with null objects for the correct bunch crossing if required. More... | |
Protected Member Functions inherited from L1GctProcessor | |
int | bxAbs () const |
int | bxMax () const |
int | bxMin () const |
Support for multiple beam crossing operation. More... | |
int | bxRel () const |
int | numOfBx () const |
Private Member Functions | |
bool | checkSetup () const |
Check the setup, independently of how we have been constructed. More... | |
void | classifyJets () |
Classifies jets into central, forward or tau. More... | |
void | setupJetsVectors (const int16_t bx) |
Initialises all the jet vectors with jets of the correct type. More... | |
void | storeJets (const JetVector &jets, unsigned short iLeaf, unsigned short offset) |
Puts the output from a jetfinder into the correct index range of the m_inputJets array. More... | |
Private Attributes | |
JetVector | m_centralJets |
L1GctJetSorter * | m_centralJetSorter |
Jet sorters. More... | |
JetVector | m_forwardJets |
L1GctJetSorter * | m_forwardJetSorter |
int | m_id |
algo ID More... | |
std::vector< hfTowerSumsType > | m_inputHfSums |
std::vector< htComponentType > | m_inputHx |
std::vector< htComponentType > | m_inputHy |
JetVector | m_inputJets |
input data. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc. More... | |
std::vector< L1GctJetLeafCard * > | m_inputLeafCards |
the jet leaf cards More... | |
hfTowerSumsType | m_outputHfSums |
htComponentType | m_outputHx |
Pipeline< htComponentType > | m_outputHxPipe |
htComponentType | m_outputHy |
Pipeline< htComponentType > | m_outputHyPipe |
JetVector | m_rawCentralJets |
JetVector | m_rawForwardJets |
JetVector | m_rawTauJets |
JetVector | m_tauJets |
L1GctJetSorter * | m_tauJetSorter |
Static Private Attributes | |
static const int | MAX_JETS_IN = L1GctWheelJetFpga::MAX_LEAF_CARDS * L1GctWheelJetFpga::MAX_JETS_PER_LEAF |
Maximum number of jets we can have as input. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctWheelJetFpga &fpga) |
Overload << operator. More... | |
Additional Inherited Members | |
Protected Attributes inherited from L1GctProcessor | |
bool | m_verbose |
Flag to control output messages. More... | |
Represents a GCT Wheel Jet FPGA.
Takes as input the Jet and Ht data from one eta half of CMS (three leaf cards of data) and summarises/reduces this data before passing it onto the L1GctJetFinalStage processing that takes place (physically) on the concentrator card.
Definition at line 29 of file L1GctWheelJetFpga.h.
Definition at line 33 of file L1GctWheelJetFpga.h.
Definition at line 32 of file L1GctWheelJetFpga.h.
typedef std::vector<L1GctJetCand> L1GctWheelJetFpga::JetVector |
Definition at line 31 of file L1GctWheelJetFpga.h.
L1GctWheelJetFpga::L1GctWheelJetFpga | ( | int | id, |
const std::vector< L1GctJetLeafCard * > & | inputLeafCards | ||
) |
id must be 0 / 1 for -ve/+ve eta halves of CMS
Definition at line 16 of file L1GctWheelJetFpga.cc.
References checkSetup(), L1GctProcessor::m_verbose, and setupJetsVectors().
|
override |
destructor
Definition at line 85 of file L1GctWheelJetFpga.cc.
References m_centralJetSorter, m_forwardJetSorter, and m_tauJetSorter.
|
private |
Check the setup, independently of how we have been constructed.
Definition at line 48 of file L1GctWheelJetFpga.cc.
References mps_fire::i, m_id, m_inputLeafCards, L1GctProcessor::m_verbose, MAX_LEAF_CARDS, and mps_fire::result.
Referenced by fetchInput(), L1GctWheelJetFpga(), process(), and setupOk().
|
private |
Classifies jets into central, forward or tau.
Definition at line 242 of file L1GctWheelJetFpga.cc.
References m_id, m_inputJets, m_rawCentralJets, m_rawForwardJets, m_rawTauJets, and L1GctProcessor::m_verbose.
Referenced by process().
|
overridevirtual |
get input data from sources
Implements L1GctProcessor.
Definition at line 159 of file L1GctWheelJetFpga.cc.
References checkSetup(), m_inputHfSums, m_inputHx, m_inputHy, m_inputLeafCards, L1GctJetFinderBase::MAX_JETS_OUT, MAX_LEAF_CARDS, and storeJets().
|
inline |
|
inline |
|
inline |
get the input jets. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc.
Definition at line 63 of file L1GctWheelJetFpga.h.
References m_inputJets.
std::vector< L1GctInternHtMiss > L1GctWheelJetFpga::getInternalHtMiss | ( | ) | const |
get the Et sums in internal component format
Definition at line 223 of file L1GctWheelJetFpga.cc.
References makePileupJSON::bx, L1GctProcessor::bxMin(), L1GctInternHtMiss::emulatorMissHtx(), L1GctInternHtMiss::emulatorMissHty(), m_outputHxPipe, m_outputHyPipe, L1GctProcessor::numOfBx(), and mps_fire::result.
|
inline |
get the output Hf Sums
Definition at line 86 of file L1GctWheelJetFpga.h.
References m_outputHfSums.
Referenced by L1GctGlobalHfSumAlgos::fetchInput().
|
inline |
get the output Ht components
Definition at line 82 of file L1GctWheelJetFpga.h.
References m_outputHx.
Referenced by L1GctGlobalEnergyAlgos::fetchInput().
|
inline |
Definition at line 83 of file L1GctWheelJetFpga.h.
References m_outputHy.
Referenced by L1GctGlobalEnergyAlgos::fetchInput().
|
inline |
|
inline |
get the input Hf Sums
Definition at line 70 of file L1GctWheelJetFpga.h.
References m_inputHfSums.
|
inline |
get the input Ht components
Definition at line 66 of file L1GctWheelJetFpga.h.
References m_inputHx.
|
inline |
Definition at line 67 of file L1GctWheelJetFpga.h.
References m_inputHy.
|
overridevirtual |
process the data, fill output buffers
Implements L1GctProcessor.
Definition at line 180 of file L1GctWheelJetFpga.cc.
References L1GctProcessor::bxRel(), checkSetup(), classifyJets(), L1GctJetSorter::getSortedJets(), m_centralJets, m_centralJetSorter, m_forwardJets, m_forwardJetSorter, m_inputHfSums, m_inputHx, m_inputHy, m_outputHfSums, m_outputHx, m_outputHxPipe, m_outputHy, m_outputHyPipe, m_rawCentralJets, m_rawForwardJets, m_rawTauJets, m_tauJets, m_tauJetSorter, MAX_JETS_OUT, and L1GctJetSorter::setJets().
|
overrideprotectedvirtual |
Implements L1GctProcessor.
Definition at line 154 of file L1GctWheelJetFpga.cc.
References m_outputHxPipe, m_outputHyPipe, and L1GctProcessor::numOfBx().
|
overrideprotectedvirtual |
Separate reset methods for the processor itself and any data stored in pipelines.
Implements L1GctProcessor.
Definition at line 141 of file L1GctWheelJetFpga.cc.
References mps_fire::i, m_inputHfSums, m_inputHx, m_inputHy, m_outputHfSums, m_outputHx, m_outputHy, MAX_LEAF_CARDS, L1GctTwosComplement< nBits >::reset(), and L1GctJetFinderBase::hfTowerSumsType::reset().
void L1GctWheelJetFpga::setInputJet | ( | int | i, |
const L1GctJetCand & | jet | ||
) |
set input data
Definition at line 210 of file L1GctWheelJetFpga.cc.
References metsig::jet, m_id, m_inputJets, L1GctProcessor::m_verbose, and MAX_JETS_IN.
|
private |
Initialises all the jet vectors with jets of the correct type.
Definition at line 275 of file L1GctWheelJetFpga.cc.
References m_centralJets, m_forwardJets, m_rawCentralJets, m_rawForwardJets, m_rawTauJets, m_tauJets, MAX_JETS_IN, and MAX_JETS_OUT.
Referenced by L1GctWheelJetFpga(), and setupObjects().
|
overrideprotectedvirtual |
Initialise inputs with null objects for the correct bunch crossing if required.
Implements L1GctProcessor.
Definition at line 152 of file L1GctWheelJetFpga.cc.
References L1GctProcessor::bxAbs(), and setupJetsVectors().
|
inline |
Public access to setup check.
Definition at line 89 of file L1GctWheelJetFpga.h.
References checkSetup().
|
private |
Puts the output from a jetfinder into the correct index range of the m_inputJets array.
Definition at line 236 of file L1GctWheelJetFpga.cc.
References m_inputJets, L1GctJetFinderBase::MAX_JETS_OUT, and MAX_JETS_PER_LEAF.
Referenced by fetchInput().
|
friend |
Overload << operator.
Definition at line 94 of file L1GctWheelJetFpga.cc.
|
private |
Definition at line 132 of file L1GctWheelJetFpga.h.
Referenced by getCentralJets(), process(), and setupJetsVectors().
|
private |
Jet sorters.
Definition at line 112 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
private |
Definition at line 133 of file L1GctWheelJetFpga.h.
Referenced by getForwardJets(), process(), and setupJetsVectors().
|
private |
Definition at line 113 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
private |
algo ID
Definition at line 106 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), classifyJets(), operator<<(), and setInputJet().
|
private |
Definition at line 129 of file L1GctWheelJetFpga.h.
Referenced by fetchInput(), inputHfSums(), process(), and resetProcessor().
|
private |
Definition at line 125 of file L1GctWheelJetFpga.h.
Referenced by fetchInput(), inputHx(), process(), and resetProcessor().
|
private |
Definition at line 126 of file L1GctWheelJetFpga.h.
Referenced by fetchInput(), inputHy(), process(), and resetProcessor().
|
private |
input data. Jets 0-5 from leaf card 0, jetfinderA. Jets 6-11 from leaf card 0, jetfinder B... etc.
Definition at line 117 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), getInputJets(), setInputJet(), and storeJets().
|
private |
the jet leaf cards
Definition at line 109 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), fetchInput(), and operator<<().
|
private |
Definition at line 139 of file L1GctWheelJetFpga.h.
Referenced by getOutputHfSums(), process(), and resetProcessor().
|
private |
Definition at line 137 of file L1GctWheelJetFpga.h.
Referenced by getOutputHx(), process(), and resetProcessor().
|
private |
Definition at line 141 of file L1GctWheelJetFpga.h.
Referenced by getInternalHtMiss(), process(), and resetPipelines().
|
private |
Definition at line 138 of file L1GctWheelJetFpga.h.
Referenced by getOutputHy(), process(), and resetProcessor().
|
private |
Definition at line 142 of file L1GctWheelJetFpga.h.
Referenced by getInternalHtMiss(), process(), and resetPipelines().
|
private |
Definition at line 120 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 121 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 122 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 134 of file L1GctWheelJetFpga.h.
Referenced by getTauJets(), process(), and setupJetsVectors().
|
private |
Definition at line 114 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
staticprivate |
Maximum number of jets we can have as input.
Definition at line 103 of file L1GctWheelJetFpga.h.
Referenced by setInputJet(), and setupJetsVectors().
|
static |
Max number of jets of each type we output.
Definition at line 36 of file L1GctWheelJetFpga.h.
Referenced by process(), setupJetsVectors(), and L1GctJetFinalStage::storeJets().
|
static |
Max number of jets input from each leaf card.
Definition at line 42 of file L1GctWheelJetFpga.h.
Referenced by storeJets().
|
static |
Max number of leaf card pointers.
Definition at line 39 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), fetchInput(), and resetProcessor().