10 const std::string&
name,
14 declareInterface<IegammaCellRecoveryTool>(
this);
19 return StatusCode::SUCCESS;
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();
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;
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;
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;
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();
144 double deta =
cell->caloDDE()->eta_raw() - etamax;
145 double dphi =
cell->caloDDE()->phi_raw() - phimax;
149 std::abs(deta) < 0.07 && std::abs(dphi) < 0.085) {
150 int ieta = (
int)((deta+0.052)/0.025);
152 if (ieta < 0 || ieta > 4 || iphi < 0 || iphi > 6) {
154 <<
" iphi = " << iphi);
156 int index = 7*ieta+iphi;
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;