ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::jFexFwdElRoI_v1 Class Reference

Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format. More...

#include <jFexFwdElRoI_v1.h>

Inheritance diagram for xAOD::jFexFwdElRoI_v1:
Collaboration diagram for xAOD::jFexFwdElRoI_v1:

Public Member Functions

 jFexFwdElRoI_v1 ()
 Default constructor.
void initialize (uint8_t jFexNumber, uint8_t fpgaNumber, uint32_t tobWord, char istob, int resolution, float_t eta, float_t phi)
 initialze the EDM
uint32_t tobWord () const
 The "raw" 32-bit word describing the object candidate, 27 bit-word used at hardware level.
uint16_t tobEt () const
 Decoded from Tob (for convenience).
uint8_t tobEMIso () const
uint8_t tobEMf1 () const
uint8_t tobEMf2 () const
uint8_t tobLocalEta () const
uint8_t tobLocalPhi () const
uint8_t tobSat () const
int globalEta () const
 Calculated from Tob.
uint globalPhi () const
uint8_t jFexNumber () const
 Additional info (initialization).
uint8_t fpgaNumber () const
float eta () const
float phi () const
int tobEtScale () const
char isTOB () const
uint16_t EtEMiso () const
 Isolation and emfraction variables (not available yet) Bitwise: EtEMiso, EtEM, EtHad1, ETHad2 also possible floats: EtEMiso/(tobEt+EtEMiso), EtHad1/(EtEM+EtHad1), EtHad2/(EtEM+EtHad2).
uint16_t EtEM () const
uint16_t EtHad1 () const
uint16_t EtHad2 () const
int menuEta () const
 the eta index to use for looking up thresholds in the menu
void setIsTOB (char value)
 Set the isTOB variable (TOB or xTOB).
void setTobWord (uint32_t tobWord)
 Set the "raw" words describing the object candidate, need 27/32 bits.
void setjFexNumber (uint8_t jFexNumber)
void setfpgaNumber (uint8_t fpgaNumber)
unsigned int unpackEtTOB () const
 TOB ET (decoded from TOB, stored for convenience).
void setTobEt (uint16_t value)
unsigned int et () const
 Methods that require combining results or applying scales.
unsigned int unpackEMIsoTOB () const
 TOB Isolation bits (decoded from TOB, stored for convenience).
void setTobEMIso (uint8_t value)
unsigned int unpackEMf1TOB () const
 TOB EM fraction bits (decoded from TOB, stored for convenience).
void setTobEMf1 (uint8_t value)
unsigned int unpackEMf2TOB () const
void setTobEMf2 (uint8_t value)
unsigned int unpackEtaIndex () const
 Eta coordinates.
void setTobLocalEta (uint8_t value)
unsigned int unpackPhiIndex () const
 Phi coordinates.
void setTobLocalPhi (uint8_t value)
unsigned int unpackSaturationIndex () const
void setTobSat (uint8_t value)
int getGlobalEta () const
 could add iso, emf1 and emf2 calculated from EtEMiso, EtEM, ETHad1 and EtHad2
void setGlobalEta (int value)
void setEta (float value)
uint getGlobalPhi () const
void setGlobalPhi (uint value)
void setPhi (float value)
void setResolution (int value)
unsigned int getEtEMiso () const
void setEtEMiso (uint16_t value)
unsigned int getEtEM () const
void setEtEM (uint16_t value)
unsigned int getEtHad1 () const
void setEtHad1 (uint16_t value)
unsigned int getEtHad2 () const
void setEtHad2 (uint16_t value)

Static Private Attributes

static const std::vector< ints_FWD_EtaPosition
static const std::vector< ints_FCAL_EtaPosition = {32,34,35,37,38,40,41,43,44,46,47,49}
static const int s_resBit = 27
static const int s_emf2Bit = 25
static const int s_emf1Bit = 23
static const int s_isoBit = 21
static const int s_etBit = 10
static const int s_etaBit = 5
static const int s_phiBit = 1
static const int s_satBit = 0
static const int s_resMask = 0x1f
static const int s_emf2Mask = 0x3
static const int s_emf1Mask = 0x3
static const int s_isoMask = 0x3
static const int s_etMask = 0x7ff
static const int s_etaMask = 0x1f
static const int s_phiMask = 0xf
static const int s_satMask = 0x1

Detailed Description

Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.

Definition at line 23 of file jFexFwdElRoI_v1.h.

Constructor & Destructor Documentation

◆ jFexFwdElRoI_v1()

xAOD::jFexFwdElRoI_v1::jFexFwdElRoI_v1 ( )

Default constructor.

Definition at line 27 of file jFexFwdElRoI_v1.cxx.

28 : SG::AuxElement() {
29 }
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.

Member Function Documentation

◆ et()

unsigned int xAOD::jFexFwdElRoI_v1::et ( ) const

Methods that require combining results or applying scales.

ET on TOB scale

Definition at line 151 of file jFexFwdElRoI_v1.cxx.

151 {
152 //return TOB Et in a 1 MeV scale
153 return tobEt()*tobEtScale();
154 }
int tobEtScale() const
uint16_t tobEt() const
Decoded from Tob (for convenience).

◆ eta()

float xAOD::jFexFwdElRoI_v1::eta ( ) const

◆ EtEM()

uint16_t xAOD::jFexFwdElRoI_v1::EtEM ( ) const

◆ EtEMiso()

uint16_t xAOD::jFexFwdElRoI_v1::EtEMiso ( ) const

Isolation and emfraction variables (not available yet) Bitwise: EtEMiso, EtEM, EtHad1, ETHad2 also possible floats: EtEMiso/(tobEt+EtEMiso), EtHad1/(EtEM+EtHad1), EtHad2/(EtEM+EtHad2).

◆ EtHad1()

uint16_t xAOD::jFexFwdElRoI_v1::EtHad1 ( ) const

◆ EtHad2()

uint16_t xAOD::jFexFwdElRoI_v1::EtHad2 ( ) const

◆ fpgaNumber()

uint8_t xAOD::jFexFwdElRoI_v1::fpgaNumber ( ) const

◆ getEtEM()

unsigned int xAOD::jFexFwdElRoI_v1::getEtEM ( ) const

Definition at line 235 of file jFexFwdElRoI_v1.cxx.

235 {
236 // to be implemented
237 return 0;
238 }

◆ getEtEMiso()

unsigned int xAOD::jFexFwdElRoI_v1::getEtEMiso ( ) const

Definition at line 230 of file jFexFwdElRoI_v1.cxx.

230 {
231 // to be implemented
232 return 0;
233 }

◆ getEtHad1()

unsigned int xAOD::jFexFwdElRoI_v1::getEtHad1 ( ) const

Definition at line 240 of file jFexFwdElRoI_v1.cxx.

240 {
241 // to be implemented
242 return 0;
243 }

◆ getEtHad2()

unsigned int xAOD::jFexFwdElRoI_v1::getEtHad2 ( ) const

Definition at line 245 of file jFexFwdElRoI_v1.cxx.

245 {
246 // to be implemented
247 return 0;
248 }

◆ getGlobalEta()

int xAOD::jFexFwdElRoI_v1::getGlobalEta ( ) const

could add iso, emf1 and emf2 calculated from EtEMiso, EtEM, ETHad1 and EtHad2

Definition at line 160 of file jFexFwdElRoI_v1.cxx.

160 {
161
162 int globalEta = 0;
163
164 if(jFexNumber()==5 ) {
165
166 if(tobLocalEta() <=s_FWD_EtaPosition[1]) { //Region 1
167 globalEta = (tobLocalEta() + (8*(jFexNumber() -3)) );
168 }
169 else if(tobLocalEta() <=s_FWD_EtaPosition[3]) { //Region 2
170 globalEta = 25 +2*(tobLocalEta()-9);
171 }
172 else if(tobLocalEta() == s_FWD_EtaPosition[4] ) { //Region 3
173 globalEta = 31;
174 }
175 else if(tobLocalEta() <= s_FWD_EtaPosition[6]) { //Region 4
177 }
178
179 }
180 else if(jFexNumber()==0) {
181
182 if(tobLocalEta() <=s_FWD_EtaPosition[1]) { //Region 1
183 globalEta = (8-tobLocalEta() + (8*(jFexNumber() -3)) )-1;
184 }
185 else if(tobLocalEta() <=s_FWD_EtaPosition[3]) { //Region 2
186 globalEta = -27 -2*(tobLocalEta()-9);
187 }
188 else if(tobLocalEta() == s_FWD_EtaPosition[4] ) { //Region 3
189 globalEta = -32;
190 }
191 else if(tobLocalEta() <= s_FWD_EtaPosition[6]) { //Region 4
193 }
194 }
195 else { //Module 1-4
196 globalEta = (tobLocalEta() + (8*(jFexNumber() -3)) );
197 }
198
199 return globalEta;
200 }
int globalEta() const
Calculated from Tob.
static const std::vector< int > s_FCAL_EtaPosition
static const std::vector< int > s_FWD_EtaPosition
uint8_t tobLocalEta() const
uint8_t jFexNumber() const
Additional info (initialization).

◆ getGlobalPhi()

uint xAOD::jFexFwdElRoI_v1::getGlobalPhi ( ) const

Definition at line 203 of file jFexFwdElRoI_v1.cxx.

203 {
204
205 uint globalPhi = 0;
206 const unsigned int quadrant = ::getQuadrant(fpgaNumber());
207
208 //16 is the phi height of an FPGA
209 if(jFexNumber() == 0 || jFexNumber() == 5) {
210
211 if(tobLocalEta() <=s_FWD_EtaPosition[1]) { //Region 1
212 globalPhi = tobLocalPhi() + (quadrant * 16);
213 }
214 else if(tobLocalEta() <=s_FWD_EtaPosition[4]) {//Region 2 and Region 3 have the same granularity
215 globalPhi = (16*quadrant) + 2*(tobLocalPhi());
216 }
217 else if(tobLocalEta() <=s_FWD_EtaPosition[6]) {//Region 4
218 globalPhi = (16*quadrant) + 4*(tobLocalPhi())+1;
219 }
220 }
221 else { //Modules 1-4
222 globalPhi = tobLocalPhi() + (quadrant * 16);
223 }
224
225 return globalPhi;
226
227 }
unsigned int uint
uint8_t tobLocalPhi() const
uint globalPhi() const
uint8_t fpgaNumber() const

◆ globalEta()

int xAOD::jFexFwdElRoI_v1::globalEta ( ) const

Calculated from Tob.

◆ globalPhi()

uint xAOD::jFexFwdElRoI_v1::globalPhi ( ) const

◆ initialize()

void xAOD::jFexFwdElRoI_v1::initialize ( uint8_t jFexNumber,
uint8_t fpgaNumber,
uint32_t tobWord,
char istob,
int resolution,
float_t eta,
float_t phi )

initialze the EDM

Definition at line 30 of file jFexFwdElRoI_v1.cxx.

30 {
31
44 setEta( eta );
45 setPhi( phi );
46 setResolution( resolution );
47 setIsTOB(istob);
52
53 return;
54 }
void setGlobalPhi(uint value)
unsigned int getEtEM() const
void setGlobalEta(int value)
void setResolution(int value)
void setTobEt(uint16_t value)
void setjFexNumber(uint8_t jFexNumber)
unsigned int getEtHad1() const
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate, 27 bit-word used at hardware level.
unsigned int unpackEtaIndex() const
Eta coordinates.
void setTobLocalPhi(uint8_t value)
void setTobLocalEta(uint8_t value)
void setEtHad2(uint16_t value)
unsigned int unpackEMf2TOB() const
void setEtEMiso(uint16_t value)
void setEtHad1(uint16_t value)
void setIsTOB(char value)
Set the isTOB variable (TOB or xTOB).
unsigned int getEtEMiso() const
unsigned int unpackPhiIndex() const
Phi coordinates.
unsigned int unpackEMIsoTOB() const
TOB Isolation bits (decoded from TOB, stored for convenience).
void setTobEMIso(uint8_t value)
void setfpgaNumber(uint8_t fpgaNumber)
void setEta(float value)
unsigned int unpackEMf1TOB() const
TOB EM fraction bits (decoded from TOB, stored for convenience).
unsigned int getEtHad2() const
void setPhi(float value)
void setTobEMf1(uint8_t value)
void setTobSat(uint8_t value)
unsigned int unpackEtTOB() const
TOB ET (decoded from TOB, stored for convenience).
void setEtEM(uint16_t value)
unsigned int unpackSaturationIndex() const
int getGlobalEta() const
could add iso, emf1 and emf2 calculated from EtEMiso, EtEM, ETHad1 and EtHad2
void setTobWord(uint32_t tobWord)
Set the "raw" words describing the object candidate, need 27/32 bits.
void setTobEMf2(uint8_t value)

◆ isTOB()

char xAOD::jFexFwdElRoI_v1::isTOB ( ) const

◆ jFexNumber()

uint8_t xAOD::jFexFwdElRoI_v1::jFexNumber ( ) const

Additional info (initialization).

◆ menuEta()

int xAOD::jFexFwdElRoI_v1::menuEta ( ) const

the eta index to use for looking up thresholds in the menu

Definition at line 56 of file jFexFwdElRoI_v1.cxx.

56 {
57 // adapted from TSU::toTopoInteger
58 static const unsigned int RESOLUTION = 40;
59 float tmp = eta()*RESOLUTION;
60 int index;
61 if ( (abs(tmp)-0.5)/2. == std::round((abs(tmp)-0.5)/2.) ) {
62 if ( tmp>0 ) { index = std::floor(tmp); }
63 else { index = std::ceil(tmp); }
64 } else {
65 index = std::round(tmp);
66 }
67 return index/4; // note: unlike SR and LR jets, apparently this can be signed?
68 }
str index
Definition DeMoScan.py:362

◆ phi()

float xAOD::jFexFwdElRoI_v1::phi ( ) const

◆ setEta()

void xAOD::jFexFwdElRoI_v1::setEta ( float value)

◆ setEtEM()

void xAOD::jFexFwdElRoI_v1::setEtEM ( uint16_t value)

◆ setEtEMiso()

void xAOD::jFexFwdElRoI_v1::setEtEMiso ( uint16_t value)

◆ setEtHad1()

void xAOD::jFexFwdElRoI_v1::setEtHad1 ( uint16_t value)

◆ setEtHad2()

void xAOD::jFexFwdElRoI_v1::setEtHad2 ( uint16_t value)

◆ setfpgaNumber()

void xAOD::jFexFwdElRoI_v1::setfpgaNumber ( uint8_t fpgaNumber)

◆ setGlobalEta()

void xAOD::jFexFwdElRoI_v1::setGlobalEta ( int value)

◆ setGlobalPhi()

void xAOD::jFexFwdElRoI_v1::setGlobalPhi ( uint value)

◆ setIsTOB()

void xAOD::jFexFwdElRoI_v1::setIsTOB ( char value)

Set the isTOB variable (TOB or xTOB).

◆ setjFexNumber()

void xAOD::jFexFwdElRoI_v1::setjFexNumber ( uint8_t jFexNumber)

◆ setPhi()

void xAOD::jFexFwdElRoI_v1::setPhi ( float value)

◆ setResolution()

void xAOD::jFexFwdElRoI_v1::setResolution ( int value)

◆ setTobEMf1()

void xAOD::jFexFwdElRoI_v1::setTobEMf1 ( uint8_t value)

◆ setTobEMf2()

void xAOD::jFexFwdElRoI_v1::setTobEMf2 ( uint8_t value)

◆ setTobEMIso()

void xAOD::jFexFwdElRoI_v1::setTobEMIso ( uint8_t value)

◆ setTobEt()

void xAOD::jFexFwdElRoI_v1::setTobEt ( uint16_t value)

◆ setTobLocalEta()

void xAOD::jFexFwdElRoI_v1::setTobLocalEta ( uint8_t value)

◆ setTobLocalPhi()

void xAOD::jFexFwdElRoI_v1::setTobLocalPhi ( uint8_t value)

◆ setTobSat()

void xAOD::jFexFwdElRoI_v1::setTobSat ( uint8_t value)

◆ setTobWord()

void xAOD::jFexFwdElRoI_v1::setTobWord ( uint32_t tobWord)

Set the "raw" words describing the object candidate, need 27/32 bits.

◆ tobEMf1()

uint8_t xAOD::jFexFwdElRoI_v1::tobEMf1 ( ) const

◆ tobEMf2()

uint8_t xAOD::jFexFwdElRoI_v1::tobEMf2 ( ) const

◆ tobEMIso()

uint8_t xAOD::jFexFwdElRoI_v1::tobEMIso ( ) const

◆ tobEt()

uint16_t xAOD::jFexFwdElRoI_v1::tobEt ( ) const

Decoded from Tob (for convenience).

◆ tobEtScale()

int xAOD::jFexFwdElRoI_v1::tobEtScale ( ) const

◆ tobLocalEta()

uint8_t xAOD::jFexFwdElRoI_v1::tobLocalEta ( ) const

◆ tobLocalPhi()

uint8_t xAOD::jFexFwdElRoI_v1::tobLocalPhi ( ) const

◆ tobSat()

uint8_t xAOD::jFexFwdElRoI_v1::tobSat ( ) const

◆ tobWord()

uint32_t xAOD::jFexFwdElRoI_v1::tobWord ( ) const

The "raw" 32-bit word describing the object candidate, 27 bit-word used at hardware level.

◆ unpackEMf1TOB()

unsigned int xAOD::jFexFwdElRoI_v1::unpackEMf1TOB ( ) const

TOB EM fraction bits (decoded from TOB, stored for convenience).

Definition at line 125 of file jFexFwdElRoI_v1.cxx.

125 {
126 return (tobWord() >> s_emf1Bit) & s_emf1Mask;
127 }
static const int s_emf1Bit
static const int s_emf1Mask

◆ unpackEMf2TOB()

unsigned int xAOD::jFexFwdElRoI_v1::unpackEMf2TOB ( ) const

Definition at line 130 of file jFexFwdElRoI_v1.cxx.

130 {
131 return (tobWord() >> s_emf2Bit) & s_emf2Mask;
132 }
static const int s_emf2Mask
static const int s_emf2Bit

◆ unpackEMIsoTOB()

unsigned int xAOD::jFexFwdElRoI_v1::unpackEMIsoTOB ( ) const

TOB Isolation bits (decoded from TOB, stored for convenience).

Definition at line 120 of file jFexFwdElRoI_v1.cxx.

120 {
121 return (tobWord() >> s_isoBit) & s_isoMask;
122 }
static const int s_isoMask
static const int s_isoBit

◆ unpackEtaIndex()

unsigned int xAOD::jFexFwdElRoI_v1::unpackEtaIndex ( ) const

Eta coordinates.

Definition at line 135 of file jFexFwdElRoI_v1.cxx.

135 {
136 return (tobWord() >> s_etaBit) & s_etaMask;
137 }
static const int s_etaBit
static const int s_etaMask

◆ unpackEtTOB()

unsigned int xAOD::jFexFwdElRoI_v1::unpackEtTOB ( ) const

TOB ET (decoded from TOB, stored for convenience).

Raw data words.

Used to differencite TOBs from xTOBs, once they are implemented for jFEX Only calculable externally Extracted from data words, stored for convenience global coordinates, stored for furture use but not sent to L1Topo Setting the jFEX ET resolution Additional variabes from xTob (not available yet) Methods- to decode data from the TOB/RoI and return to the user

Definition at line 115 of file jFexFwdElRoI_v1.cxx.

115 {
116 return (tobWord() >> s_etBit) & s_etMask;
117 }
static const int s_etMask
static const int s_etBit

◆ unpackPhiIndex()

unsigned int xAOD::jFexFwdElRoI_v1::unpackPhiIndex ( ) const

Phi coordinates.

Definition at line 139 of file jFexFwdElRoI_v1.cxx.

139 {
140 return (tobWord() >> s_phiBit) & s_phiMask;
141 }
static const int s_phiMask
static const int s_phiBit

◆ unpackSaturationIndex()

unsigned int xAOD::jFexFwdElRoI_v1::unpackSaturationIndex ( ) const

Definition at line 144 of file jFexFwdElRoI_v1.cxx.

144 {
145 return (tobWord() >> s_satBit) & s_satMask;
146 }
static const int s_satMask
static const int s_satBit

Member Data Documentation

◆ s_emf1Bit

const int xAOD::jFexFwdElRoI_v1::s_emf1Bit = 23
staticprivate

Definition at line 130 of file jFexFwdElRoI_v1.h.

◆ s_emf1Mask

const int xAOD::jFexFwdElRoI_v1::s_emf1Mask = 0x3
staticprivate

Definition at line 140 of file jFexFwdElRoI_v1.h.

◆ s_emf2Bit

const int xAOD::jFexFwdElRoI_v1::s_emf2Bit = 25
staticprivate

Definition at line 129 of file jFexFwdElRoI_v1.h.

◆ s_emf2Mask

const int xAOD::jFexFwdElRoI_v1::s_emf2Mask = 0x3
staticprivate

Definition at line 139 of file jFexFwdElRoI_v1.h.

◆ s_etaBit

const int xAOD::jFexFwdElRoI_v1::s_etaBit = 5
staticprivate

Definition at line 133 of file jFexFwdElRoI_v1.h.

◆ s_etaMask

const int xAOD::jFexFwdElRoI_v1::s_etaMask = 0x1f
staticprivate

Definition at line 143 of file jFexFwdElRoI_v1.h.

◆ s_etBit

const int xAOD::jFexFwdElRoI_v1::s_etBit = 10
staticprivate

Definition at line 132 of file jFexFwdElRoI_v1.h.

◆ s_etMask

const int xAOD::jFexFwdElRoI_v1::s_etMask = 0x7ff
staticprivate

Definition at line 142 of file jFexFwdElRoI_v1.h.

◆ s_FCAL_EtaPosition

const std::vector< int > xAOD::jFexFwdElRoI_v1::s_FCAL_EtaPosition = {32,34,35,37,38,40,41,43,44,46,47,49}
staticprivate

Definition at line 125 of file jFexFwdElRoI_v1.h.

◆ s_FWD_EtaPosition

const std::vector< int > xAOD::jFexFwdElRoI_v1::s_FWD_EtaPosition
staticprivate
Initial value:
= {0, 8,
9, 11,
12,
13, 24}

Definition at line 124 of file jFexFwdElRoI_v1.h.

◆ s_isoBit

const int xAOD::jFexFwdElRoI_v1::s_isoBit = 21
staticprivate

Definition at line 131 of file jFexFwdElRoI_v1.h.

◆ s_isoMask

const int xAOD::jFexFwdElRoI_v1::s_isoMask = 0x3
staticprivate

Definition at line 141 of file jFexFwdElRoI_v1.h.

◆ s_phiBit

const int xAOD::jFexFwdElRoI_v1::s_phiBit = 1
staticprivate

Definition at line 134 of file jFexFwdElRoI_v1.h.

◆ s_phiMask

const int xAOD::jFexFwdElRoI_v1::s_phiMask = 0xf
staticprivate

Definition at line 144 of file jFexFwdElRoI_v1.h.

◆ s_resBit

const int xAOD::jFexFwdElRoI_v1::s_resBit = 27
staticprivate

Definition at line 128 of file jFexFwdElRoI_v1.h.

◆ s_resMask

const int xAOD::jFexFwdElRoI_v1::s_resMask = 0x1f
staticprivate

Definition at line 138 of file jFexFwdElRoI_v1.h.

◆ s_satBit

const int xAOD::jFexFwdElRoI_v1::s_satBit = 0
staticprivate

Definition at line 135 of file jFexFwdElRoI_v1.h.

◆ s_satMask

const int xAOD::jFexFwdElRoI_v1::s_satMask = 0x1
staticprivate

Definition at line 145 of file jFexFwdElRoI_v1.h.


The documentation for this class was generated from the following files: