![]() |
ATLAS Offline Software
|
Class describing a LVL1 eFEX EM region of interest. More...
#include <eFexEMRoI_v1.h>
Public Types | |
| enum | ObjectType { xTOB = 0 , TOB = 1 } |
| Object types. More... | |
Public Member Functions | |
| eFexEMRoI_v1 () | |
| Default constructor. | |
| void | initialize (unsigned int eFexNumber, unsigned int shelf, uint32_t word0) |
| Initialise the object with its most important properties TOB initialiser. | |
| void | initialize (uint32_t word0, uint32_t word1) |
| xTOB initialiser | |
| uint32_t | word0 () const |
| The "raw" 32-bit words describing the e/gamma candidate. | |
| uint32_t | word1 () const |
| void | setWord0 (uint32_t value) |
| Set the "raw" 32-bit words describing the e/gamma candidate. | |
| void | setWord1 (uint32_t value) |
| float | et () const |
| TOB ET (decoded from TOB, stored for convenience). | |
| void | setEt (float value) |
| floating point value (MeV, TOB scale) | |
| float | eta () const |
| setter for the above | |
| void | setEta (float value) |
| Getter for floating point, full precision (0.025) eta. | |
| int | iEta () const |
| setter for the above | |
| unsigned int | seed () const |
| getter for integer eta index (-25->+24) | |
| float | phi () const |
| Seed supercell index within central tower (0 -> 3). | |
| void | setPhi (float value) |
| Floating point, ATLAS phi convention (-pi -> pi). | |
| int | iPhi () const |
| Setter for the above. | |
| int | iEtaTopo () const |
| Getter for integer phi index (0-63). | |
| int | iPhiTopo () const |
| Return phi index in the range used by L1Topo (0->127). | |
| float | Reta () const |
| Jet Discriminants Derived floating point values (not used in actual algorithm). | |
| float | Rhad () const |
| float | Wstot () const |
| uint16_t | RetaCore () const |
| Actual values used in algorithm (setters and getters). | |
| uint16_t | RetaEnv () const |
| uint16_t | RhadEM () const |
| uint16_t | RhadHad () const |
| uint16_t | WstotNumerator () const |
| uint16_t | WstotDenominator () const |
| void | setRetaCore (uint16_t value) |
| void | setRetaEnv (uint16_t value) |
| void | setRhadEM (uint16_t value) |
| void | setRhadHad (uint16_t value) |
| void | setWstotNumerator (uint16_t value) |
| void | setWstotDenominator (uint16_t value) |
| char | isTOB () const |
| Is this one a TOB (or xTOB partner of a TOB)? | |
| void | setIsTOB (char value) |
| uint32_t | tobWord () const |
| Return TOB word corresponding to this TOB or xTOB. | |
| ObjectType | type () const |
| Data decoded from the TOB/RoI word and eFEX number. | |
| unsigned int | shelfNumber () const |
| unsigned int | eFexNumber () const |
| Methods to decode data from the TOB/RoI and return to the user. | |
| unsigned int | fpga () const |
| FPGA number. | |
| unsigned int | fpgaEta () const |
| eta index within FPGA | |
| unsigned int | fpgaPhi () const |
| phi index within FPGA | |
| unsigned int | UpNotDown () const |
| Cluster up/down flag (1 = up, 0 = down). | |
| unsigned int | etTOB () const |
| Cluster ET (TOB ET scale, 100 MeV/count). | |
| unsigned int | etXTOB () const |
| Cluster ET (xTOB ET scale, 25 MeV/count). | |
| unsigned int | RetaThresholds () const |
| Jet Discriminant 1 (R_eta) results. | |
| unsigned int | RhadThresholds () const |
| Jet Discriminant 2 (R_had) results. | |
| unsigned int | WstotThresholds () const |
| Jet Discriminant 3 (W_stot) results. | |
| unsigned int | seedMax () const |
| Seed = max flag. Is this really useful? | |
| unsigned int | bcn4 () const |
Static Private Attributes | |
| static const float | s_tobEtScale = 100. |
| Constants used in converting to ATLAS units. | |
| static const float | s_xTobEtScale = 25. |
| static const float | s_towerEtaWidth = 0.1 |
| static const int | s_fpgaBit = 30 |
| Constants used in decoding TOB words For TOB word format changes these can be replaced by arrays in the _v2 object so that different versions can be decoded by one class. | |
| static const int | s_etaBit = 27 |
| static const int | s_phiBit = 24 |
| static const int | s_veto3Bit = 22 |
| static const int | s_veto2Bit = 20 |
| static const int | s_veto1Bit = 18 |
| static const int | s_seedBit = 16 |
| static const int | s_updownBit = 15 |
| static const int | s_maxBit = 14 |
| static const int | s_etBit = 0 |
| static const int | s_etBitXTOB = 2 |
| static const int | s_bcn4Bit = 28 |
| static const int | s_shelfBit = 24 |
| static const int | s_eFexBit = 20 |
| static const int | s_fpgaMask = 0x3 |
| static const int | s_etaMask = 0x7 |
| static const int | s_phiMask = 0x7 |
| static const int | s_veto1Mask = 0x3 |
| static const int | s_veto2Mask = 0x3 |
| static const int | s_veto3Mask = 0x3 |
| static const int | s_seedMask = 0x3 |
| static const int | s_updownMask = 0x1 |
| static const int | s_maxMask = 0x1 |
| static const int | s_etMask = 0xfff |
| static const int | s_etFullMask = 0xffff |
| static const int | s_bcn4Mask = 0xf |
| static const int | s_eFexMask = 0xf |
| static const int | s_shelfMask = 0xf |
| static const int | s_numPhi = 64 |
| static const int | s_eFexPhiMask = 0xf |
| static const int | s_eFexPhiBit = 0 |
| static const int | s_eFexPhiWidth = 8 |
| static const int | s_eFexPhiOffset = 2 |
| static const int | s_eFexEtaMask = 0xf |
| static const int | s_eFexEtaBit = 4 |
| static const int | s_eFexEtaWidth = 16 |
| static const int | s_fpgaEtaWidth = 4 |
| static const int | s_shelfPhiWidth = 4 |
| static const int | s_minEta = -25 |
Class describing a LVL1 eFEX EM region of interest.
This class describes the properties of an EM Trigger Object (TOB) or Region of Interest (RoI) in the xAOD format.
Definition at line 33 of file eFexEMRoI_v1.h.
Object types.
| Enumerator | |
|---|---|
| xTOB | This object is an xTOB (2*32 bit words). |
| TOB | This object is a TOB (1*32 bit word). |
Definition at line 46 of file eFexEMRoI_v1.h.
| xAOD::eFexEMRoI_v1::eFexEMRoI_v1 | ( | ) |
Default constructor.
Definition at line 23 of file eFexEMRoI_v1.cxx.
Definition at line 194 of file eFexEMRoI_v1.cxx.
| setWord1 setRetaEnv setRhadHad setWstotDenominator setEt setPhi unsigned int xAOD::eFexEMRoI_v1::eFexNumber | ( | ) | const |
Methods to decode data from the TOB/RoI and return to the user.
eFEX number
Definition at line 121 of file eFexEMRoI_v1.cxx.
| float xAOD::eFexEMRoI_v1::et | ( | ) | const |
TOB ET (decoded from TOB, stored for convenience).
| float xAOD::eFexEMRoI_v1::eta | ( | ) | const |
setter for the above
Eta Coordinates (decoded from TOB, float stored for convenience)
Cluster ET (TOB ET scale, 100 MeV/count).
Raw ET on TOB scale (100 MeV/count).
Definition at line 162 of file eFexEMRoI_v1.cxx.
Cluster ET (xTOB ET scale, 25 MeV/count).
Full precision ET (25 MeV/count, only available if object is an xTOB.
If the object is not an xTOB this will return 0
Definition at line 176 of file eFexEMRoI_v1.cxx.
FPGA number.
Hardware coordinate elements.
Definition at line 137 of file eFexEMRoI_v1.cxx.
| int xAOD::eFexEMRoI_v1::iEta | ( | ) | const |
setter for the above
Return an eta index in the range -25 -> +24 Value corresponds to 10*lower eta edge of tower Note that this may not be the final format!
And you need to combine with the seed() value to get full eta precision
With appropriate constants this should work in one line...
Return value
Definition at line 250 of file eFexEMRoI_v1.cxx.
| int xAOD::eFexEMRoI_v1::iEtaTopo | ( | ) | const |
Getter for integer phi index (0-63).
Return an eta index in the range used by L1Topo (-100->+99).
Getters for Topo coordinate indices
This returns e/g seed position as an integer index. Value corresponds to 4*lower eta edge of supercell (so 0 means 0.0 -> 0.025)
Definition at line 269 of file eFexEMRoI_v1.cxx.
xTOB initialiser
xTOB initialize method
Quantities derived from TOB data, stored for convenience
If the object is a TOB then the isTOB should be true. For xTOB default is false, but should be set if a matching TOB is found
Definition at line 58 of file eFexEMRoI_v1.cxx.
Initialise the object with its most important properties TOB initialiser.
Quantities derived from TOB data, stored for convenience
If the object is a TOB then the isTOB should be true. For xTOB default is false, but should be set by the user if a matching TOB is found
Definition at line 28 of file eFexEMRoI_v1.cxx.
| int xAOD::eFexEMRoI_v1::iPhi | ( | ) | const |
Setter for the above.
Methods that decode the eFEX number.
Return phi index in the range 0-63
Calculate octant (0-7) from eFEX and shelf numbers
Find global phi index (0-63) for this window in this eFEX
Definition at line 232 of file eFexEMRoI_v1.cxx.
| int xAOD::eFexEMRoI_v1::iPhiTopo | ( | ) | const |
Return phi index in the range used by L1Topo (0->127).
Topo use pi/64 steps. Ours are pi/32, so we simply return 2* our integer index
Definition at line 261 of file eFexEMRoI_v1.cxx.
| char xAOD::eFexEMRoI_v1::isTOB | ( | ) | const |
Is this one a TOB (or xTOB partner of a TOB)?
| float xAOD::eFexEMRoI_v1::phi | ( | ) | const |
Seed supercell index within central tower (0 -> 3).
Phi coordinates (as for eta)
| float xAOD::eFexEMRoI_v1::Reta | ( | ) | const |
Jet Discriminants Derived floating point values (not used in actual algorithm).
Jet discriminant values.
Note that these are for convenience & intelligibility, but these should not be used for bitwise-accurate menu studies
Definition at line 212 of file eFexEMRoI_v1.cxx.
| uint16_t xAOD::eFexEMRoI_v1::RetaCore | ( | ) | const |
Actual values used in algorithm (setters and getters).
| uint16_t xAOD::eFexEMRoI_v1::RetaEnv | ( | ) | const |
Jet Discriminant 1 (R_eta) results.
Results of the 3 jet discriminant algorithms.
Definition at line 182 of file eFexEMRoI_v1.cxx.
| float xAOD::eFexEMRoI_v1::Rhad | ( | ) | const |
Definition at line 218 of file eFexEMRoI_v1.cxx.
| uint16_t xAOD::eFexEMRoI_v1::RhadEM | ( | ) | const |
| uint16_t xAOD::eFexEMRoI_v1::RhadHad | ( | ) | const |
getter for integer eta index (-25->+24)
Definition at line 153 of file eFexEMRoI_v1.cxx.
Seed = max flag. Is this really useful?
Definition at line 157 of file eFexEMRoI_v1.cxx.
| void xAOD::eFexEMRoI_v1::setEt | ( | float | value | ) |
floating point value (MeV, TOB scale)
| void xAOD::eFexEMRoI_v1::setEta | ( | float | value | ) |
Getter for floating point, full precision (0.025) eta.
| void xAOD::eFexEMRoI_v1::setIsTOB | ( | char | value | ) |
| void xAOD::eFexEMRoI_v1::setPhi | ( | float | value | ) |
Floating point, ATLAS phi convention (-pi -> pi).
| void xAOD::eFexEMRoI_v1::setRetaCore | ( | uint16_t | value | ) |
| void xAOD::eFexEMRoI_v1::setRetaEnv | ( | uint16_t | value | ) |
| void xAOD::eFexEMRoI_v1::setRhadEM | ( | uint16_t | value | ) |
| void xAOD::eFexEMRoI_v1::setRhadHad | ( | uint16_t | value | ) |
| void xAOD::eFexEMRoI_v1::setWord0 | ( | uint32_t | value | ) |
Set the "raw" 32-bit words describing the e/gamma candidate.
| void xAOD::eFexEMRoI_v1::setWord1 | ( | uint32_t | value | ) |
| void xAOD::eFexEMRoI_v1::setWstotDenominator | ( | uint16_t | value | ) |
| void xAOD::eFexEMRoI_v1::setWstotNumerator | ( | uint16_t | value | ) |
Definition at line 126 of file eFexEMRoI_v1.cxx.
| uint32_t xAOD::eFexEMRoI_v1::tobWord | ( | ) | const |
Return TOB word corresponding to this TOB or xTOB.
Return single 32-bit TOB word from an xTOB.
Definition at line 199 of file eFexEMRoI_v1.cxx.
| eFexEMRoI_v1::ObjectType xAOD::eFexEMRoI_v1::type | ( | ) | const |
Data decoded from the TOB/RoI word and eFEX number.
TOB or xTOB?
Object type (TOB or xTOB)
Definition at line 131 of file eFexEMRoI_v1.cxx.
Cluster up/down flag (1 = up, 0 = down).
Definition at line 149 of file eFexEMRoI_v1.cxx.
| uint32_t xAOD::eFexEMRoI_v1::word0 | ( | ) | const |
The "raw" 32-bit words describing the e/gamma candidate.
| uint32_t xAOD::eFexEMRoI_v1::word1 | ( | ) | const |
| float xAOD::eFexEMRoI_v1::Wstot | ( | ) | const |
Definition at line 224 of file eFexEMRoI_v1.cxx.
| uint16_t xAOD::eFexEMRoI_v1::WstotDenominator | ( | ) | const |
| uint16_t xAOD::eFexEMRoI_v1::WstotNumerator | ( | ) | const |
Definition at line 178 of file eFexEMRoI_v1.h.
Definition at line 194 of file eFexEMRoI_v1.h.
Definition at line 180 of file eFexEMRoI_v1.h.
Definition at line 205 of file eFexEMRoI_v1.h.
Definition at line 204 of file eFexEMRoI_v1.h.
Definition at line 206 of file eFexEMRoI_v1.h.
Definition at line 195 of file eFexEMRoI_v1.h.
Definition at line 201 of file eFexEMRoI_v1.h.
Definition at line 200 of file eFexEMRoI_v1.h.
Definition at line 203 of file eFexEMRoI_v1.h.
Definition at line 202 of file eFexEMRoI_v1.h.
Definition at line 168 of file eFexEMRoI_v1.h.
Definition at line 184 of file eFexEMRoI_v1.h.
Definition at line 176 of file eFexEMRoI_v1.h.
Definition at line 177 of file eFexEMRoI_v1.h.
Definition at line 193 of file eFexEMRoI_v1.h.
Definition at line 192 of file eFexEMRoI_v1.h.
Constants used in decoding TOB words For TOB word format changes these can be replaced by arrays in the _v2 object so that different versions can be decoded by one class.
See https://edms.cern.ch/ui/file/1492098/1/L1CaloTOBFormats_v015_docx_cpdf.pdf https://edms.cern.ch/file/1419789/1/eFeX_System_Readout_Formats_Draft095_docx_cpdf.pdf
Definition at line 167 of file eFexEMRoI_v1.h.
Definition at line 207 of file eFexEMRoI_v1.h.
Definition at line 183 of file eFexEMRoI_v1.h.
Definition at line 175 of file eFexEMRoI_v1.h.
Definition at line 191 of file eFexEMRoI_v1.h.
Definition at line 209 of file eFexEMRoI_v1.h.
Definition at line 199 of file eFexEMRoI_v1.h.
Definition at line 169 of file eFexEMRoI_v1.h.
Definition at line 185 of file eFexEMRoI_v1.h.
Definition at line 173 of file eFexEMRoI_v1.h.
Definition at line 189 of file eFexEMRoI_v1.h.
Definition at line 179 of file eFexEMRoI_v1.h.
Definition at line 196 of file eFexEMRoI_v1.h.
Definition at line 208 of file eFexEMRoI_v1.h.
Constants used in converting to ATLAS units.
Definition at line 152 of file eFexEMRoI_v1.h.
Definition at line 154 of file eFexEMRoI_v1.h.
Definition at line 174 of file eFexEMRoI_v1.h.
Definition at line 190 of file eFexEMRoI_v1.h.
Definition at line 172 of file eFexEMRoI_v1.h.
Definition at line 186 of file eFexEMRoI_v1.h.
Definition at line 171 of file eFexEMRoI_v1.h.
Definition at line 187 of file eFexEMRoI_v1.h.
Definition at line 170 of file eFexEMRoI_v1.h.
Definition at line 188 of file eFexEMRoI_v1.h.
Definition at line 153 of file eFexEMRoI_v1.h.