Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:20

0001 #include "Calibration/IsolatedParticles/interface/FindEtaPhi.h"
0002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0003 
0004 namespace spr {
0005 
0006   spr::EtaPhi getEtaPhi(int ieta, int iphi, bool debug) {
0007     int ietal = (ieta - 1) / 2;
0008     int ietar = ieta - ietal - 1;
0009     int iphil = (iphi - 1) / 2;
0010     int iphir = iphi - iphil - 1;
0011     spr::EtaPhi etaphi;
0012     etaphi.ietaE[0] = ietal;
0013     etaphi.ietaW[0] = ietar;
0014     etaphi.iphiN[0] = iphil;
0015     etaphi.iphiS[0] = iphir;
0016     if (ietal == ietar && iphil == iphir) {
0017       etaphi.ntrys = 1;
0018     } else if (ietal == ietar || iphil == iphir) {
0019       etaphi.ntrys = 2;
0020       etaphi.ietaE[1] = ietar;
0021       etaphi.ietaW[1] = ietal;
0022       etaphi.iphiN[1] = iphir;
0023       etaphi.iphiS[1] = iphil;
0024     } else {
0025       etaphi.ntrys = 4;
0026       etaphi.ietaE[1] = ietar;
0027       etaphi.ietaW[1] = ietal;
0028       etaphi.iphiN[1] = iphil;
0029       etaphi.iphiS[1] = iphir;
0030       etaphi.ietaE[2] = ietal;
0031       etaphi.ietaW[1] = ietar;
0032       etaphi.iphiN[2] = iphir;
0033       etaphi.iphiS[1] = iphil;
0034       etaphi.ietaE[3] = ietar;
0035       etaphi.ietaW[1] = ietal;
0036       etaphi.iphiN[3] = iphir;
0037       etaphi.iphiS[1] = iphil;
0038     }
0039 
0040     if (debug) {
0041       edm::LogVerbatim("IsoTrack") << "getEtaPhi:: Has " << etaphi.ntrys << " possibilites for " << ieta << "X" << iphi
0042                                    << " matrix";
0043       for (int itry = 0; itry < etaphi.ntrys; itry++) {
0044         edm::LogVerbatim("IsoTrack") << "Trial " << itry << " with etaE|etaW " << etaphi.ietaE[itry] << "|"
0045                                      << etaphi.ietaW[itry] << " and phiN|PhiS " << etaphi.iphiN[itry] << "|"
0046                                      << etaphi.iphiS[itry];
0047       }
0048     }
0049     return etaphi;
0050   }
0051 }  // namespace spr