17 const std::string &
name,
20 declareInterface<IeFEXtauAlgo>(
this);
28 m_eTowerContainerKey );
31 << m_eTowerContainerKey.key());
32 return StatusCode::FAILURE;
34 return StatusCode::SUCCESS;
42 m_eTowerContainerKey );
44 for (
unsigned int ieta = 0; ieta < 3; ieta++) {
45 for (
unsigned int iphi = 0; iphi < 3; iphi++) {
46 if (((efex_id % 3 == 0) && (fpga_id == 0) && (central_eta == 0) &&
48 ((efex_id % 3 == 2) && (fpga_id == 3) && (central_eta == 5) &&
50 m_twrcells[ieta][iphi] = 0;
51 m_em0cells[ieta][iphi] = 0;
52 m_em3cells[ieta][iphi] = 0;
53 m_hadcells[ieta][iphi] = 0;
54 for (
unsigned int i = 0;
i < 4;
i++) {
55 m_em1cells[4 * ieta +
i][iphi] = 0;
56 m_em2cells[4 * ieta +
i][iphi] = 0;
61 m_twrcells[ieta][iphi] = tmpTower->
getTotalET();
65 for (
unsigned int i = 0;
i < 4;
i++) {
66 m_em1cells[4 * ieta +
i][iphi] = tmpTower->
getET(1,
i);
67 m_em2cells[4 * ieta +
i][iphi] = tmpTower->
getET(2,
i);
78 std::vector<unsigned int> &RcoreSums,
79 std::vector<unsigned int> &RemSums) {
89 unsigned int core = rHadCore();
90 unsigned int env = rHadEnv();
92 rHadVec.push_back(core);
93 rHadVec.push_back(
env);
98 unsigned int core = rCoreCore();
99 unsigned int env = rCoreEnv();
101 unsigned int num = core;
104 float out =
denom ?
static_cast<float>(
num) /
static_cast<float>(
denom) : 0;
110 unsigned int core = rHadCore();
111 unsigned int env = rHadEnv();
113 unsigned int num = core;
116 float out =
denom ?
static_cast<float>(
num) /
static_cast<float>(
denom) : 0;
122 std::vector<unsigned int> &rCoreVec)
const {
123 unsigned int core = rCoreCore();
124 unsigned int env = rCoreEnv();
126 rCoreVec.push_back(core);
127 rCoreVec.push_back(
env);
133 if (m_cellsSet ==
false) {
135 "Layers not built, cannot accurately determine if a seed tower.");
141 unsigned int centralET = m_twrcells[1][1];
145 for (
unsigned int bphi = 0; bphi < 3; bphi++) {
147 if ((
beta == 1) && (bphi == 1)) {
152 if (
beta == 2 || (
beta == 1 && bphi == 2)) {
153 if (centralET <= m_twrcells[
beta][bphi]) {
159 else if (
beta == 0 || (
beta == 1 && bphi == 0)) {
160 if (centralET < m_twrcells[
beta][bphi]) {
176 std::unique_ptr<SCellEncoder> scellEncoder = std::make_unique<SCellEncoder>();
177 scellEncoder->
setSuperCells(m_em0cells, m_em1cells, m_em2cells, m_em3cells,