Go to the documentation of this file.00001 #include "Calibration/IsolatedParticles/interface/FindEtaPhi.h"
00002 #include <iostream>
00003
00004 namespace spr{
00005
00006 spr::EtaPhi getEtaPhi(int ieta, int iphi, bool debug) {
00007
00008 int ietal = (ieta-1)/2;
00009 int ietar = ieta - ietal - 1;
00010 int iphil = (iphi-1)/2;
00011 int iphir = iphi - iphil - 1;
00012 spr::EtaPhi etaphi;
00013 etaphi.ietaE[0] = ietal; etaphi.ietaW[0] = ietar;
00014 etaphi.iphiN[0] = iphil; etaphi.iphiS[0] = iphir;
00015 if (ietal == ietar && iphil == iphir) {
00016 etaphi.ntrys = 1;
00017 } else if (ietal == ietar || iphil == iphir) {
00018 etaphi.ntrys = 2;
00019 etaphi.ietaE[1] = ietar; etaphi.ietaW[1] = ietal;
00020 etaphi.iphiN[1] = iphir; etaphi.iphiS[1] = iphil;
00021 } else {
00022 etaphi.ntrys = 4;
00023 etaphi.ietaE[1] = ietar; etaphi.ietaW[1] = ietal;
00024 etaphi.iphiN[1] = iphil; etaphi.iphiS[1] = iphir;
00025 etaphi.ietaE[2] = ietal; etaphi.ietaW[1] = ietar;
00026 etaphi.iphiN[2] = iphir; etaphi.iphiS[1] = iphil;
00027 etaphi.ietaE[3] = ietar; etaphi.ietaW[1] = ietal;
00028 etaphi.iphiN[3] = iphir; etaphi.iphiS[1] = iphil;
00029 }
00030
00031 if (debug) {
00032 std::cout << "getEtaPhi:: Has " << etaphi.ntrys << " possibilites for "
00033 << ieta << "X" << iphi << " matrix" << std::endl;
00034 for (int itry=0; itry<etaphi.ntrys; itry++) {
00035 std::cout << "Trial " << itry <<" with etaE|etaW " <<etaphi.ietaE[itry]
00036 <<"|" << etaphi.ietaW[itry] << " and phiN|PhiS "
00037 << etaphi.iphiN[itry] <<"|" <<etaphi.iphiS[itry] <<std::endl;
00038 }
00039 }
00040 return etaphi;
00041 }
00042 }