ATLAS Offline Software
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
LVL1::TriggerTower Class Reference

Trigger towers are the inputs to all other parts of the calorimeter trigger. More...

#include <TriggerTower.h>

Collaboration diagram for LVL1::TriggerTower:

Public Member Functions

 TriggerTower ()
 Constructors. More...
 
 TriggerTower (double phi, double eta, unsigned int key)
 
 TriggerTower (double phi, double eta, unsigned int key, const std::vector< int > &em_digits, const std::vector< int > &em_et, const std::vector< int > &em_digits_bcid, const std::vector< int > &em_bcid, int em_error, int em_peak, int em_adc_peak, const std::vector< int > &had_digits, const std::vector< int > &had_et, const std::vector< int > &had_digits_bcid, const std::vector< int > &had_bcid, int had_error, int had_peak, int had_adc_peak)
 
virtual ~TriggerTower ()
 Destructor. More...
 
void addEM (const std::vector< int > &digits, const std::vector< int > &et, const std::vector< int > &digits_bcid, const std::vector< int > &bcid, int error, int peak, int adc_peak)
 Methods to fill towers with digits, calibrated ET vectors and status flags. More...
 
void addHad (const std::vector< int > &digits, const std::vector< int > &et, const std::vector< int > &digits_bcid, const std::vector< int > &bcid, int error, int peak, int adc_peak)
 Method for filling Had tower data. More...
 
void setCoord (double eta, double phi)
 Methods to specify location of tower. More...
 
void setKey (unsigned int key)
 Method to set or update key. More...
 
int emEnergy () const
 return the final energy values using the in algorithms More...
 
int hadEnergy () const
 
const std::vector< int > & emLUT () const
 return references to the vectors containing the final calubrated ET values. More...
 
const std::vector< int > & hadLUT () const
 returns had LUT ET More...
 
const std::vector< int > & emADC () const
 return references to the vectors containing the ADC digits More...
 
const std::vector< int > & hadADC () const
 returns had adc digits More...
 
double eta () const
 returns eta coord More...
 
double phi () const
 returns phi coord of tower More...
 
Coordinate coord () const
 returns coordinate of TT More...
 
unsigned int key () const
 returns TT key - that is the key the TT had when it was created. More...
 
int emPeak () const
 return peak positions in LUT and ADC vectors More...
 
int emADCPeak () const
 
int hadPeak () const
 
int hadADCPeak () const
 
bool isEMSaturated () const
 Utilities to report on status of tower. More...
 
bool isHadSaturated () const
 returns TRUE or FALSE depending on whether the TriggerTower's hadronic energy is greater than it's hadronic saturation threshold. More...
 
int emError () const
 
int hadError () const
 
int emBCID () const
 returns BCID word for peak EM sample More...
 
int hadBCID () const
 returns BCID word for peak had sample More...
 
const std::vector< int > & emBCIDvec () const
 returns vector of BCID words for all EM LUT samples More...
 
const std::vector< int > & hadBCIDvec () const
 returns vector of BCID words for all Had LUT samples More...
 
const std::vector< int > & emBCIDext () const
 returns vector of BCID words for all EM ADC samples More...
 
const std::vector< int > & hadBCIDext () const
 returns vector of BCID words for all Had ADC samples More...
 

Private Attributes

std::vector< int > m_em_energy
 Internal data. More...
 
std::vector< int > m_had_energy
 
std::vector< int > m_em_adc
 
std::vector< int > m_had_adc
 
std::vector< int > m_em_BCID
 
std::vector< int > m_had_BCID
 
std::vector< int > m_em_extBCID
 
std::vector< int > m_had_extBCID
 
double m_phi
 
double m_eta
 
unsigned int m_key
 
int m_em_error
 
int m_had_error
 
int m_em_peak
 
int m_em_adc_peak
 
int m_had_peak
 
int m_had_adc_peak
 

Static Private Attributes

static const int m_saturation = 255
 

Detailed Description

Trigger towers are the inputs to all other parts of the calorimeter trigger.

They are formed by analogue summation of cells (represented in simulation by LArTTL1 and TileTTL1 objects). The L1Calo PreProcessor digitizes these, performs Bunch-Crossing IDentification, final calibration and reduction to 8 bit words.

The TriggerTower class represents the output of the PreProcessor. Each TriggerTower object actually contains information from a pair of trigger towers, one EM and one Hadronic, sharing the same eta, phi coordinates. This is convenient for algorithm emulation, though it does not represent the readout arrangement.

For each tower, the TriggerTower contains the final ET (LUT output) as well as a vector of ADC data (at 25ns intervals) from which it was formed, plus error flags and raw BCID output. As the PreProcessor readout can read variable numbers of slices of all of these data, the internal storage is in std::vectors, and methods exist to return all slices as well as just the data corresponding to the triggered crossing.

Definition at line 45 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

Constructor & Destructor Documentation

◆ TriggerTower() [1/3]

LVL1::TriggerTower::TriggerTower ( )

Constructors.

◆ TriggerTower() [2/3]

LVL1::TriggerTower::TriggerTower ( double  phi,
double  eta,
unsigned int  key 
)

◆ TriggerTower() [3/3]

LVL1::TriggerTower::TriggerTower ( double  phi,
double  eta,
unsigned int  key,
const std::vector< int > &  em_digits,
const std::vector< int > &  em_et,
const std::vector< int > &  em_digits_bcid,
const std::vector< int > &  em_bcid,
int  em_error,
int  em_peak,
int  em_adc_peak,
const std::vector< int > &  had_digits,
const std::vector< int > &  had_et,
const std::vector< int > &  had_digits_bcid,
const std::vector< int > &  had_bcid,
int  had_error,
int  had_peak,
int  had_adc_peak 
)

◆ ~TriggerTower()

LVL1::TriggerTower::~TriggerTower ( )
virtual

Destructor.

Definition at line 96 of file TriggerTower.cxx.

Member Function Documentation

◆ addEM()

void LVL1::TriggerTower::addEM ( const std::vector< int > &  digits,
const std::vector< int > &  et,
const std::vector< int > &  digits_bcid,
const std::vector< int > &  bcid,
int  error,
int  peak,
int  adc_peak 
)

Methods to fill towers with digits, calibrated ET vectors and status flags.

Method for filling EM tower data.

Definition at line 158 of file TriggerTower.cxx.

170  {
171  m_had_adc = digits;

◆ addHad()

void LVL1::TriggerTower::addHad ( const std::vector< int > &  digits,
const std::vector< int > &  et,
const std::vector< int > &  digits_bcid,
const std::vector< int > &  bcid,
int  error,
int  peak,
int  adc_peak 
)

Method for filling Had tower data.

Definition at line 173 of file TriggerTower.cxx.

182  {
183  m_eta = eta;
184  m_phi = phi;

◆ coord()

LVL1::Coordinate LVL1::TriggerTower::coord ( ) const

returns coordinate of TT

Definition at line 218 of file TriggerTower.cxx.

218  {
219  return Coordinate(m_phi, m_eta);
220 }

◆ emADC()

const std::vector< int > & LVL1::TriggerTower::emADC ( ) const

return references to the vectors containing the ADC digits

returns em adc digits

Definition at line 118 of file TriggerTower.cxx.

118 { return m_had_adc; }
119 

◆ emADCPeak()

int LVL1::TriggerTower::emADCPeak ( ) const
inline

◆ emBCID()

int LVL1::TriggerTower::emBCID ( ) const

returns BCID word for peak EM sample

Fix for misfilled MC TriggerTowers

Definition at line 126 of file TriggerTower.cxx.

130  {
131  if (m_had_BCID.size() != m_had_energy.size() &&
132  m_had_BCID.size() == m_had_adc.size()) return m_had_BCID[m_had_adc_peak];

◆ emBCIDext()

const std::vector< int > & LVL1::TriggerTower::emBCIDext ( ) const

returns vector of BCID words for all EM ADC samples

Definition at line 150 of file TriggerTower.cxx.

150 { return m_had_extBCID; }
151 

◆ emBCIDvec()

const std::vector< int > & LVL1::TriggerTower::emBCIDvec ( ) const

returns vector of BCID words for all EM LUT samples

Definition at line 143 of file TriggerTower.cxx.

143 { return m_had_BCID; }

◆ emEnergy()

int LVL1::TriggerTower::emEnergy ( ) const

return the final energy values using the in algorithms

Definition at line 100 of file TriggerTower.cxx.

100  {
101  return m_had_energy[m_had_peak];
102 }

◆ emError()

int LVL1::TriggerTower::emError ( ) const
inline

◆ emLUT()

const std::vector< int > & LVL1::TriggerTower::emLUT ( ) const

return references to the vectors containing the final calubrated ET values.

returns em LUT ET

In simulation there will only be one timeslice, but data readout may contain more

Definition at line 110 of file TriggerTower.cxx.

110 { return m_had_energy; }
111 

◆ emPeak()

int LVL1::TriggerTower::emPeak ( ) const
inline

return peak positions in LUT and ADC vectors

Definition at line 107 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

107 {return m_em_peak;};

◆ eta()

double LVL1::TriggerTower::eta ( ) const
inline

returns eta coord

Definition at line 94 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

94 {return m_eta;};

◆ hadADC()

const std::vector< int > & LVL1::TriggerTower::hadADC ( ) const

returns had adc digits

Definition at line 122 of file TriggerTower.cxx.

◆ hadADCPeak()

int LVL1::TriggerTower::hadADCPeak ( ) const
inline

◆ hadBCID()

int LVL1::TriggerTower::hadBCID ( ) const

returns BCID word for peak had sample

Definition at line 135 of file TriggerTower.cxx.

139 { return m_em_BCID; }
140 

◆ hadBCIDext()

const std::vector< int > & LVL1::TriggerTower::hadBCIDext ( ) const

returns vector of BCID words for all Had ADC samples

Definition at line 154 of file TriggerTower.cxx.

◆ hadBCIDvec()

const std::vector< int > & LVL1::TriggerTower::hadBCIDvec ( ) const

returns vector of BCID words for all Had LUT samples

Definition at line 147 of file TriggerTower.cxx.

◆ hadEnergy()

int LVL1::TriggerTower::hadEnergy ( ) const

Definition at line 105 of file TriggerTower.cxx.

106 { return m_em_energy; }
107 

◆ hadError()

int LVL1::TriggerTower::hadError ( ) const
inline

◆ hadLUT()

const std::vector< int > & LVL1::TriggerTower::hadLUT ( ) const

returns had LUT ET

Definition at line 114 of file TriggerTower.cxx.

114 { return m_em_adc; }
115 

◆ hadPeak()

int LVL1::TriggerTower::hadPeak ( ) const
inline

◆ isEMSaturated()

bool LVL1::TriggerTower::isEMSaturated ( ) const

Utilities to report on status of tower.

returns TRUE if the TriggerTower is saturated (i.e.

it has an energy greater than the saturation threshold) and FALSE otherwise.

Definition at line 201 of file TriggerTower.cxx.

207  {

◆ isHadSaturated()

bool LVL1::TriggerTower::isHadSaturated ( ) const

returns TRUE or FALSE depending on whether the TriggerTower's hadronic energy is greater than it's hadronic saturation threshold.

Definition at line 212 of file TriggerTower.cxx.

218  {

◆ key()

unsigned int LVL1::TriggerTower::key ( ) const
inline

returns TT key - that is the key the TT had when it was created.

Added for bug-testing. Decide whether still needed?

Definition at line 104 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

104 { return m_key;};

◆ phi()

double LVL1::TriggerTower::phi ( ) const
inline

returns phi coord of tower

Definition at line 97 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

97 {return m_phi;};

◆ setCoord()

void LVL1::TriggerTower::setCoord ( double  eta,
double  phi 
)

Methods to specify location of tower.

Method to set coordinate of tower.

Definition at line 187 of file TriggerTower.cxx.

189  {
190  m_key = key;
191  return;

◆ setKey()

void LVL1::TriggerTower::setKey ( unsigned int  key)

Method to set or update key.

Definition at line 194 of file TriggerTower.cxx.

196  {

Member Data Documentation

◆ m_em_adc

std::vector<int> LVL1::TriggerTower::m_em_adc
private

◆ m_em_adc_peak

int LVL1::TriggerTower::m_em_adc_peak
private

◆ m_em_BCID

std::vector<int> LVL1::TriggerTower::m_em_BCID
private

◆ m_em_energy

std::vector<int> LVL1::TriggerTower::m_em_energy
private

Internal data.

Definition at line 126 of file Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h.

◆ m_em_error

int LVL1::TriggerTower::m_em_error
private

◆ m_em_extBCID

std::vector<int> LVL1::TriggerTower::m_em_extBCID
private

◆ m_em_peak

int LVL1::TriggerTower::m_em_peak
private

◆ m_eta

double LVL1::TriggerTower::m_eta
private

◆ m_had_adc

std::vector<int> LVL1::TriggerTower::m_had_adc
private

◆ m_had_adc_peak

int LVL1::TriggerTower::m_had_adc_peak
private

◆ m_had_BCID

std::vector<int> LVL1::TriggerTower::m_had_BCID
private

◆ m_had_energy

std::vector<int> LVL1::TriggerTower::m_had_energy
private

◆ m_had_error

int LVL1::TriggerTower::m_had_error
private

◆ m_had_extBCID

std::vector<int> LVL1::TriggerTower::m_had_extBCID
private

◆ m_had_peak

int LVL1::TriggerTower::m_had_peak
private

◆ m_key

unsigned int LVL1::TriggerTower::m_key
private

◆ m_phi

double LVL1::TriggerTower::m_phi
private

◆ m_saturation

const int LVL1::TriggerTower::m_saturation = 255
staticprivate

The documentation for this class was generated from the following files:
LVL1::TriggerTower::m_had_peak
int m_had_peak
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:141
LVL1::TriggerTower::m_em_adc_peak
int m_em_adc_peak
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:140
LVL1::TriggerTower::phi
double phi() const
returns phi coord of tower
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:97
LVL1::TriggerTower::key
unsigned int key() const
returns TT key - that is the key the TT had when it was created.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:104
LVL1::TriggerTower::m_em_adc
std::vector< int > m_em_adc
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:128
LVL1::TriggerTower::m_eta
double m_eta
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:135
LVL1::TriggerTower::m_phi
double m_phi
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:134
LVL1::TriggerTower::m_em_BCID
std::vector< int > m_em_BCID
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:130
LVL1::TriggerTower::m_had_energy
std::vector< int > m_had_energy
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:127
LVL1::TriggerTower::m_key
unsigned int m_key
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:136
LVL1::TriggerTower::m_em_error
int m_em_error
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:137
LVL1::TriggerTower::m_had_extBCID
std::vector< int > m_had_extBCID
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:133
LVL1::TriggerTower::m_had_adc
std::vector< int > m_had_adc
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:129
LVL1::TriggerTower::m_em_peak
int m_em_peak
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:139
LVL1::TriggerTower::m_had_adc_peak
int m_had_adc_peak
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:142
LVL1::TriggerTower::m_had_BCID
std::vector< int > m_had_BCID
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:131
LVL1::TriggerTower::m_saturation
static const int m_saturation
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:144
LVL1::TriggerTower::m_had_error
int m_had_error
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:138
LVL1::TriggerTower::m_em_energy
std::vector< int > m_em_energy
Internal data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:126
LVL1::TriggerTower::eta
double eta() const
returns eta coord
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:94