23 declareInterface<IeFEXTOBEtTool>(
this);
40 return StatusCode::SUCCESS;
45 std::vector<unsigned int> &ClusterCellETs,
46 std::vector<unsigned int> &RetaSums,
47 std::vector<unsigned int> &RhadSums,
48 std::vector<unsigned int> &WstotSums)
54 for (
int iphi = -1; iphi <= 1; ++iphi) {
56 if (phiTable >
M_PI) phiTable -= 2*
M_PI;
57 if (phiTable < -
M_PI) phiTable += 2*
M_PI;
59 for (
int ieta = -1; ieta <= 1; ++ieta) {
63 if (std::abs(etaTable)<2.5) tobtable[iphi+1][ieta+1] =
eTowerID(etaTable, phiTable);
64 else tobtable[iphi+1][ieta+1] = 0;
85 return StatusCode::SUCCESS;
91 std::vector<unsigned int> &RcoreSums,
92 std::vector<unsigned int> &RemSums)
98 for (
int iphi = -1; iphi <= 1; ++iphi) {
100 if (phiTable >
M_PI) phiTable -= 2*
M_PI;
101 if (phiTable < -
M_PI) phiTable += 2*
M_PI;
103 for (
int ieta = -1; ieta <= 1; ++ieta) {
107 if (std::abs(etaTable)<2.5) tobtable[iphi+1][ieta+1] =
eTowerID(etaTable, phiTable);
108 else tobtable[iphi+1][ieta+1] = 0;
126 return StatusCode::SUCCESS;
135 int posneg = (
eta >= 0 ? 1 : -1);
136 int towereta = std::abs(
eta)/0.1;
139 unsigned int tower_id = towerphi + 64*towereta;
142 tower_id += (posneg > 0 ? 200000 : 100000);
144 else if (towereta == 14) {
145 tower_id += (posneg > 0 ? 400000 : 300000);
148 tower_id += (posneg > 0 ? 600000 : 500000);
164 int eFEXPhi = iphi/8;
166 if (ieta > 16) eFEXeta = 1;
167 if (ieta > 32) eFEXeta = 2;
170 eFEX = eFEXeta + 3*eFEXPhi;
184 eFEXIndex = ieta -16;
188 eFEXIndex = ieta -32;
194 if (eFEXIndex <= 4)
FPGA = 0;
195 else if (eFEXIndex <= 8)
FPGA = 1;
196 else if (eFEXIndex <= 12)
FPGA = 2;
201 etaIndex = eFEXIndex - 4*
FPGA;