ATLAS Offline Software
|
SystemEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in EnergyTrigger. More...
#include <SystemEnergy.h>
Public Member Functions | |
SystemEnergy (const DataVector< CrateEnergy > *crates, const TrigConf::L1Menu *l1Menu) | |
SystemEnergy (unsigned int et, unsigned int exTC, unsigned int eyTC, unsigned int overflowT, unsigned int overflowX, unsigned int overflowY, unsigned int restricted, const TrigConf::L1Menu *l1Menu) | |
~SystemEnergy ()=default | |
int | et () const |
return global et, ex, ey sums More... | |
int | ex () const |
return crate Ex More... | |
int | ey () const |
return crate Ey More... | |
unsigned int | exTC () const |
15 bit twos-complement format More... | |
unsigned int | eyTC () const |
return crate Ey in 15-bit twos-complement format (hardware format) More... | |
unsigned int | exOverflow () const |
Overflow bits. More... | |
unsigned int | eyOverflow () const |
return Ey overflow bit More... | |
unsigned int | etOverflow () const |
return Et overflow bit More... | |
unsigned int | etMissHits () const |
Trigger Results. More... | |
unsigned int | etSumHits () const |
return EtSum hits More... | |
unsigned int | metSigHits () const |
return MEtSig hits More... | |
unsigned int | roiWord0 () const |
RoI words. More... | |
unsigned int | roiWord1 () const |
return RoI word 1 (Ey value & overflow, EtSum hits) More... | |
unsigned int | roiWord2 () const |
return RoI word 2 (Et value & overflow, EtMiss hits) More... | |
Private Member Functions | |
void | etMissTrigger () |
Test Ex, Ey sums against ETmiss thresholds Regrettably not as simple as it sounds if we emulate hardware! See CMM specificiation from L1Calo web pages for details. More... | |
void | etSumTrigger () |
Test Et sum against ETsum thresholds. More... | |
void | metSigTrigger () |
Test MEt Significance against METSig thresholds. More... | |
unsigned int | encodeTC (int input) const |
encode int as 15-bit twos-complement format (hardware Ex/Ey format) More... | |
int | decodeTC (unsigned int input) const |
decode 15-bit twos-complement format (hardware Ex/Ey format) as int More... | |
Private Attributes | |
const TrigConf::L1Menu * | m_L1Menu |
int | m_systemEx |
int | m_systemEy |
int | m_systemEt |
unsigned int | m_overflowX |
unsigned int | m_overflowY |
unsigned int | m_overflowT |
unsigned int | m_restricted |
unsigned int | m_etMissHits |
unsigned int | m_etSumHits |
unsigned int | m_metSigHits |
uint32_t | m_etMissQ |
bool | m_debug |
Static Private Attributes | |
static const unsigned int | m_sumBits =15 |
static const int | m_maxEtSumThr =0x3fff |
static const int | m_etSumOverflow =0x7fff |
SystemEnergy class declaration Simulates behaviour of the Crate-CMM System CMM logic is done in EnergyTrigger.
Definition at line 35 of file SystemEnergy.h.
LVL1::SystemEnergy::SystemEnergy | ( | const DataVector< CrateEnergy > * | crates, |
const TrigConf::L1Menu * | l1Menu | ||
) |
Get Ex, Ey, ET sums from crates and form global sums
Propagate overflows and test for new ones
Check for EtSum overflow
Having completed sums, we can now compare with thresholds
Definition at line 21 of file SystemEnergy.cxx.
LVL1::SystemEnergy::SystemEnergy | ( | unsigned int | et, |
unsigned int | exTC, | ||
unsigned int | eyTC, | ||
unsigned int | overflowT, | ||
unsigned int | overflowX, | ||
unsigned int | overflowY, | ||
unsigned int | restricted, | ||
const TrigConf::L1Menu * | l1Menu | ||
) |
Having completed sums, we can now compare with thresholds
Definition at line 96 of file SystemEnergy.cxx.
|
default |
|
private |
decode 15-bit twos-complement format (hardware Ex/Ey format) as int
Definition at line 430 of file SystemEnergy.cxx.
|
private |
encode int as 15-bit twos-complement format (hardware Ex/Ey format)
Definition at line 412 of file SystemEnergy.cxx.
int LVL1::SystemEnergy::et | ( | ) | const |
unsigned int LVL1::SystemEnergy::etMissHits | ( | ) | const |
|
private |
Test Ex, Ey sums against ETmiss thresholds
Regrettably not as simple as it sounds if we emulate hardware!
See CMM specificiation from L1Calo web pages for details.
Start cleanly
Calculate MET^2
Ex or Ey overflow automatically fires all thresholds
Otherwise see which thresholds were passed
Definition at line 257 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::etOverflow | ( | ) | const |
return Et overflow bit
Definition at line 156 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::etSumHits | ( | ) | const |
return EtSum hits
Definition at line 192 of file SystemEnergy.cxx.
|
private |
Test Et sum against ETsum thresholds.
Definition at line 302 of file SystemEnergy.cxx.
int LVL1::SystemEnergy::ex | ( | ) | const |
unsigned int LVL1::SystemEnergy::exOverflow | ( | ) | const |
unsigned int LVL1::SystemEnergy::exTC | ( | ) | const |
15 bit twos-complement format
return crate Ex in 15-bit twos-complement format (hardware format)
Definition at line 174 of file SystemEnergy.cxx.
int LVL1::SystemEnergy::ey | ( | ) | const |
unsigned int LVL1::SystemEnergy::eyOverflow | ( | ) | const |
return Ey overflow bit
Definition at line 168 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::eyTC | ( | ) | const |
return crate Ey in 15-bit twos-complement format (hardware format)
Definition at line 180 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::metSigHits | ( | ) | const |
return MEtSig hits
Definition at line 198 of file SystemEnergy.cxx.
|
private |
Test MEt Significance against METSig thresholds.
Start cleanly
No restricted eta MET significance trigger
Obtain parameters from configuration service
Start with overflow and range checks
Perform threshold tests. Emulate firmware logic for this, so don't explicitly calculate XS Prepare factors we wil re-use for each threshold. Scale bQ to hardware precision
get Threshold values and test aQTiQ has to be scaled to hardware precision after product formed
Definition at line 351 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::roiWord0 | ( | ) | const |
unsigned int LVL1::SystemEnergy::roiWord1 | ( | ) | const |
return RoI word 1 (Ey value & overflow, EtSum hits)
Definition at line 221 of file SystemEnergy.cxx.
unsigned int LVL1::SystemEnergy::roiWord2 | ( | ) | const |
return RoI word 2 (Et value & overflow, EtMiss hits)
Definition at line 238 of file SystemEnergy.cxx.
|
private |
Definition at line 88 of file SystemEnergy.h.
|
private |
Definition at line 81 of file SystemEnergy.h.
|
private |
Definition at line 84 of file SystemEnergy.h.
|
private |
Definition at line 82 of file SystemEnergy.h.
|
staticprivate |
Definition at line 87 of file SystemEnergy.h.
|
private |
Definition at line 72 of file SystemEnergy.h.
|
staticprivate |
Definition at line 86 of file SystemEnergy.h.
|
private |
Definition at line 83 of file SystemEnergy.h.
|
private |
Definition at line 79 of file SystemEnergy.h.
|
private |
Definition at line 77 of file SystemEnergy.h.
|
private |
Definition at line 78 of file SystemEnergy.h.
|
private |
Definition at line 80 of file SystemEnergy.h.
|
staticprivate |
Definition at line 85 of file SystemEnergy.h.
|
private |
Definition at line 76 of file SystemEnergy.h.
|
private |
Definition at line 74 of file SystemEnergy.h.
|
private |
Definition at line 75 of file SystemEnergy.h.