25 double etamax = info.etamax;
26 double phimax = info.phimax;
27 ATH_MSG_DEBUG(
"etamax = " << etamax <<
" phimax = " << phimax);
28 info.addedCells.reserve(10);
38 int iphi1 = 0, iphi2 = 6;
39 int ieta1 = 0, ieta2 = 4;
40 if (std::abs(etamax) < 1.475) {
46 for (
const auto * cell : *caloCells) {
47 if (!cell->caloDDE()) {
49 << cell->eta() <<
" phi = " << cell->phi());
53 double deta = cell->caloDDE()->eta_raw()-etamax;
54 double dphi = cell->caloDDE()->phi_raw()-phimax;
58 if (std::abs(deta) > 0.1 || std::abs(dphi) > 0.1)
continue;
60 int layer = cell->caloDDE()->getSampling();
61 if (layer != CaloSampling::EMB2 && layer != CaloSampling::EME2 &&
62 layer != CaloSampling::EMB3 && layer != CaloSampling::EME3)
65 if ((layer == CaloSampling::EMB2 || layer == CaloSampling::EME2) &&
66 std::abs(deta) < 0.07 && std::abs(dphi) < 0.085) {
67 int ieta = (int)((deta+0.052)/0.025);
69 if (ieta >= ieta1 && ieta <= ieta2 && iphi >= iphi1 && iphi <= iphi2) {
70 int index = 7*ieta+iphi;
74 info.eCells[0] += cell->energy();
75 info.addedCells.push_back(cell);
79 }
else if ((layer == CaloSampling::EMB3 || layer == CaloSampling::EME3) &&
80 std::abs(deta) < 0.05 && std::abs(dphi) < 0.06) {
81 int ieta = (int)(std::abs(deta)/0.025);
83 if (ieta <= 1 && iphi >= 0 && iphi <= 4) {
84 int index = 5*ieta+iphi;
88 info.eCells[1] += cell->energy();
89 info.addedCells.push_back(cell);
98 ATH_MSG_DEBUG(
"Added cells in L2, n = " << info.nCells[0] <<
" E = " << info.eCells[0]
99 <<
" and in L3, n = " << info.nCells[1] <<
" E = " << info.eCells[1]
100 <<
" n(L2+L3) = " << info.addedCells.size());
102 for (
const auto *c : info.addedCells) {
103 ATH_MSG_DEBUG(
"cell layer " << c->caloDDE()->getSampling() <<
" E = " << c->energy()
104 <<
" eta = " << c->caloDDE()->eta_raw()
105 <<
" phi = " << c->caloDDE()->phi_raw());
109 return StatusCode::SUCCESS;
117 for (
int i = 0; i <
m_nL2; i++)
118 {
result.existL2[i] = 0; }
119 for (
int i = 0; i <
m_nL3; i++)
120 {
result.existL3[i] = 0; }
129 it_cell_e = cellLinks->
end();
131 for (; it_cell != it_cell_e; ++it_cell) {
134 if (!cell->caloDDE()) {
136 << cell->eta() <<
" phi = " << cell->phi());
139 int layer = cell->caloDDE()->getSampling();
140 if (layer != CaloSampling::EMB2 && layer != CaloSampling::EME2 &&
141 layer != CaloSampling::EMB3 && layer != CaloSampling::EME3)
144 double deta = cell->caloDDE()->eta_raw() - etamax;
145 double dphi = cell->caloDDE()->phi_raw() - phimax;
148 if ((layer == CaloSampling::EMB2 || layer == CaloSampling::EME2) &&
149 std::abs(deta) < 0.07 && std::abs(dphi) < 0.085) {
150 int ieta = (int)((deta+0.052)/0.025);
151 int iphi = (int)((dphi+0.075)/
m_phiSize);
152 if (ieta < 0 || ieta > 4 || iphi < 0 || iphi > 6) {
154 <<
" iphi = " << iphi);
156 int index = 7*ieta+iphi;
159 }
else if ((layer == CaloSampling::EMB3 || layer == CaloSampling::EME3) &&
160 std::abs(deta) < 0.05 && std::abs(dphi) < 0.06) {
161 int ieta = (int)(std::abs(deta)/0.025);
163 if (ieta > 1 || iphi < 0 || iphi > 4) {
165 <<
" iphi = " << iphi);
167 int index = 5*ieta+iphi;