28 declareInterface<IjFEXsumETAlgo>(
this);
36 ATH_CHECK(m_jTowerContainerKey.initialize());
37 return StatusCode::SUCCESS;
44 if(! m_jTowerContainer.isValid()) {
45 ATH_MSG_ERROR(
"Could not retrieve jTowerContainer " << m_jTowerContainerKey.key());
46 return StatusCode::FAILURE;
49 return StatusCode::SUCCESS;
56 return StatusCode::SUCCESS;
62 ATH_MSG_DEBUG(
"---------------- jFEXsumETAlgo::setup ----------------");
65 for(
int ieta=8;ieta<16;ieta++){
66 m_FPGA[iphi].push_back(
FPGA[iphi][ieta]);
73 ATH_MSG_DEBUG(
"---------------- jFEXsumETAlgo::setup ----------------");
76 for(
int ieta=8;ieta<17;ieta++){
77 m_FPGA[iphi].push_back(
FPGA[iphi][ieta]);
80 m_FPGA_phi02.resize(16);
81 for(
int iphi=0;iphi<16;iphi++){
82 for(
int ieta=17;ieta<21;ieta++){
83 m_FPGA_phi02[iphi].push_back(
FPGA[iphi][ieta]);
86 m_FPGA_fcal.resize(8);
87 for(
int iphi=0;iphi<8;iphi++){
89 m_FPGA_fcal[iphi].push_back(
FPGA[iphi][ieta]);
98 ATH_MSG_DEBUG(
"---------------- jFEXsumETAlgo::buildBarrelSumET ----------------");
103 m_SumETSat.resize(8,0);
105 for(
uint iphi=0;iphi<m_FPGA.size();iphi++){
106 for(
uint ieta=0;ieta<m_FPGA[iphi].size();ieta++){
107 m_SumET[ieta]+=getTTowerET(m_FPGA[iphi][ieta]);
108 m_SumETSat[ieta] = m_SumETSat[ieta] || getTTowerSat(m_FPGA[iphi][ieta]);
117 ATH_MSG_DEBUG(
"---------------- jFEXsumETAlgo::buildFWDSumET ----------------");
120 m_SumET.resize(14,0);
122 m_SumETSat.resize(14,0);
125 for(
uint iphi=0;iphi<m_FPGA.size();iphi++){
126 for(
uint ieta=0;ieta<m_FPGA[iphi].size();ieta++){
127 m_SumET[ieta]+=getTTowerET(m_FPGA[iphi][ieta]);
128 m_SumETSat.at(ieta) = m_SumETSat.at(ieta) || getTTowerSat(m_FPGA[iphi][ieta]);
133 for(
uint iphi=0;iphi<m_FPGA_phi02.size();iphi++){
134 for(
uint ieta=0;ieta<m_FPGA_phi02[iphi].size();ieta++){
135 m_SumET[ieta+9]+=getTTowerET(m_FPGA_phi02[iphi][ieta]);
136 m_SumETSat.at(ieta+9) = m_SumETSat.at(ieta+9) || getTTowerSat(m_FPGA_phi02[iphi][ieta]);
141 for(
uint iphi=0;iphi<m_FPGA_fcal.size();iphi++){
142 for(
uint ieta=0;ieta<m_FPGA_fcal[iphi].size();ieta++){
143 m_SumET[13]+=getTTowerET(m_FPGA_fcal[iphi][ieta]);
144 m_SumETSat.at(13) = m_SumETSat.at(13) || getTTowerSat(m_FPGA_fcal[iphi][ieta]);
152 uint max = m_SumET.size() > (
bin + 1) ?
bin : m_SumET.size();
155 for(
uint ieta=0;ieta<
max;ieta++){
156 m_SumlowEta+=m_SumET.at(ieta);
157 m_SumlowEtaSat = m_SumlowEtaSat || m_SumETSat.at(ieta);
159 return {m_SumlowEta,m_SumlowEtaSat};
166 uint min = m_SumET.size() > (
bin + 1) ?
bin : m_SumET.size();
169 for(
uint ieta=
min;ieta<m_SumET.size();ieta++){
170 m_SumhighEta+=m_SumET.at(ieta);
171 m_SumhighEtaSat = m_SumhighEtaSat || m_SumETSat.at(ieta);
173 return {m_SumhighEta,m_SumhighEtaSat};
183 const LVL1::jTower * tmpTower = m_jTowerContainer->findTower(TTID);
193 auto itr = m_map_Etvalues.find(TTID);
194 if( itr == m_map_Etvalues.end()) {
198 return (itr->second).at(1);
203 m_map_Etvalues=et_map;