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 28 of file L1GctMet.h.
Definition at line 27 of file L1GctMet.h.
Definition at line 26 of file L1GctMet.h.
|
private |
Enumerator | |
---|---|
kExOrEyMissComponentShift |
Definition at line 72 of file L1GctMet.h.
Enumerator | |
---|---|
cordicTranslate | |
useHtMissLut | |
oldGct | |
floatingPoint |
Definition at line 24 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 15 of file L1GctMet.cc.
L1GctMet::~L1GctMet | ( | ) |
Definition at line 23 of file L1GctMet.cc.
const double L1GctMet::componentLsb | ( | ) | const |
Definition at line 333 of file L1GctMet.cc.
References L1GctHtMissLut::componentLsb(), and m_htMissLut.
|
private |
Definition at line 161 of file L1GctMet.cc.
References alignCSCRings::e, and alignCSCRings::r.
Referenced by cordicTranslateAlgo().
|
private |
Definition at line 79 of file L1GctMet.cc.
References cordicShiftAndRoundBits(), i, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, query::result, x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by metVector().
const L1CaloEtScale * L1GctMet::etScale | ( | ) | const |
Definition at line 328 of file L1GctMet.cc.
References L1GctHtMissLut::etScale(), and m_htMissLut.
|
private |
Definition at line 297 of file L1GctMet.cc.
References M_PI, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, query::result, and mathSSE::sqrt().
Referenced by metVector().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 62 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 340 of file L1GctMet.cc.
References kExOrEyMissComponentShift, L1GctHtMissLut::kHxOrHyMissComponentNBits, m_algoType, m_exComponent, m_eyComponent, L1GctTwosComplement< nBits >::overFlow(), query::result, useHtMissLut, and L1GctTwosComplement< nBits >::value().
Referenced by metVector().
L1GctMet::etmiss_vec L1GctMet::metVector | ( | ) | const |
Definition at line 27 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, query::result, L1GctUnsignedInt< nBits >::setOverFlow(), L1GctUnsignedInt< nBits >::setValue(), useHtMissLut, useHtMissLutAlgo(), and L1GctTwosComplement< nBits >::value().
Referenced by L1GctGlobalEnergyAlgos::process().
|
private |
Definition at line 219 of file L1GctMet.cc.
References abs, b, i, L1GctMet::etmiss_internal::mag, max(), L1GctMet::etmiss_internal::phi, query::result, and alignCSCRings::s.
Referenced by metVector().
|
inline |
|
inline |
Definition at line 58 of file L1GctMet.h.
References m_bitShift.
Referenced by L1GctGlobalEnergyAlgos::L1GctGlobalEnergyAlgos().
|
inline |
Definition at line 43 of file L1GctMet.h.
References setExComponent(), and setEyComponent().
Referenced by L1GctGlobalEnergyAlgos::process().
|
inline |
void L1GctMet::setEtComponentLsb | ( | const double | lsb | ) |
Definition at line 323 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 318 of file L1GctMet.cc.
References m_htMissLut, and L1GctHtMissLut::setEtScale().
Referenced by L1GctGlobalEnergyAlgos::setHtMissScale().
void L1GctMet::setExComponent | ( | const unsigned | ex | ) |
Definition at line 66 of file L1GctMet.cc.
References groupFilesInBlocks::temp.
Referenced by setComponents().
|
inline |
void L1GctMet::setEyComponent | ( | const unsigned | ey | ) |
Definition at line 71 of file L1GctMet.cc.
References groupFilesInBlocks::temp.
Referenced by setComponents().
|
inline |
|
private |
Definition at line 174 of file L1GctMet.cc.
References abs, kExOrEyMissComponentShift, L1GctHtMissLut::kHtMissAngleNBits, L1GctHtMissLut::kHtMissMagnitudeNBits, L1GctHtMissLut::kHxOrHyMissComponentNBits, L1GctLut< NAddressBits, NDataBits >::lutValue(), m_htMissLut, L1GctMet::etmiss_internal::mag, L1GctMet::etmiss_internal::phi, and query::result.
Referenced by metVector().
|
private |
Definition at line 86 of file L1GctMet.h.
Referenced by getAlgoType(), inputOverFlow(), metVector(), and setAlgoType().
|
private |
Definition at line 87 of file L1GctMet.h.
Referenced by getBitShift(), metVector(), and setBitShift().
|
private |
Definition at line 84 of file L1GctMet.h.
Referenced by getExComponent(), inputOverFlow(), metVector(), and setExComponent().
|
private |
Definition at line 85 of file L1GctMet.h.
Referenced by getEyComponent(), inputOverFlow(), metVector(), and setEyComponent().
|
private |
Definition at line 89 of file L1GctMet.h.
Referenced by componentLsb(), etScale(), getHtMissLut(), setEtComponentLsb(), setEtScale(), and useHtMissLutAlgo().