CMS 3D CMS Logo

FindEtaPhi.cc
Go to the documentation of this file.
2 #include <iostream>
3 
4 //#define EDM_ML_DEBUG
5 
6 namespace spr{
7 
8  spr::EtaPhi getEtaPhi(int ieta, int iphi, bool
9 #ifdef EDM_ML_DEBUG
10  debug
11 #endif
12  ) {
13 
14  int ietal = (ieta-1)/2;
15  int ietar = ieta - ietal - 1;
16  int iphil = (iphi-1)/2;
17  int iphir = iphi - iphil - 1;
19  etaphi.ietaE[0] = ietal; etaphi.ietaW[0] = ietar;
20  etaphi.iphiN[0] = iphil; etaphi.iphiS[0] = iphir;
21  if (ietal == ietar && iphil == iphir) {
22  etaphi.ntrys = 1;
23  } else if (ietal == ietar || iphil == iphir) {
24  etaphi.ntrys = 2;
25  etaphi.ietaE[1] = ietar; etaphi.ietaW[1] = ietal;
26  etaphi.iphiN[1] = iphir; etaphi.iphiS[1] = iphil;
27  } else {
28  etaphi.ntrys = 4;
29  etaphi.ietaE[1] = ietar; etaphi.ietaW[1] = ietal;
30  etaphi.iphiN[1] = iphil; etaphi.iphiS[1] = iphir;
31  etaphi.ietaE[2] = ietal; etaphi.ietaW[1] = ietar;
32  etaphi.iphiN[2] = iphir; etaphi.iphiS[1] = iphil;
33  etaphi.ietaE[3] = ietar; etaphi.ietaW[1] = ietal;
34  etaphi.iphiN[3] = iphir; etaphi.iphiS[1] = iphil;
35  }
36 
37 #ifdef EDM_ML_DEBUG
38  if (debug) {
39  std::cout << "getEtaPhi:: Has " << etaphi.ntrys << " possibilites for "
40  << ieta << "X" << iphi << " matrix" << std::endl;
41  for (int itry=0; itry<etaphi.ntrys; itry++) {
42  std::cout << "Trial " << itry <<" with etaE|etaW " <<etaphi.ietaE[itry]
43  <<"|" << etaphi.ietaW[itry] << " and phiN|PhiS "
44  << etaphi.iphiN[itry] <<"|" <<etaphi.iphiS[itry] <<std::endl;
45  }
46  }
47 #endif
48  return etaphi;
49  }
50 }
#define EDM_ML_DEBUG
int ietaE[4]
Definition: FindEtaPhi.h:16
std::pair< T, T > etaphi(T x, T y, T z)
Definition: FastMath.h:128
#define debug
Definition: HDRShower.cc:19
int ietaW[4]
Definition: FindEtaPhi.h:16
int iphiN[4]
Definition: FindEtaPhi.h:16
void getEtaPhi(HBHERecHitCollection::const_iterator hit, std::vector< int > &RH_ieta, std::vector< int > &RH_iphi, std::vector< double > &RH_ene, bool debug=false)
int iphiS[4]
Definition: FindEtaPhi.h:16