A Level-1 jet candidate, used within GCT emulation. More...
#include <L1GctJet.h>
Public Types | |
typedef boost::shared_ptr < L1GctJetEtCalibrationLut > | lutPtr |
enum | numberOfBits { kRawsumBitWidth = 10, kRawsumMaxValue = (1<<kRawsumBitWidth) - 1 } |
Public Member Functions | |
int16_t | bx () const |
the bunch crossing number | |
unsigned | calibratedEt (const lutPtr lut) const |
unsigned | globalEta () const |
eta value in global CMS coordinates | |
unsigned | globalPhi () const |
phi value in global CMS coordinates | |
unsigned | hwEta () const |
eta value as encoded in hardware at the GCT output | |
unsigned | hwPhi () const |
phi value as encoded in hardware at the GCT output | |
L1CaloRegionDetId | id () const |
bool | isCentralJet () const |
test whether this jet candidate is a (non-tau) central jet | |
bool | isForwardJet () const |
test whether this jet candidate is a forward jet | |
bool | isNullJet () const |
test whether this jet candidate has been filled | |
bool | isTauJet () const |
test whether this jet candidate is a valid tau jet | |
L1GctJetCand | jetCand (const lutPtr lut) const |
Functions to convert from internal format to external jet candidates at the output of the jetFinder. | |
L1GctJetCand | jetCand (const std::vector< lutPtr > luts) const |
Function to convert from internal format to external jet candidates at the output of the jetFinder. | |
L1GctJet (const uint16_t rawsum=0, const unsigned eta=0, const unsigned phi=0, const bool overFlow=false, const bool forwardJet=true, const bool tauVeto=true, const int16_t bx=0) | |
bool | operator!= (const L1GctJet &cand) const |
test whether two jets are different | |
bool | operator== (const L1GctJet &cand) const |
test whether two jets are the same | |
bool | overFlow () const |
get overflow | |
uint16_t | rank (const lutPtr lut) const |
The two separate Lut outputs. | |
uint16_t | rawsum () const |
unsigned | rctEta () const |
eta value in global CMS coordinates | |
unsigned | rctPhi () const |
phi value in global CMS coordinates | |
void | setBx (const int16_t bx) |
void | setDetId (const L1CaloRegionDetId detId) |
void | setForward (const bool forward) |
void | setOverFlow (const bool overFlow) |
void | setRawsum (const uint16_t rawsum) |
void | setTauVeto (const bool tauVeto) |
void | setupJet (const uint16_t rawsum, const unsigned eta, const unsigned phi, const bool overFlow, const bool forwardJet, const bool tauVeto=true, const int16_t bx=0) |
Setup an existing jet all in one go. | |
bool | tauVeto () const |
~L1GctJet () | |
Private Member Functions | |
uint16_t | lutValue (const lutPtr lut) const |
Private Attributes | |
int16_t | m_bx |
bool | m_forwardJet |
L1CaloRegionDetId | m_id |
region id, encodes eta and phi | |
bool | m_overFlow |
uint16_t | m_rawsum |
bool | m_tauVeto |
Friends | |
std::ostream & | operator<< (std::ostream &os, const L1GctJet &cand) |
A Level-1 jet candidate, used within GCT emulation.
Move this to DataFormats/L1GlobalCaloTrigger if possible
Definition at line 27 of file L1GctJet.h.
typedef boost::shared_ptr<L1GctJetEtCalibrationLut> L1GctJet::lutPtr |
Definition at line 38 of file L1GctJet.h.
Definition at line 32 of file L1GctJet.h.
{ kRawsumBitWidth = 10, kRawsumMaxValue = (1<<kRawsumBitWidth) - 1 };
L1GctJet::L1GctJet | ( | const uint16_t | rawsum = 0 , |
const unsigned | eta = 0 , |
||
const unsigned | phi = 0 , |
||
const bool | overFlow = false , |
||
const bool | forwardJet = true , |
||
const bool | tauVeto = true , |
||
const int16_t | bx = 0 |
||
) |
Definition at line 8 of file L1GctJet.cc.
: m_rawsum(rawsum & kRawsumMaxValue), m_id(eta, phi), m_overFlow(overFlow || (rawsum>kRawsumMaxValue)), m_forwardJet(forwardJet), m_tauVeto(tauVeto || forwardJet), m_bx(bx) { }
L1GctJet::~L1GctJet | ( | ) |
Definition at line 19 of file L1GctJet.cc.
{ }
int16_t L1GctJet::bx | ( | ) | const [inline] |
the bunch crossing number
Definition at line 104 of file L1GctJet.h.
References m_bx.
Referenced by setBx(), and setupJet().
{ return m_bx; }
unsigned L1GctJet::calibratedEt | ( | const lutPtr | lut | ) | const |
unsigned L1GctJet::globalEta | ( | ) | const [inline] |
eta value in global CMS coordinates
Definition at line 86 of file L1GctJet.h.
References L1CaloRegionDetId::ieta(), and m_id.
Referenced by isNullJet(), operator!=(), operator<<(), and operator==().
unsigned L1GctJet::globalPhi | ( | ) | const [inline] |
phi value in global CMS coordinates
Definition at line 89 of file L1GctJet.h.
References L1CaloRegionDetId::iphi(), and m_id.
Referenced by isNullJet(), operator!=(), operator<<(), and operator==().
unsigned L1GctJet::hwEta | ( | ) | const |
eta value as encoded in hardware at the GCT output
Definition at line 79 of file L1GctJet.cc.
References L1CaloRegionDetId::ieta(), m_id, and L1CaloRegionDetId::rctEta().
Referenced by jetCand().
unsigned L1GctJet::hwPhi | ( | ) | const |
phi value as encoded in hardware at the GCT output
Definition at line 87 of file L1GctJet.cc.
References L1CaloRegionDetId::iphi(), and m_id.
Referenced by jetCand().
L1CaloRegionDetId L1GctJet::id | ( | void | ) | const [inline] |
bool L1GctJet::isCentralJet | ( | ) | const [inline] |
test whether this jet candidate is a (non-tau) central jet
Definition at line 65 of file L1GctJet.h.
References m_forwardJet, and m_tauVeto.
Referenced by operator<<().
{ return (!m_forwardJet && m_tauVeto); }
bool L1GctJet::isForwardJet | ( | ) | const [inline] |
test whether this jet candidate is a forward jet
Definition at line 68 of file L1GctJet.h.
References m_forwardJet.
Referenced by jetCand(), operator!=(), operator<<(), and operator==().
{ return m_forwardJet; }
bool L1GctJet::isNullJet | ( | ) | const [inline] |
test whether this jet candidate has been filled
Definition at line 71 of file L1GctJet.h.
References globalEta(), globalPhi(), and m_rawsum.
Referenced by operator!=(), operator<<(), and operator==().
bool L1GctJet::isTauJet | ( | ) | const [inline] |
test whether this jet candidate is a valid tau jet
Definition at line 62 of file L1GctJet.h.
References m_forwardJet, and m_tauVeto.
Referenced by jetCand(), and operator<<().
{ return (!m_forwardJet && !m_tauVeto); }
L1GctJetCand L1GctJet::jetCand | ( | const lutPtr | lut | ) | const |
Functions to convert from internal format to external jet candidates at the output of the jetFinder.
Function to convert from internal format to external jet candidates at the output of the jetFinder.
Definition at line 94 of file L1GctJet.cc.
References hwEta(), hwPhi(), isForwardJet(), isTauJet(), m_bx, and rank().
Referenced by jetCand().
{ return L1GctJetCand(rank(lut), hwPhi(), hwEta(), isTauJet(), isForwardJet(), (uint16_t) 0, (uint16_t) 0, m_bx); }
L1GctJetCand L1GctJet::jetCand | ( | const std::vector< lutPtr > | luts | ) | const |
Function to convert from internal format to external jet candidates at the output of the jetFinder.
Definition at line 100 of file L1GctJet.cc.
References jetCand(), rctEta(), and query::result.
uint16_t L1GctJet::lutValue | ( | const lutPtr | lut | ) | const [private] |
Definition at line 119 of file L1GctJet.cc.
References L1GctJetEtCalibrationLut::JET_ENERGY_BITWIDTH, m_forwardJet, m_overFlow, m_rawsum, m_tauVeto, and query::result.
Referenced by rank().
{ uint16_t result; if (m_overFlow) { // Set output values to maximum result = 0x3f; } else { unsigned addrBits = m_rawsum; // Set the MSB for tau jets if (!m_tauVeto && !m_forwardJet) { addrBits |= 1 << (L1GctJetEtCalibrationLut::JET_ENERGY_BITWIDTH); } uint16_t address = static_cast<uint16_t>(addrBits); result = lut->lutValue(address); } return result; }
bool L1GctJet::operator!= | ( | const L1GctJet & | cand | ) | const |
test whether two jets are different
Definition at line 53 of file L1GctJet.cc.
References globalEta(), globalPhi(), isForwardJet(), isNullJet(), overFlow(), rawsum(), query::result, and tauVeto().
{ bool result=false; result |= !(this->rawsum()==cand.rawsum()); result |= !(this->overFlow()==cand.overFlow()); result |= !(this->isForwardJet()==cand.isForwardJet()); result |= !(this->tauVeto()==cand.tauVeto()); result |= !(this->globalEta()==cand.globalEta()); result |= !(this->globalPhi()==cand.globalPhi()); result &= !(this->isNullJet() && cand.isNullJet()); return result; }
bool L1GctJet::operator== | ( | const L1GctJet & | cand | ) | const |
test whether two jets are the same
Definition at line 39 of file L1GctJet.cc.
References globalEta(), globalPhi(), isForwardJet(), isNullJet(), overFlow(), rawsum(), query::result, and tauVeto().
{ bool result=true; result &= (this->rawsum()==cand.rawsum()); result &= (this->overFlow()==cand.overFlow()); result &= (this->isForwardJet()==cand.isForwardJet()); result &= (this->tauVeto()==cand.tauVeto()); result &= (this->globalEta()==cand.globalEta()); result &= (this->globalPhi()==cand.globalPhi()); result |= (this->isNullJet() && cand.isNullJet()); return result; }
bool L1GctJet::overFlow | ( | ) | const [inline] |
get overflow
Definition at line 59 of file L1GctJet.h.
References m_overFlow.
Referenced by operator!=(), operator<<(), operator==(), and setOverFlow().
{ return m_overFlow; }
uint16_t L1GctJet::rank | ( | const lutPtr | lut | ) | const |
The two separate Lut outputs.
Definition at line 108 of file L1GctJet.cc.
References lutValue().
Referenced by jetCand().
uint16_t L1GctJet::rawsum | ( | ) | const [inline] |
Definition at line 54 of file L1GctJet.h.
References m_rawsum.
Referenced by operator!=(), and operator==().
{ return m_rawsum; }
unsigned L1GctJet::rctEta | ( | ) | const [inline] |
eta value in global CMS coordinates
Definition at line 92 of file L1GctJet.h.
References m_id, and L1CaloRegionDetId::rctEta().
Referenced by jetCand().
unsigned L1GctJet::rctPhi | ( | ) | const [inline] |
phi value in global CMS coordinates
Definition at line 95 of file L1GctJet.h.
References m_id, and L1CaloRegionDetId::rctPhi().
void L1GctJet::setBx | ( | const int16_t | bx | ) | [inline] |
Definition at line 51 of file L1GctJet.h.
Referenced by L1GctJetFinderBase::setupObjects().
void L1GctJet::setDetId | ( | const L1CaloRegionDetId | detId | ) | [inline] |
void L1GctJet::setForward | ( | const bool | forward | ) | [inline] |
void L1GctJet::setOverFlow | ( | const bool | overFlow | ) | [inline] |
Definition at line 48 of file L1GctJet.h.
References m_overFlow, and overFlow().
{ m_overFlow = overFlow; }
void L1GctJet::setRawsum | ( | const uint16_t | rawsum | ) | [inline] |
Definition at line 46 of file L1GctJet.h.
References kRawsumMaxValue, m_overFlow, and m_rawsum.
{ m_rawsum = rawsum & kRawsumMaxValue; m_overFlow |= (rawsum > kRawsumMaxValue); }
void L1GctJet::setTauVeto | ( | const bool | tauVeto | ) | [inline] |
void L1GctJet::setupJet | ( | const uint16_t | rawsum, |
const unsigned | eta, | ||
const unsigned | phi, | ||
const bool | overFlow, | ||
const bool | forwardJet, | ||
const bool | tauVeto = true , |
||
const int16_t | bx = 0 |
||
) |
Setup an existing jet all in one go.
Definition at line 66 of file L1GctJet.cc.
References bx(), kRawsumMaxValue, m_bx, m_forwardJet, m_id, m_overFlow, m_rawsum, m_tauVeto, and groupFilesInBlocks::temp.
{ L1CaloRegionDetId temp(eta, phi); m_rawsum = rawsum & kRawsumMaxValue; m_id = temp; m_overFlow = (overFlow || rawsum>kRawsumMaxValue); m_forwardJet = forwardJet; m_tauVeto = tauVeto || forwardJet; m_bx = bx; }
bool L1GctJet::tauVeto | ( | ) | const [inline] |
Definition at line 56 of file L1GctJet.h.
References m_tauVeto.
Referenced by operator!=(), operator==(), and setTauVeto().
{ return m_tauVeto; }
std::ostream& operator<< | ( | std::ostream & | os, |
const L1GctJet & | cand | ||
) | [friend] |
Definition at line 23 of file L1GctJet.cc.
{ os << "L1 Gct jet"; os << " energy sum " << cand.m_rawsum; if (cand.overFlow()) { os << ", overflow bit set;"; } os << " Eta " << cand.globalEta(); os << " Phi " << cand.globalPhi(); if (cand.isForwardJet()) { os << ", Forward jet"; } if (cand.isCentralJet()) { os << ", Central jet"; } if (cand.isTauJet()) { os << ", Tau jet"; } if (cand.isNullJet()) { os << ", Null jet"; } return os; }
int16_t L1GctJet::m_bx [private] |
Definition at line 123 of file L1GctJet.h.
Referenced by bx(), jetCand(), setBx(), and setupJet().
bool L1GctJet::m_forwardJet [private] |
Definition at line 121 of file L1GctJet.h.
Referenced by isCentralJet(), isForwardJet(), isTauJet(), lutValue(), setForward(), and setupJet().
L1CaloRegionDetId L1GctJet::m_id [private] |
region id, encodes eta and phi
Definition at line 119 of file L1GctJet.h.
Referenced by globalEta(), globalPhi(), hwEta(), hwPhi(), id(), rctEta(), rctPhi(), setDetId(), and setupJet().
bool L1GctJet::m_overFlow [private] |
Definition at line 120 of file L1GctJet.h.
Referenced by lutValue(), overFlow(), setOverFlow(), setRawsum(), and setupJet().
uint16_t L1GctJet::m_rawsum [private] |
Definition at line 117 of file L1GctJet.h.
Referenced by calibratedEt(), isNullJet(), lutValue(), operator<<(), rawsum(), setRawsum(), and setupJet().
bool L1GctJet::m_tauVeto [private] |
Definition at line 122 of file L1GctJet.h.
Referenced by isCentralJet(), isTauJet(), lutValue(), setTauVeto(), setupJet(), and tauVeto().