Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TriggerTower.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 /***************************************************************************
5  TriggerTower.cpp - description
6  -------------------
7  begin : Mon Sep 25 2000
8  email : e.moyse@qmw.ac.uk
9  ***************************************************************************/
10 
11 
13 
14 namespace LVL1 {
15 
17 LVL1::TriggerTower::TriggerTower::TriggerTower(double phi, double eta, unsigned int key):
18  m_phi(phi),
19  m_eta(eta),
20  m_key(key)
21 {
22 }
25  (double phi, double eta, unsigned int key,
26  const std::vector<int>& em_digits,
27  const std::vector<int>& em_et,
28  const std::vector<int>& em_digits_bcid,
29  const std::vector<int>& em_bcid,
30  int em_error, int em_peak, int em_adc_peak,
31  const std::vector<int>& had_digits,
32  const std::vector<int>& had_et,
33  const std::vector<int>& had_digits_bcid,
34  const std::vector<int>& had_bcid,
35  int had_error, int had_peak, int had_adc_peak):
36  m_em_energy(em_et),
37  m_had_energy(had_et),
38  m_em_adc(em_digits),
39  m_had_adc(had_digits),
40  m_em_BCID(em_bcid),
41  m_had_BCID(had_bcid),
42  m_em_extBCID(em_digits_bcid),
43  m_had_extBCID(had_digits_bcid),
44  m_phi(phi),
45  m_eta(eta),
46  m_key(key),
47  m_em_error(em_error),
48  m_had_error(had_error),
49  m_em_peak(em_peak),
50  m_em_adc_peak(em_adc_peak),
51  m_had_peak(had_peak),
52  m_had_adc_peak(had_adc_peak)
53 {
54 }
55 
56 // return em layer ET for the central bunch-crossing
58  return m_em_energy[m_em_peak];
59 }
60 
61 // return had layer ET for central bunch crossing
63  return m_had_energy[m_had_peak];
64 }
65 
67 const std::vector<int> & TriggerTower::emLUT() const
68 { return m_em_energy; }
69 
71 const std::vector<int> & TriggerTower::hadLUT() const
72 { return m_had_energy; }
73 
75 const std::vector<int> & TriggerTower::emADC() const
76 { return m_em_adc; }
77 
79 const std::vector<int> & TriggerTower::hadADC() const
80 { return m_had_adc; }
81 
83 int LVL1::TriggerTower::emBCID() const {
85  if (m_em_BCID.size() != m_em_energy.size() &&
86  m_em_BCID.size() == m_em_adc.size()) return m_em_BCID[m_em_adc_peak];
87 
88  return m_em_BCID[m_em_peak];
89 }
90 
92 int LVL1::TriggerTower::hadBCID() const {
93  if (m_had_BCID.size() != m_had_energy.size() &&
94  m_had_BCID.size() == m_had_adc.size()) return m_had_BCID[m_had_adc_peak];
95 
96  return m_had_BCID[m_had_peak];
97 }
98 
100 const std::vector<int> & LVL1::TriggerTower::emBCIDvec() const
101 { return m_em_BCID; }
102 
104 const std::vector<int> & LVL1::TriggerTower::hadBCIDvec() const
105 { return m_had_BCID; }
107 const std::vector<int> & LVL1::TriggerTower::emBCIDext() const
108 { return m_em_extBCID; }
109 
111 const std::vector<int> & LVL1::TriggerTower::hadBCIDext() const
112 { return m_had_extBCID; }
113 
115 void LVL1::TriggerTower::addEM(const std::vector<int>& digits,
116  const std::vector<int>& et,
117  const std::vector<int>& digits_bcid,
118  const std::vector<int>& bcid,
119  int error, int peak, int adc_peak) {
120  m_em_adc = digits;
121  m_em_energy = et;
122  m_em_BCID = bcid;
123  m_em_extBCID = digits_bcid;
124  m_em_error = error;
125  m_em_peak = peak;
126  m_em_adc_peak = adc_peak;
127  return;
128 }
130 void LVL1::TriggerTower::addHad(const std::vector<int>& digits, const std::vector<int>& et,
131  const std::vector<int>& digits_bcid, const std::vector<int>& bcid,
132  int error, int peak, int adc_peak) {
133  m_had_adc = digits;
134  m_had_energy = et;
135  m_had_BCID = bcid;
136  m_had_extBCID = digits_bcid;
137  m_had_error = error;
138  m_had_peak = peak;
139  m_had_adc_peak = adc_peak;
140  return;
141 }
142 
144 void LVL1::TriggerTower::setCoord(double eta, double phi) {
145  m_eta = eta;
146  m_phi = phi;
147  return;
148 }
149 
151 void LVL1::TriggerTower::setKey(unsigned int key) {
152  m_key = key;
153  return;
154 }
159  if (m_em_energy[m_em_peak]>=m_saturation){
160  return true;
161  }else{
162  return false;
163  }
164 }
165 
170  if (m_had_energy[m_had_peak]>=m_saturation){
171  return true;
172  }else{
173  return false;
174  }
175 }
176 
177 }
178 
181  return Coordinate(m_phi, m_eta);
182 }
test_pyathena.eta
eta
Definition: test_pyathena.py:10
LVL1::TriggerTower::emEnergy
int emEnergy() const
return the final energy values using the in algorithms
Definition: TriggerTower.cxx:62
et
Extra patterns decribing particle interation process.
LVL1::TriggerTower::isEMSaturated
bool isEMSaturated() const
Utilities to report on status of tower.
Definition: TriggerTower.cxx:163
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
LVL1::TriggerTower::hadBCID
int hadBCID() const
returns BCID word for peak had sample
Definition: TriggerTower.cxx:97
LVL1::TriggerTower::emBCIDext
const std::vector< int > & emBCIDext() const
returns vector of BCID words for all EM ADC samples
Definition: TriggerTower.cxx:112
LVL1::TriggerTower::m_eta
double m_eta
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:134
LVL1::TriggerTower::emBCID
int emBCID() const
returns BCID word for peak EM sample
Definition: TriggerTower.cxx:88
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TriggerTower::m_phi
double m_phi
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/TriggerTower.h:133
LVL1::TriggerTower::hadBCIDext
const std::vector< int > & hadBCIDext() const
returns vector of BCID words for all Had ADC samples
Definition: TriggerTower.cxx:116
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
LVL1::TriggerTower::addHad
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.
Definition: TriggerTower.cxx:135
LVL1::Coordinate
Coordinate class declaration.
Definition: TrigT1/TrigT1Interfaces/TrigT1Interfaces/Coordinate.h:50
LVL1::TriggerTower::hadBCIDvec
const std::vector< int > & hadBCIDvec() const
returns vector of BCID words for all Had LUT samples
Definition: TriggerTower.cxx:109
LVL1::TriggerTower::isHadSaturated
bool isHadSaturated() const
returns TRUE or FALSE depending on whether the TriggerTower's hadronic energy is greater than it's ha...
Definition: TriggerTower.cxx:174
LVL1::TriggerTower::setKey
void setKey(unsigned int key)
Method to set or update key.
Definition: TriggerTower.cxx:156
LVL1::TriggerTower::hadEnergy
int hadEnergy() const
Definition: TriggerTower.cxx:67
LVL1::TriggerTower::setCoord
void setCoord(double eta, double phi)
Methods to specify location of tower.
Definition: TriggerTower.cxx:149
LVL1::TriggerTower::emBCIDvec
const std::vector< int > & emBCIDvec() const
returns vector of BCID words for all EM LUT samples
Definition: TriggerTower.cxx:105
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
LVL1::TriggerTower::addEM
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.
Definition: TriggerTower.cxx:120
get_generator_info.error
error
Definition: get_generator_info.py:40
error
Definition: IImpactPoint3dEstimator.h:70
TriggerTower.h
LVL1::TriggerTower::coord
Coordinate coord() const
returns coordinate of TT
Definition: TriggerTower.cxx:180
xAOD::TriggerTower
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/TriggerTower.h:16
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37