1 #ifndef L1GCTGLOBALENERGYALGOS_H_ 2 #define L1GCTGLOBALENERGYALGOS_H_ 50 const std::vector<L1GctWheelJetFpga*>& WheelJetFpga);
67 void setBxRange(
const int firstBx,
const int numberOfBx);
L1GctMet::etmiss_vec etmiss_vec
Emulates the energy summing on a GCT Wheel card.
etTotalType m_etValPlusWheel
std::vector< etMissType > getEtMissColl() const
void resetPipelines() override
void reset()
clear internal buffers
const L1GctHtMissLut * getHtMissLut() const
Pipeline< etMissType > m_outputHtMiss
std::vector< etComponentType > getInputHxValPlusWheel() const
return input Ht component values wheel 1
etComponentType m_eyValPlusWheel
friend std::ostream & operator<<(std::ostream &os, const L1GctGlobalEnergyAlgos &fpga)
Overload << operator.
L1GctGlobalHfSumAlgos * getHfSumProcessor() const
provide access to hf sum processor
Represents a GCT Wheel Jet FPGA.
Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts.
L1GctMet::etMissType etMissType
etComponentType m_exValPlusWheel
Pipeline< etComponentType > m_eyVlMinusPipe
Pipeline< etComponentType > m_exValPlusPipe
void fetchInput() override
get input data from sources
void setInputWheelEx(unsigned wheel, int energy, bool overflow)
set input Ex value per wheel (0 or 1); not used in normal operation
Pipeline< etMissPhiType > m_outputHtMissPhi
etComponentType m_hxValPlusWheel
Pipeline< etComponentType > m_hyVlMinusPipe
L1GctWheelJetFpga * getPlusWheelJetFpga() const
provide access to input pointer, Wheel Jet Fpga 1
std::vector< etComponentType > getInputExValPlusWheel() const
return input Ex value wheel 1
std::ostream & operator<<(std::ostream &os, const L1GctGlobalEnergyAlgos &fpga)
Pipeline< etComponentType > m_hxVlMinusPipe
Pipeline< etComponentType > m_hxValPlusPipe
void setInputWheelHy(unsigned wheel, unsigned energy, bool overflow)
void setJetFinderParams(const L1GctJetFinderParams *const jfpars)
std::vector< etTotalType > getInputEtValPlusWheel() const
return input Et value wheel 1
L1GctWheelJetFpga * m_plusWheelJetFpga
std::vector< etComponentType > getInputExVlMinusWheel() const
return input Ey value wheel 0
std::vector< etMissType > getHtMissColl() const
return output missing Ht magnitude
LUT for conversion of Ht components x and y to magnitude and angle.
L1GctMet::etMissPhiType etMissPhiType
Stores Level-1 missing Et in (Ex, Ey) form, allowing it to be retrieved as (magnitude, angle)
void setupObjects() override
Initialise inputs with null objects for the correct bunch crossing if required.
etComponentType m_eyVlMinusWheel
std::vector< etComponentType > getInputHyValPlusWheel() const
void setHtMissScale(const L1CaloEtScale *const scale)
ABC for a GCT trigger data processing unit.
std::vector< etComponentType > getInputHyVlMinusWheel() const
L1GctUnsignedInt< L1GctEtTotal::kEtTotalNBits > etTotalType
Pipeline< etHadType > m_outputEtHad
L1GctWheelEnergyFpga * m_minusWheelFpga
std::vector< etHadType > getEtHadColl() const
return std::vector< output calibrated jet Et
void setInputWheelHx(unsigned wheel, unsigned energy, bool overflow)
set input Ht component values per wheel (0 or 1); not used in normal operation
Pipeline< etTotalType > m_etValPlusPipe
L1GctGlobalHfSumAlgos * m_hfSumProcessor
L1GctUnsignedInt< L1GctEtHad::kEtHadNBits > etHadType
std::vector< etMissPhiType > getHtMissPhiColl() const
return output missing Ht value
L1GctWheelEnergyFpga * getPlusWheelFpga() const
provide access to input pointer, Wheel Energy Fpga 1
Emulates the GCT global energy algorithms.
std::vector< etComponentType > getInputHxVlMinusWheel() const
return input Ht value wheel 0
etHadType m_htValPlusWheel
void process() override
process the data, fill output buffers
Pipeline< etComponentType > m_hyValPlusPipe
etTotalType m_etVlMinusWheel
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
std::vector< etComponentType > getInputEyValPlusWheel() const
return input Ex value wheel 1
std::vector< etComponentType > getInputEyVlMinusWheel() const
return input Ey value wheel 0
Pipeline< etHadType > m_htValPlusPipe
void setInputWheelHt(unsigned wheel, unsigned energy, bool overflow)
set input Ht value per wheel (0 or 1); not used in normal operation
L1GctGlobalEnergyAlgos(const std::vector< L1GctWheelEnergyFpga *> &WheelFpga, const std::vector< L1GctWheelJetFpga *> &WheelJetFpga)
Constructor needs the Wheel card Fpgas set up first.
std::vector< etTotalType > getInputEtVlMinusWheel() const
return input Et value wheel 0
etComponentType m_exVlMinusWheel
L1GctWheelJetFpga * m_minusWheelJetFpga
Pipeline< etComponentType > m_exVlMinusPipe
void setInputWheelEy(unsigned wheel, int energy, bool overflow)
set input Ey value per wheel (0 or 1); not used in normal operation
std::vector< etHadType > getInputHtValPlusWheel() const
return input Ht value wheel 1
Pipeline< etMissPhiType > m_outputEtMissPhi
L1GctWheelEnergyFpga * m_plusWheelFpga
L1GctWheelEnergyFpga * getMinusWheelFpga() const
provide access to input pointer, Wheel Energy Fpga 0
Pipeline< etComponentType > m_eyValPlusPipe
etHadType m_htVlMinusWheel
Pipeline< etMissType > m_outputEtMiss
std::vector< etTotalType > getEtSumColl() const
return output total scalar Et
bool setupOk() const
check setup
void setInputWheelJc(unsigned wheel, unsigned jcnum, unsigned count)
set input jet count (number 0-11) per wheel (0 or 1); not used in normal operation ...
~L1GctGlobalEnergyAlgos() override
Destructor.
etComponentType m_hyVlMinusWheel
Pipeline< etHadType > m_htVlMinusPipe
std::vector< etHadType > getInputHtVlMinusWheel() const
return input Ht value wheel 0
etComponentType m_hyValPlusWheel
const L1GctHtMissLut * getHtMissLut() const
L1GctWheelEnergyFpga::etComponentType etComponentType
etComponentType m_hxVlMinusWheel
void setNextBx(const int bx)
partially clear buffers
Pipeline< etTotalType > m_outputEtSum
Pipeline< etTotalType > m_etVlMinusPipe
void resetProcessor() override
Separate reset methods for the processor itself and any data stored in pipelines. ...
void setInputWheelEt(unsigned wheel, unsigned energy, bool overflow)
set input Et value per wheel (0 or 1); not used in normal operation
L1GctWheelJetFpga * getMinusWheelJetFpga() const
provide access to input pointer, Wheel Jet Fpga 0
std::vector< etMissPhiType > getEtMissPhiColl() const
return output missing Et value