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< etComponentType > getInputHyValPlusWheel() const
void resetPipelines() override
bool setupOk() const
check setup
void reset()
clear internal buffers
std::vector< etComponentType > getInputHxVlMinusWheel() const
return input Ht value wheel 0
std::vector< etTotalType > getInputEtVlMinusWheel() const
return input Et value wheel 0
Pipeline< etMissType > m_outputHtMiss
etComponentType m_eyValPlusWheel
friend std::ostream & operator<<(std::ostream &os, const L1GctGlobalEnergyAlgos &fpga)
Overload << operator.
Represents a GCT Wheel Jet FPGA.
std::vector< etMissType > getHtMissColl() const
return output missing Ht magnitude
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
Pipeline< etComponentType > m_hxVlMinusPipe
std::vector< etHadType > getInputHtValPlusWheel() const
return input Ht value wheel 1
std::vector< etTotalType > getEtSumColl() const
return output total scalar Et
Pipeline< etComponentType > m_hxValPlusPipe
L1GctWheelEnergyFpga * getMinusWheelFpga() const
provide access to input pointer, Wheel Energy Fpga 0
void setInputWheelHy(unsigned wheel, unsigned energy, bool overflow)
void setJetFinderParams(const L1GctJetFinderParams *const jfpars)
L1GctWheelJetFpga * m_plusWheelJetFpga
std::ostream & operator<<(std::ostream &out, const ALILine &li)
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.
std::vector< etMissType > getEtMissColl() const
std::vector< etComponentType > getInputEyValPlusWheel() const
return input Ex value wheel 1
etComponentType m_eyVlMinusWheel
void setHtMissScale(const L1CaloEtScale *const scale)
ABC for a GCT trigger data processing unit.
std::vector< etComponentType > getInputExVlMinusWheel() const
return input Ey value wheel 0
L1GctUnsignedInt< L1GctEtTotal::kEtTotalNBits > etTotalType
L1GctWheelEnergyFpga * getPlusWheelFpga() const
provide access to input pointer, Wheel Energy Fpga 1
Pipeline< etHadType > m_outputEtHad
std::vector< etComponentType > getInputHyVlMinusWheel() const
L1GctWheelEnergyFpga * m_minusWheelFpga
L1GctWheelJetFpga * getMinusWheelJetFpga() const
provide access to input pointer, Wheel Jet Fpga 0
void setInputWheelHx(unsigned wheel, unsigned energy, bool overflow)
set input Ht component values 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.
const L1GctHtMissLut * getHtMissLut() const
Pipeline< etTotalType > m_etValPlusPipe
L1GctGlobalHfSumAlgos * m_hfSumProcessor
L1GctUnsignedInt< L1GctEtHad::kEtHadNBits > etHadType
Emulates the GCT global energy algorithms.
L1GctGlobalHfSumAlgos * getHfSumProcessor() const
provide access to hf sum processor
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
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
etComponentType m_exVlMinusWheel
L1GctWheelJetFpga * m_minusWheelJetFpga
std::vector< etTotalType > getInputEtValPlusWheel() const
return input Et value wheel 1
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
Pipeline< etMissPhiType > m_outputEtMissPhi
std::vector< etMissPhiType > getHtMissPhiColl() const
return output missing Ht value
L1GctWheelEnergyFpga * m_plusWheelFpga
Pipeline< etComponentType > m_eyValPlusPipe
std::vector< etComponentType > getInputEyVlMinusWheel() const
return input Ey value wheel 0
std::vector< etHadType > getEtHadColl() const
return std::vector< output calibrated jet Et
etHadType m_htVlMinusWheel
std::vector< etComponentType > getInputHxValPlusWheel() const
return input Ht component values wheel 1
Pipeline< etMissType > m_outputEtMiss
std::vector< etComponentType > getInputExValPlusWheel() const
return input Ex value wheel 1
const L1GctHtMissLut * getHtMissLut() const
std::vector< etHadType > getInputHtVlMinusWheel() const
return input Ht value wheel 0
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
etComponentType m_hyValPlusWheel
L1GctWheelEnergyFpga::etComponentType etComponentType
etComponentType m_hxVlMinusWheel
void setNextBx(const int bx)
partially clear buffers
std::vector< etMissPhiType > getEtMissPhiColl() const
return output missing Et value
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 * getPlusWheelJetFpga() const
provide access to input pointer, Wheel Jet Fpga 1