Stores Level-1 missing Et in (Ex, Ey) form, allowing it to be retrieved as (magnitude, angle) More...
#include <L1GctMet.h>
Classes | |
struct | etmiss_internal |
struct | etmiss_vec |
Public Types | |
typedef L1GctWheelEnergyFpga::etComponentType | etComponentType |
typedef L1GctUnsignedInt < L1GctEtMiss::kEtMissPhiNBits > | etMissPhiType |
typedef L1GctUnsignedInt < L1GctEtMiss::kEtMissNBits > | etMissType |
enum | metAlgoType { cordicTranslate, useHtMissLut, oldGct, floatingPoint } |
Public Member Functions | |
const double | componentLsb () const |
const L1CaloEtScale * | etScale () const |
metAlgoType | getAlgoType () const |
unsigned | getBitShift () const |
etComponentType | getExComponent () const |
etComponentType | getEyComponent () const |
const L1GctHtMissLut * | getHtMissLut () const |
L1GctMet (const unsigned ex=0, const unsigned ey=0, const metAlgoType algo=cordicTranslate) | |
L1GctMet (const etComponentType &ex, const etComponentType &ey, const metAlgoType algo=cordicTranslate) | |
etmiss_vec | metVector () const |
void | setAlgoType (const metAlgoType algo) |
void | setBitShift (const unsigned nbits) |
void | setComponents (const unsigned ex, const unsigned ey) |
void | setComponents (const etComponentType &ex, const etComponentType &ey) |
void | setEtComponentLsb (const double lsb) |
void | setEtScale (const L1CaloEtScale *const fn) |
void | setExComponent (const unsigned ex) |
void | setExComponent (const etComponentType &ex) |
void | setEyComponent (const unsigned ey) |
void | setEyComponent (const etComponentType &ey) |
~L1GctMet () | |
Private Types | |
enum | etComponentShift { kExOrEyMissComponentShift = 4 } |
Private Member Functions | |
int | cordicShiftAndRoundBits (const int e, const unsigned nBits) const |
etmiss_internal | cordicTranslateAlgo (const int ex, const int ey, const bool of) const |
etmiss_internal | floatingPointAlgo (const int ex, const int ey) const |
const bool | inputOverFlow () const |
etmiss_internal | oldGctAlgo (const int ex, const int ey) const |
etmiss_internal | useHtMissLutAlgo (const int ex, const int ey, const bool of) const |
Private Attributes | |
metAlgoType | m_algoType |
unsigned short | m_bitShift |
etComponentType | m_exComponent |
etComponentType | m_eyComponent |
L1GctHtMissLut * | m_htMissLut |
Stores Level-1 missing Et in (Ex, Ey) form, allowing it to be retrieved as (magnitude, angle)
Allows the implementation of alternative algorithms
Definition at line 20 of file L1GctMet.h.
Definition at line 26 of file L1GctMet.h.
Definition at line 25 of file L1GctMet.h.
Definition at line 24 of file L1GctMet.h.
|
private |
Enumerator | |
---|---|
kExOrEyMissComponentShift |
Definition at line 76 of file L1GctMet.h.
Enumerator | |
---|---|
cordicTranslate | |
useHtMissLut | |
oldGct | |
floatingPoint |
Definition at line 22 of file L1GctMet.h.
L1GctMet::L1GctMet | ( | const unsigned | ex = 0 , |
const unsigned | ey = 0 , |
||
const metAlgoType | algo = cordicTranslate |
||
) |
Definition at line 7 of file L1GctMet.cc.
L1GctMet::L1GctMet | ( | const etComponentType & | ex, |
const etComponentType & | ey, | ||
const metAlgoType | algo = cordicTranslate |
||
) |
Definition at line 10 of file L1GctMet.cc.
L1GctMet::~L1GctMet | ( | ) |
Definition at line 13 of file L1GctMet.cc.
const double L1GctMet::componentLsb | ( | ) | const |
Definition at line 310 of file L1GctMet.cc.
References L1GctHtMissLut::componentLsb(), and m_htMissLut.
|
private |
Definition at line 148 of file L1GctMet.cc.
References alignCSCRings::e, and alignCSCRings::r.
Referenced by cordicTranslateAlgo().
|
private |
Definition at line 66 of file L1GctMet.cc.
References cordicShiftAndRoundBits(), PVValHelper::dx, PVValHelper::dy, mps_fire::i, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, mps_fire::result, x, y, and z.
Referenced by metVector().
const L1CaloEtScale * L1GctMet::etScale | ( | ) | const |
Definition at line 308 of file L1GctMet.cc.
References L1GctHtMissLut::etScale(), and m_htMissLut.
|
private |
Definition at line 284 of file L1GctMet.cc.
References M_PI, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, mps_fire::result, and mathSSE::sqrt().
Referenced by metVector().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 66 of file L1GctMet.h.
References m_htMissLut.
Referenced by L1GctGlobalEnergyAlgos::getHtMissLut().
|
private |
Private method to check for an overflow condition on the input components Allows the check to depend on the algorithm type
Definition at line 314 of file L1GctMet.cc.
References kExOrEyMissComponentShift, L1GctHtMissLut::kHxOrHyMissComponentNBits, m_algoType, m_exComponent, m_eyComponent, L1GctTwosComplement< nBits >::overFlow(), mps_fire::result, useHtMissLut, and L1GctTwosComplement< nBits >::value().
Referenced by metVector().
L1GctMet::etmiss_vec L1GctMet::metVector | ( | ) | const |
Definition at line 16 of file L1GctMet.cc.
References cordicTranslate, cordicTranslateAlgo(), floatingPoint, floatingPointAlgo(), inputOverFlow(), m_algoType, m_bitShift, m_exComponent, m_eyComponent, L1GctMet::etmiss_vec::mag, L1GctMet::etmiss_internal::mag, oldGct, oldGctAlgo(), L1GctUnsignedInt< nBits >::overFlow(), L1GctTwosComplement< nBits >::overFlow(), L1GctMet::etmiss_vec::phi, L1GctMet::etmiss_internal::phi, mps_fire::result, L1GctUnsignedInt< nBits >::setOverFlow(), L1GctUnsignedInt< nBits >::setValue(), useHtMissLut, useHtMissLutAlgo(), and L1GctTwosComplement< nBits >::value().
Referenced by L1GctGlobalEnergyAlgos::process().
|
private |
Definition at line 198 of file L1GctMet.cc.
References funct::abs(), b, PixelTestBeamValidation_cfi::Dx, PixelTestBeamValidation_cfi::Dy, mps_fire::i, L1GctMet::etmiss_internal::mag, SiStripPI::max, L1GctMet::etmiss_internal::phi, mps_fire::result, and alignCSCRings::s.
Referenced by metVector().
|
inline |
|
inline |
Definition at line 62 of file L1GctMet.h.
References m_bitShift.
Referenced by L1GctGlobalEnergyAlgos::L1GctGlobalEnergyAlgos().
|
inline |
Definition at line 41 of file L1GctMet.h.
References setExComponent(), and setEyComponent().
Referenced by L1GctGlobalEnergyAlgos::process().
|
inline |
void L1GctMet::setEtComponentLsb | ( | const double | lsb | ) |
Definition at line 304 of file L1GctMet.cc.
References kExOrEyMissComponentShift, m_htMissLut, and L1GctHtMissLut::setExEyLsb().
Referenced by L1GctGlobalEnergyAlgos::setJetFinderParams().
void L1GctMet::setEtScale | ( | const L1CaloEtScale *const | fn | ) |
Definition at line 302 of file L1GctMet.cc.
References m_htMissLut, and L1GctHtMissLut::setEtScale().
Referenced by L1GctGlobalEnergyAlgos::setHtMissScale().
void L1GctMet::setExComponent | ( | const unsigned | ex | ) |
Definition at line 54 of file L1GctMet.cc.
References groupFilesInBlocks::temp.
Referenced by setComponents().
|
inline |
void L1GctMet::setEyComponent | ( | const unsigned | ey | ) |
Definition at line 59 of file L1GctMet.cc.
References groupFilesInBlocks::temp.
Referenced by setComponents().
|
inline |
|
private |
Definition at line 158 of file L1GctMet.cc.
References funct::abs(), kExOrEyMissComponentShift, L1GctHtMissLut::kHtMissAngleNBits, L1GctHtMissLut::kHtMissMagnitudeNBits, L1GctHtMissLut::kHxOrHyMissComponentNBits, L1GctLut< NAddressBits, NDataBits >::lutValue(), m_htMissLut, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, and mps_fire::result.
Referenced by metVector().
|
private |
Definition at line 89 of file L1GctMet.h.
Referenced by getAlgoType(), inputOverFlow(), metVector(), and setAlgoType().
|
private |
Definition at line 90 of file L1GctMet.h.
Referenced by getBitShift(), metVector(), and setBitShift().
|
private |
Definition at line 87 of file L1GctMet.h.
Referenced by getExComponent(), inputOverFlow(), metVector(), and setExComponent().
|
private |
Definition at line 88 of file L1GctMet.h.
Referenced by getEyComponent(), inputOverFlow(), metVector(), and setEyComponent().
|
private |
Definition at line 92 of file L1GctMet.h.
Referenced by componentLsb(), etScale(), getHtMissLut(), setEtComponentLsb(), setEtScale(), and useHtMissLutAlgo().