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 | |
virtual void | fetchInput () |
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... | |
virtual void | process () |
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 () | |
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 = L1GctJetLeafCard::MAX_JET_FINDERS * L1GctJetFinderBase::MAX_JETS_OUT |
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 | |
virtual void | resetPipelines () |
virtual void | resetProcessor () |
Separate reset methods for the processor itself and any data stored in pipelines. More... | |
virtual void | setupObjects () |
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 34 of file L1GctWheelJetFpga.h.
typedef L1GctTwosComplement< L1GctInternHtMiss::kMissHxOrHyNBits > L1GctWheelJetFpga::htComponentType |
Definition at line 33 of file L1GctWheelJetFpga.h.
typedef std::vector<L1GctJetCand> L1GctWheelJetFpga::JetVector |
Definition at line 32 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 15 of file L1GctWheelJetFpga.cc.
References checkSetup(), L1GctProcessor::m_verbose, and setupJetsVectors().
L1GctWheelJetFpga::~L1GctWheelJetFpga | ( | ) |
destructor
Definition at line 88 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 47 of file L1GctWheelJetFpga.cc.
References i, m_id, m_inputLeafCards, L1GctProcessor::m_verbose, MAX_LEAF_CARDS, and query::result.
Referenced by fetchInput(), L1GctWheelJetFpga(), process(), and setupOk().
|
private |
Classifies jets into central, forward or tau.
Definition at line 264 of file L1GctWheelJetFpga.cc.
References m_id, m_inputJets, m_rawCentralJets, m_rawForwardJets, m_rawTauJets, and L1GctProcessor::m_verbose.
Referenced by process().
|
virtual |
get input data from sources
Implements L1GctProcessor.
Definition at line 168 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 65 of file L1GctWheelJetFpga.h.
References m_inputJets.
std::vector< L1GctInternHtMiss > L1GctWheelJetFpga::getInternalHtMiss | ( | ) | const |
get the Et sums in internal component format
Definition at line 241 of file L1GctWheelJetFpga.cc.
References L1GctProcessor::bxMin(), L1GctInternHtMiss::emulatorMissHtx(), L1GctInternHtMiss::emulatorMissHty(), m_outputHxPipe, m_outputHyPipe, L1GctProcessor::numOfBx(), and query::result.
|
inline |
get the output Hf Sums
Definition at line 88 of file L1GctWheelJetFpga.h.
References m_outputHfSums.
Referenced by L1GctGlobalHfSumAlgos::fetchInput().
|
inline |
get the output Ht components
Definition at line 84 of file L1GctWheelJetFpga.h.
References m_outputHx.
Referenced by L1GctGlobalEnergyAlgos::fetchInput().
|
inline |
Definition at line 85 of file L1GctWheelJetFpga.h.
References m_outputHy.
Referenced by L1GctGlobalEnergyAlgos::fetchInput().
|
inline |
|
inline |
get the input Hf Sums
Definition at line 72 of file L1GctWheelJetFpga.h.
References m_inputHfSums.
|
inline |
get the input Ht components
Definition at line 68 of file L1GctWheelJetFpga.h.
References m_inputHx.
|
inline |
Definition at line 69 of file L1GctWheelJetFpga.h.
References m_inputHy.
|
virtual |
process the data, fill output buffers
Implements L1GctProcessor.
Definition at line 191 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().
Referenced by ConfigBuilder.ConfigBuilder::addExtraStream(), ConfigBuilder.ConfigBuilder::completeInputCommand(), ConfigBuilder.ConfigBuilder::doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), ConfigBuilder.ConfigBuilder::prepare_FASTSIM(), ConfigBuilder.ConfigBuilder::prepare_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder::scheduleSequence().
|
protectedvirtual |
Implements L1GctProcessor.
Definition at line 162 of file L1GctWheelJetFpga.cc.
References m_outputHxPipe, m_outputHyPipe, and L1GctProcessor::numOfBx().
|
protectedvirtual |
Separate reset methods for the processor itself and any data stored in pipelines.
Implements L1GctProcessor.
Definition at line 144 of file L1GctWheelJetFpga.cc.
References 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 224 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 305 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().
|
protectedvirtual |
Initialise inputs with null objects for the correct bunch crossing if required.
Implements L1GctProcessor.
Definition at line 157 of file L1GctWheelJetFpga.cc.
References L1GctProcessor::bxAbs(), and setupJetsVectors().
|
inline |
Public access to setup check.
Definition at line 91 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 256 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 95 of file L1GctWheelJetFpga.cc.
|
private |
Definition at line 136 of file L1GctWheelJetFpga.h.
Referenced by getCentralJets(), process(), and setupJetsVectors().
|
private |
Jet sorters.
Definition at line 116 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
private |
Definition at line 137 of file L1GctWheelJetFpga.h.
Referenced by getForwardJets(), process(), and setupJetsVectors().
|
private |
Definition at line 117 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
private |
algo ID
Definition at line 110 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), classifyJets(), operator<<(), and setInputJet().
|
private |
Definition at line 133 of file L1GctWheelJetFpga.h.
Referenced by fetchInput(), inputHfSums(), process(), and resetProcessor().
|
private |
Definition at line 129 of file L1GctWheelJetFpga.h.
Referenced by fetchInput(), inputHx(), process(), and resetProcessor().
|
private |
Definition at line 130 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 121 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), getInputJets(), setInputJet(), and storeJets().
|
private |
the jet leaf cards
Definition at line 113 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), fetchInput(), and operator<<().
|
private |
Definition at line 143 of file L1GctWheelJetFpga.h.
Referenced by getOutputHfSums(), process(), and resetProcessor().
|
private |
Definition at line 141 of file L1GctWheelJetFpga.h.
Referenced by getOutputHx(), process(), and resetProcessor().
|
private |
Definition at line 145 of file L1GctWheelJetFpga.h.
Referenced by getInternalHtMiss(), process(), and resetPipelines().
|
private |
Definition at line 142 of file L1GctWheelJetFpga.h.
Referenced by getOutputHy(), process(), and resetProcessor().
|
private |
Definition at line 146 of file L1GctWheelJetFpga.h.
Referenced by getInternalHtMiss(), process(), and resetPipelines().
|
private |
Definition at line 124 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 125 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 126 of file L1GctWheelJetFpga.h.
Referenced by classifyJets(), process(), and setupJetsVectors().
|
private |
Definition at line 138 of file L1GctWheelJetFpga.h.
Referenced by getTauJets(), process(), and setupJetsVectors().
|
private |
Definition at line 118 of file L1GctWheelJetFpga.h.
Referenced by process(), and ~L1GctWheelJetFpga().
|
staticprivate |
Maximum number of jets we can have as input.
Definition at line 107 of file L1GctWheelJetFpga.h.
Referenced by setInputJet(), and setupJetsVectors().
|
static |
Max number of jets of each type we output.
Definition at line 37 of file L1GctWheelJetFpga.h.
Referenced by process(), setupJetsVectors(), and L1GctJetFinalStage::storeJets().
|
static |
Max number of jets input from each leaf card.
Definition at line 43 of file L1GctWheelJetFpga.h.
Referenced by storeJets().
|
static |
Max number of leaf card pointers.
Definition at line 40 of file L1GctWheelJetFpga.h.
Referenced by checkSetup(), fetchInput(), and resetProcessor().