16 std::vector<HcalTrigTowerDetId>
results;
34 int iphi = (((cellId.
iphi() + 1) / 4) * 4 + 1) % 72;
60 int iphi1 = cellId.
iphi();
88 int tower_ieta = hcalTrigTowerDetId.
ieta();
89 int tower_iphi = hcalTrigTowerDetId.
iphi();
91 int cell_ieta = tower_ieta;
92 int cell_iphi = tower_iphi;
94 int min_depth, n_depths;
100 HcalBarrel,
abs(tower_ieta), tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
101 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
109 HcalOuter,
abs(tower_ieta), tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
110 for (
int ho_depth = min_depth; ho_depth <= min_depth + n_depths - 1; ho_depth++)
118 HcalEndcap,
abs(tower_ieta), tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
122 if (tower_iphi % 2 == 0)
123 cell_iphi = tower_iphi - 1;
126 if (
abs(tower_ieta) == 26)
128 if (tower_ieta == 27)
130 if (tower_ieta == -27)
134 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
138 if (
abs(tower_ieta) == 28) {
140 HcalEndcap,
abs(tower_ieta) + 1, tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
141 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++) {
153 if (hcalTrigTowerDetId.
version() == 0) {
154 int HfTowerPhiSize = 72 /
nPhiBins(tower_ieta, 0);
159 for (
int iHFTowerPhiSegment = 0; iHFTowerPhiSegment < HfTowerPhiSize; iHFTowerPhiSegment++) {
160 cell_iphi = (tower_iphi / HfTowerPhiSize) * HfTowerPhiSize;
162 cell_iphi += iHFTowerPhiSegment;
164 cell_iphi = cell_iphi % 72;
167 if (cell_iphi % 2 == 0)
170 for (
int iHFTowerEtaSegment = 0; iHFTowerEtaSegment < HfTowerEtaSize; iHFTowerEtaSegment++) {
171 cell_ieta = FirstHFRingInTower + iHFTowerEtaSegment;
173 if (cell_ieta >= 40 && cell_iphi % 4 == 1)
177 HcalForward, cell_ieta, tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
186 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
189 if (
zside * cell_ieta == 30) {
192 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
197 }
else if (hcalTrigTowerDetId.
version() == 1) {
199 HcalForward, tower_ieta, tower_iphi, hcalTrigTowerDetId.
zside(), n_depths, min_depth);
200 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
202 if (
abs(tower_ieta) == 30) {
207 for (
int cell_depth = min_depth; cell_depth <= min_depth + n_depths - 1; cell_depth++)
220 return (ietaAbs ==
nTowers(0)) ? 4 : 3;
225 int inputTower =
abs(ietaTower);
227 for (
int iTower =
firstHFTower(0); iTower != inputTower; ++iTower) {