81 int iTwrEta = EtaPhi.first;
82 int iTwrPhi = EtaPhi.second;
90 if (
abs(iTwrEta)<=28) {
94 iphi = ((iTwrPhi + 1) / 4) % 18;
97 ieta = (iTwrEta - 1) / 4 + 11;
99 ieta = (iTwrEta + 1) / 4 + 10;
104 if (
abs(iTwrEta)>=29 &&
abs(iTwrEta)<=32) {
105 iphi = ((iTwrPhi + 1) / 4) % 18;
123 if (iTwrEta == -29) {
127 if (iTwrEta == -30) {
131 if (iTwrEta == -31) {
135 if (iTwrEta == -32) {
168 return std::pair<int, int>(ieta, iphi);
177 int iTwrEta = EtaPhi.first;
178 int iTwrPhi = EtaPhi.second;
185 if (
abs(iTwrEta)<=41) {
188 isub = 4*(3 - (iTwrPhi + 1) %4) + ((iTwrEta - 1) % 4) ;
190 isub = 4*(3 - (iTwrPhi + 1) %4) + (3 + (iTwrEta+1)%4) ;
206 int ieta = regionId%22;
207 int iphi = regionId/22;
209 return std::pair<int, int>(ieta, iphi);
216 std::pair<int, int> ietaphi(ieta,iphi);
219 int rgnid = iep.second*22 + iep.first;
234 for (
int iRgn=0; iRgn<396; iRgn++) {
235 if (iRgn%22 == 0)
std::cerr << std::endl;
239 for (
int iRgn=0; iRgn<396; iRgn++) {
240 if (iRgn%22 == 0)
std::cerr << std::endl;
242 for (
int iTwr=0; iTwr<16; iTwr++) {
251 std::pair<double, double>
262 if (ep.second <= 9) {
264 phi = ep.second * 0.349065 ;
268 phi = (18-ep.second) * (-0.349065);
271 if (ep.first >= 11 && ep.first <= 15 )
272 eta = (ep.first-11)*0.349 + 0.1745;
287 if (ep.first >= 6 && ep.first <= 10 )
288 eta = (10-ep.first)*(-0.348) - 0.174;
306 return std::pair<double, double>(
eta,
phi);
317 iphi = iphi_ecal - 2;
318 else if (iphi_ecal==1 || iphi_ecal==2)
319 iphi = 70 + iphi_ecal;
331 if (iphi_hcal>=1 && iphi_hcal<=70)
332 iphi = iphi_hcal + 2;
333 else if (iphi_hcal==71 || iphi_hcal==72)
334 iphi = iphi_hcal - 70;
343 return std::pair<int, int>(ieta, iphi+1);
345 return std::pair<int, int>(ieta, 1);
352 return std::pair<int, int>(ieta, iphi-1);
354 return std::pair<int, int>(ieta, 72);
360 if (ieta == 1)
return std::pair<int, int>(-1, iphi);
363 return std::pair<int, int>(ieta-1, iphi);
365 return std::pair<int, int>(999, iphi);
371 if (ieta == -1)
return std::pair<int, int>(1, iphi);
374 return std::pair<int, int>(ieta+1, iphi);
376 return std::pair<int, int>(999, iphi);
391 return std::pair<int, int>(iEta, iPhi);
406 return std::pair<int, int>(iEta, iPhi);
423 return std::pair<int, int>(iEta, iPhi);
438 return std::pair<int, int>(iEta, iPhi);
std::pair< int, int > GetTowerNEEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerNWEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerSEEtaPhi(int ieta, int iphi)
static FastL1RegionMap * getFastL1RegionMap()
int getRegionIndex(int ieta, int iphi)
std::pair< double, double > getRegionCenterEtaPhi(int iRgn)
int getRegionTowerIndex(std::pair< int, int > iEtaPhi)
std::pair< int, int > GetTowerSWEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerWestEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerSouthEtaPhi(int ieta, int iphi)
int iphi() const
get the tower iphi
Abs< T >::type abs(const T &t)
int convertFromECal_to_HCal_iphi(int iphi_ecal)
int convertFromHCal_to_ECal_iphi(int iphi_hcal)
static FastL1RegionMap * theInstance
std::pair< int, int > GetTowerNorthEtaPhi(int ieta, int iphi)
std::pair< int, int > GetTowerEastEtaPhi(int ieta, int iphi)
int ieta() const
get the tower ieta
std::pair< int, int > getRegionEtaPhiIndex(std::pair< int, int > iEtaPhi)