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

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

#include <jFexSRJetRoI_v1.h>

Inheritance diagram for xAOD::jFexSRJetRoI_v1:
Collaboration diagram for xAOD::jFexSRJetRoI_v1:

Public Member Functions

 jFexSRJetRoI_v1 ()
 Default constructor.
void initialize (uint8_t jFexNumber, uint8_t fpgaNumber, uint32_t tobWord, char istob, int resolution, float_t eta, float_t phi)
 In future initialze the EDM.
uint32_t tobWord () const
 The "raw" 32-bit word describing the object candidate.
uint8_t jFexNumber () const
uint8_t fpgaNumber () const
uint16_t tobEt () const
uint8_t tobLocalEta () const
uint8_t tobLocalPhi () const
uint8_t tobSat () const
int globalEta () const
uint globalPhi () const
float eta () const
float phi () const
int tobEtScale () const
char isTOB () const
int menuEta () const
 the eta index to use for looking up thresholds in the menu the current jFex fw only supports symmetric thresholds so index will always be >=0 to guarantee the symmetry (see L1TopoAlgorithms/jJetMultiplicity)
void setIsTOB (char value)
 Set the isTOB variable (TOB or xTOB).
void setTobWord (uint32_t tobWord)
 Set the "raw" 32-bit words describing the object candidate.
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 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 unpackGlobalEta () const
void setGlobalEta (int value)
void setEta (float value)
uint unpackGlobalPhi () const
void setGlobalPhi (uint value)
void setPhi (float value)
void setResolution (int 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 = 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_etMask = 0x7ff
static const int s_etaMask = 0x1f
static const int s_phiMask = 0xf
static const int s_resMask = 0x7ff
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 jFexSRJetRoI_v1.h.

Constructor & Destructor Documentation

◆ jFexSRJetRoI_v1()

xAOD::jFexSRJetRoI_v1::jFexSRJetRoI_v1 ( )

Default constructor.

Definition at line 34 of file jFexSRJetRoI_v1.cxx.

35 : SG::AuxElement() {
36 }
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::jFexSRJetRoI_v1::et ( ) const

Methods that require combining results or applying scales.

ET on TOB scale

Definition at line 138 of file jFexSRJetRoI_v1.cxx.

138 {
139 // Returns the TOB Et in a 1 MeV scale
140 return tobEt()*tobEtScale();
141 }
uint16_t tobEt() const
int tobEtScale() const

◆ eta()

float xAOD::jFexSRJetRoI_v1::eta ( ) const

◆ fpgaNumber()

uint8_t xAOD::jFexSRJetRoI_v1::fpgaNumber ( ) const

◆ globalEta()

int xAOD::jFexSRJetRoI_v1::globalEta ( ) const

◆ globalPhi()

uint xAOD::jFexSRJetRoI_v1::globalPhi ( ) const

◆ initialize()

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

In future initialze the EDM.

Definition at line 38 of file jFexSRJetRoI_v1.cxx.

38 {
39
40
50 setEta( eta );
51 setPhi( phi );
52 setResolution( resolution );
53 setIsTOB(istob);
54
55 return;
56 }
uint8_t fpgaNumber() const
void setResolution(int value)
void setPhi(float value)
void setIsTOB(char value)
Set the isTOB variable (TOB or xTOB).
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate.
void setEta(float value)
void setTobSat(uint8_t value)
uint8_t jFexNumber() const
void setjFexNumber(uint8_t jFexNumber)
void setTobLocalEta(uint8_t value)
void setfpgaNumber(uint8_t fpgaNumber)
unsigned int unpackSaturationIndex() const
void setGlobalEta(int value)
void setTobWord(uint32_t tobWord)
Set the "raw" 32-bit words describing the object candidate.
void setTobLocalPhi(uint8_t value)
void setGlobalPhi(uint value)
unsigned int unpackEtTOB() const
TOB ET (decoded from TOB, stored for convenience).
unsigned int unpackEtaIndex() const
Eta coordinates.
void setTobEt(uint16_t value)
unsigned int unpackPhiIndex() const
Phi coordinates.

◆ isTOB()

char xAOD::jFexSRJetRoI_v1::isTOB ( ) const

◆ jFexNumber()

uint8_t xAOD::jFexSRJetRoI_v1::jFexNumber ( ) const

◆ menuEta()

int xAOD::jFexSRJetRoI_v1::menuEta ( ) const

the eta index to use for looking up thresholds in the menu the current jFex fw only supports symmetric thresholds so index will always be >=0 to guarantee the symmetry (see L1TopoAlgorithms/jJetMultiplicity)

Definition at line 58 of file jFexSRJetRoI_v1.cxx.

58 {
59 // adapted from TSU::toTopoInteger
60 static const unsigned int RESOLUTION = 40;
61 float tmp = eta()*RESOLUTION;
62 int index;
63 if ( (abs(tmp)-0.5)/2. == std::round((abs(tmp)-0.5)/2.) ) {
64 if ( tmp>0 ) { index = std::floor(tmp); }
65 else { index = std::ceil(tmp); }
66 } else {
67 index = std::round(tmp);
68 }
69 return std::abs(index/4);
70 }
str index
Definition DeMoScan.py:362

◆ phi()

float xAOD::jFexSRJetRoI_v1::phi ( ) const

◆ setEta()

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

◆ setfpgaNumber()

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

◆ setGlobalEta()

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

◆ setGlobalPhi()

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

◆ setIsTOB()

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

Set the isTOB variable (TOB or xTOB).

◆ setjFexNumber()

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

◆ setPhi()

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

◆ setResolution()

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

◆ setTobEt()

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

◆ setTobLocalEta()

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

◆ setTobLocalPhi()

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

◆ setTobSat()

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

◆ setTobWord()

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

Set the "raw" 32-bit words describing the object candidate.

◆ tobEt()

uint16_t xAOD::jFexSRJetRoI_v1::tobEt ( ) const

◆ tobEtScale()

int xAOD::jFexSRJetRoI_v1::tobEtScale ( ) const

◆ tobLocalEta()

uint8_t xAOD::jFexSRJetRoI_v1::tobLocalEta ( ) const

◆ tobLocalPhi()

uint8_t xAOD::jFexSRJetRoI_v1::tobLocalPhi ( ) const

◆ tobSat()

uint8_t xAOD::jFexSRJetRoI_v1::tobSat ( ) const

◆ tobWord()

uint32_t xAOD::jFexSRJetRoI_v1::tobWord ( ) const

The "raw" 32-bit word describing the object candidate.

◆ unpackEtaIndex()

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

Eta coordinates.

Definition at line 122 of file jFexSRJetRoI_v1.cxx.

122 {
123 return (tobWord() >> s_etaBit) & s_etaMask;
124 }
static const int s_etaMask
static const int s_etaBit

◆ unpackEtTOB()

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

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

Raw data words.

Used to differencite TOBs from xTOBs Extracted from data words, stored for convenience global coordinates, stored for furture use but not sent to L1Topo Setting the jFEX ET resolution Methods to decode data from the TOB/RoI and return to the user TOB or xTOB?

Definition at line 115 of file jFexSRJetRoI_v1.cxx.

115 {
116 //Data content = TOB
117 return (tobWord() >> s_etBit) & s_etMask;
118 }
static const int s_etBit
static const int s_etMask

◆ unpackGlobalEta()

int xAOD::jFexSRJetRoI_v1::unpackGlobalEta ( ) const

Definition at line 145 of file jFexSRJetRoI_v1.cxx.

145 {
146 int globalEta = 0;
147
148 // this is covering from -2.5 to 2.5 in eta, which means half module 0 and 5 and modules 1, 2, 3 and 4
149 if(tobLocalEta()<9){
150 if(jFexNumber()<3){
151 globalEta= 8*(jFexNumber()-2) - (tobLocalEta()+1);
152 }
153 else if(jFexNumber()<6){
154 globalEta= 8*(jFexNumber()-3) + (tobLocalEta());
155 }
156 }
157 else{
158 if(jFexNumber()==5 ) {
159
160 if(tobLocalEta() <=s_FWD_EtaPosition[4]) { //Region 2 and 3
161 globalEta = 25 +2*(tobLocalEta()-9);
162 }
163 else if(tobLocalEta() <= s_FWD_EtaPosition[6]) { //Region 4
165 }
166
167 }
168 else if(jFexNumber()==0) {
169
170 if(tobLocalEta() <=s_FWD_EtaPosition[4]) { //Region 2 and 3
171 globalEta = -(25 +2*(tobLocalEta()-9))-1;
172 }
173 else if(tobLocalEta() <= s_FWD_EtaPosition[6]) { //Region 4
175 }
176 }
177 }
178
179 return globalEta;
180 }
uint8_t tobLocalEta() const
static const std::vector< int > s_FCAL_EtaPosition
static const std::vector< int > s_FWD_EtaPosition

◆ unpackGlobalPhi()

uint xAOD::jFexSRJetRoI_v1::unpackGlobalPhi ( ) const

Definition at line 182 of file jFexSRJetRoI_v1.cxx.

182 {
183 uint globalPhi = 0;
184 const unsigned int quadrant = ::getQuadrant(fpgaNumber());
185
186 //16 is the phi height of an FPGA
187 if(jFexNumber() == 0 || jFexNumber() == 5) {
188
189 if(tobLocalEta() <=s_FWD_EtaPosition[1]) { //Region 1
190 globalPhi = tobLocalPhi() + (quadrant * 16);
191 }
192 else if(tobLocalEta() <=s_FWD_EtaPosition[4]) {//Region 2 and Region 3 have the same granularity
193 globalPhi = (16*quadrant) + 2*(tobLocalPhi());
194 }
195 else if(tobLocalEta() <=s_FWD_EtaPosition[6]) {//Region 4
196 globalPhi = (16*quadrant) + 4*(tobLocalPhi())+1;
197 }
198 }
199 else { //Modules 1-4
200 globalPhi = tobLocalPhi() + (quadrant * 16);
201 }
202
203 return globalPhi;
204 }
unsigned int uint
uint8_t tobLocalPhi() const
uint globalPhi() const

◆ unpackPhiIndex()

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

Phi coordinates.

Definition at line 126 of file jFexSRJetRoI_v1.cxx.

126 {
127 return (tobWord() >> s_phiBit) & s_phiMask;
128 }
static const int s_phiBit
static const int s_phiMask

◆ unpackSaturationIndex()

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

Definition at line 131 of file jFexSRJetRoI_v1.cxx.

131 {
132 return (tobWord() >> s_satBit) & s_satMask;
133 }
static const int s_satMask
static const int s_satBit

Member Data Documentation

◆ s_etaBit

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

Definition at line 97 of file jFexSRJetRoI_v1.h.

◆ s_etaMask

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

Definition at line 103 of file jFexSRJetRoI_v1.h.

◆ s_etBit

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

Definition at line 96 of file jFexSRJetRoI_v1.h.

◆ s_etMask

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

Definition at line 102 of file jFexSRJetRoI_v1.h.

◆ s_FCAL_EtaPosition

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

Definition at line 92 of file jFexSRJetRoI_v1.h.

◆ s_FWD_EtaPosition

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

Definition at line 91 of file jFexSRJetRoI_v1.h.

◆ s_phiBit

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

Definition at line 98 of file jFexSRJetRoI_v1.h.

◆ s_phiMask

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

Definition at line 104 of file jFexSRJetRoI_v1.h.

◆ s_resBit

const int xAOD::jFexSRJetRoI_v1::s_resBit = 21
staticprivate

Definition at line 95 of file jFexSRJetRoI_v1.h.

◆ s_resMask

const int xAOD::jFexSRJetRoI_v1::s_resMask = 0x7ff
staticprivate

Definition at line 105 of file jFexSRJetRoI_v1.h.

◆ s_satBit

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

Definition at line 99 of file jFexSRJetRoI_v1.h.

◆ s_satMask

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

Definition at line 106 of file jFexSRJetRoI_v1.h.


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