Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts. More...
#include <L1GctGlobalHfSumAlgos.h>
Public Types | |
typedef L1GctJetFinderBase::hfTowerSumsType | hfTowerSumsType |
Public Member Functions | |
void | fetchInput () override |
get input data from sources; this is the standard way to provide input More... | |
const L1GctHfBitCountsLut * | getBCLut (const L1GctHfEtSumsLut::hfLutType type) const |
Get lut pointers. More... | |
const L1GctHfEtSumsLut * | getESLut (const L1GctHfEtSumsLut::hfLutType type) const |
L1GctWheelJetFpga * | getMinusWheelJetFpga () const |
provide access to input pointer, Wheel Jet Fpga 0 More... | |
L1GctWheelJetFpga * | getPlusWheelJetFpga () const |
provide access to input pointer, Wheel Jet Fpga 1 More... | |
std::vector< double > | getThresholds (const L1GctHfEtSumsLut::hfLutType type) const |
Get thresholds. More... | |
std::vector< uint16_t > | hfSumsOutput (const L1GctHfEtSumsLut::hfLutType type) const |
Access to output quantities. More... | |
std::vector< unsigned > | hfSumsWord () const |
L1GctGlobalHfSumAlgos (const std::vector< L1GctWheelJetFpga *> &WheelJetFpga) | |
Constructor needs the Wheel card Fpgas set up first. More... | |
void | process () override |
process the data, fill output buffers More... | |
void | setupLuts (const L1CaloEtScale *scale) |
Setup luts. More... | |
bool | setupOk () const |
check setup More... | |
~L1GctGlobalHfSumAlgos () 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 () |
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 | |
void | storeBitCount (L1GctHfEtSumsLut::hfLutType type, uint16_t value) |
void | storeEtSum (L1GctHfEtSumsLut::hfLutType type, uint16_t value) |
Private Attributes | |
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfBitCountsLut * > | m_bitCountLuts |
std::map< L1GctHfEtSumsLut::hfLutType, const L1GctHfEtSumsLut * > | m_etSumLuts |
hfTowerSumsType | m_hfInputSumsMinusWheel |
hfTowerSumsType | m_hfInputSumsPlusWheel |
std::map< L1GctHfEtSumsLut::hfLutType, Pipeline< uint16_t > > | m_hfOutputSumsPipe |
L1GctWheelJetFpga * | m_minusWheelJetFpga |
L1GctWheelJetFpga * | m_plusWheelJetFpga |
bool | m_setupOk |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctGlobalHfSumAlgos &fpga) |
Overload << operator. More... | |
Additional Inherited Members | |
Protected Attributes inherited from L1GctProcessor | |
bool | m_verbose |
Flag to control output messages. More... | |
Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts.
Gets the sums from the wheel cards and packs them into the output after compression using look-up tables
Definition at line 27 of file L1GctGlobalHfSumAlgos.h.
Definition at line 29 of file L1GctGlobalHfSumAlgos.h.
L1GctGlobalHfSumAlgos::L1GctGlobalHfSumAlgos | ( | const std::vector< L1GctWheelJetFpga *> & | WheelJetFpga | ) |
Constructor needs the Wheel card Fpgas set up first.
Definition at line 11 of file L1GctGlobalHfSumAlgos.cc.
References m_minusWheelJetFpga, m_plusWheelJetFpga, m_setupOk, and L1GctProcessor::m_verbose.
|
override |
Destructor.
Definition at line 53 of file L1GctGlobalHfSumAlgos.cc.
References m_bitCountLuts, and m_etSumLuts.
|
overridevirtual |
get input data from sources; this is the standard way to provide input
Implements L1GctProcessor.
Definition at line 104 of file L1GctGlobalHfSumAlgos.cc.
References L1GctWheelJetFpga::getOutputHfSums(), m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, m_minusWheelJetFpga, m_plusWheelJetFpga, and m_setupOk.
Referenced by L1GctGlobalEnergyAlgos::fetchInput().
const L1GctHfBitCountsLut * L1GctGlobalHfSumAlgos::getBCLut | ( | const L1GctHfEtSumsLut::hfLutType | type | ) | const |
Get lut pointers.
Definition at line 244 of file L1GctGlobalHfSumAlgos.cc.
References m_bitCountLuts.
Referenced by L1GctPrintLuts::analyze().
const L1GctHfEtSumsLut * L1GctGlobalHfSumAlgos::getESLut | ( | const L1GctHfEtSumsLut::hfLutType | type | ) | const |
Definition at line 253 of file L1GctGlobalHfSumAlgos.cc.
References m_etSumLuts.
Referenced by L1GctPrintLuts::analyze(), and getThresholds().
|
inline |
provide access to input pointer, Wheel Jet Fpga 0
Definition at line 62 of file L1GctGlobalHfSumAlgos.h.
References m_minusWheelJetFpga.
|
inline |
provide access to input pointer, Wheel Jet Fpga 1
Definition at line 60 of file L1GctGlobalHfSumAlgos.h.
References m_plusWheelJetFpga.
std::vector< double > L1GctGlobalHfSumAlgos::getThresholds | ( | const L1GctHfEtSumsLut::hfLutType | type | ) | const |
Get thresholds.
Definition at line 263 of file L1GctGlobalHfSumAlgos.cc.
References getESLut(), L1CaloEtScale::getThresholds(), L1GctHfEtSumsLut::lutFunction(), and mps_fire::result.
std::vector< uint16_t > L1GctGlobalHfSumAlgos::hfSumsOutput | ( | const L1GctHfEtSumsLut::hfLutType | type | ) | const |
Access to output quantities.
Definition at line 160 of file L1GctGlobalHfSumAlgos.cc.
References relmon_rootfiles_spy::contents, m_hfOutputSumsPipe, L1GctProcessor::numOfBx(), and mps_fire::result.
Referenced by hfSumsWord().
std::vector< unsigned > L1GctGlobalHfSumAlgos::hfSumsWord | ( | ) | const |
Definition at line 170 of file L1GctGlobalHfSumAlgos.cc.
References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, nano_mu_digi_cff::bx, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, hfSumsOutput(), L1GctProcessor::numOfBx(), and mps_fire::result.
Referenced by operator<<().
|
overridevirtual |
process the data, fill output buffers
Implements L1GctProcessor.
Definition at line 112 of file L1GctGlobalHfSumAlgos.cc.
References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, L1GctJetFinderBase::hfTowerSumsType::etSum0, L1GctJetFinderBase::hfTowerSumsType::etSum1, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, m_setupOk, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold0, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold1, storeBitCount(), storeEtSum(), and L1GctUnsignedInt< nBits >::value().
Referenced by L1GctGlobalEnergyAlgos::process().
|
overrideprotectedvirtual |
Implements L1GctProcessor.
Definition at line 94 of file L1GctGlobalHfSumAlgos.cc.
References m_hfOutputSumsPipe, L1GctHfEtSumsLut::numberOfLutTypes, L1GctProcessor::numOfBx(), submitPVValidationJobs::t, and groupFilesInBlocks::temp.
|
overrideprotectedvirtual |
Separate reset methods for the processor itself and any data stored in pipelines.
Implements L1GctProcessor.
Definition at line 89 of file L1GctGlobalHfSumAlgos.cc.
References m_hfInputSumsMinusWheel, m_hfInputSumsPlusWheel, and L1GctJetFinderBase::hfTowerSumsType::reset().
void L1GctGlobalHfSumAlgos::setupLuts | ( | const L1CaloEtScale * | scale | ) |
Setup luts.
Definition at line 218 of file L1GctGlobalHfSumAlgos.cc.
References L1GctHfEtSumsLut::bitCountNegEtaRing1, L1GctHfEtSumsLut::bitCountNegEtaRing2, L1GctHfEtSumsLut::bitCountPosEtaRing1, L1GctHfEtSumsLut::bitCountPosEtaRing2, L1GctHfEtSumsLut::etSumNegEtaRing1, L1GctHfEtSumsLut::etSumNegEtaRing2, L1GctHfEtSumsLut::etSumPosEtaRing1, L1GctHfEtSumsLut::etSumPosEtaRing2, m_bitCountLuts, m_etSumLuts, and l1tEGammaCrystalsEmulatorProducer_cfi::scale.
Referenced by L1GlobalCaloTrigger::setupHfSumLuts().
|
inlineoverrideprotectedvirtual |
Initialise inputs with null objects for the correct bunch crossing if required.
Implements L1GctProcessor.
Definition at line 73 of file L1GctGlobalHfSumAlgos.h.
|
inline |
check setup
Definition at line 65 of file L1GctGlobalHfSumAlgos.h.
References m_setupOk.
Referenced by L1GctGlobalEnergyAlgos::L1GctGlobalEnergyAlgos(), and L1GctGlobalEnergyAlgos::setupOk().
|
private |
Definition at line 144 of file L1GctGlobalHfSumAlgos.cc.
References L1GctProcessor::bxRel(), m_bitCountLuts, and m_hfOutputSumsPipe.
Referenced by process().
|
private |
Definition at line 152 of file L1GctGlobalHfSumAlgos.cc.
References L1GctProcessor::bxRel(), m_etSumLuts, and m_hfOutputSumsPipe.
Referenced by process().
|
friend |
Overload << operator.
Definition at line 66 of file L1GctGlobalHfSumAlgos.cc.
|
private |
Definition at line 81 of file L1GctGlobalHfSumAlgos.h.
Referenced by getBCLut(), setupLuts(), storeBitCount(), and ~L1GctGlobalHfSumAlgos().
|
private |
Definition at line 82 of file L1GctGlobalHfSumAlgos.h.
Referenced by getESLut(), setupLuts(), storeEtSum(), and ~L1GctGlobalHfSumAlgos().
|
private |
Definition at line 86 of file L1GctGlobalHfSumAlgos.h.
Referenced by fetchInput(), operator<<(), process(), and resetProcessor().
|
private |
Definition at line 85 of file L1GctGlobalHfSumAlgos.h.
Referenced by fetchInput(), operator<<(), process(), and resetProcessor().
|
private |
Definition at line 89 of file L1GctGlobalHfSumAlgos.h.
Referenced by hfSumsOutput(), resetPipelines(), storeBitCount(), and storeEtSum().
|
private |
Definition at line 78 of file L1GctGlobalHfSumAlgos.h.
Referenced by fetchInput(), getMinusWheelJetFpga(), L1GctGlobalHfSumAlgos(), and operator<<().
|
private |
Definition at line 77 of file L1GctGlobalHfSumAlgos.h.
Referenced by fetchInput(), getPlusWheelJetFpga(), L1GctGlobalHfSumAlgos(), and operator<<().
|
private |
Definition at line 91 of file L1GctGlobalHfSumAlgos.h.
Referenced by fetchInput(), L1GctGlobalHfSumAlgos(), process(), and setupOk().