CMS 3D CMS Logo

kinem Namespace Reference


Functions

double delta_eta (double eta1, double eta2)
double delta_phi (double ph11, double phi2)
double delta_R (double eta1, double phi1, double eta2, double phi2)
double eta (double th)
double eta (float xyz1[3], float xyz2[3])
double eta (double xyz1[3], double xyz2[3])
double eta (double x, double y, double z)
double phi (float xy1[2], float xy2[2])
double phi (double xy1[2], double xy2[2])
double phi (double x, double y)
double signed_delta_phi (double ph11, double phi2)
double tanl_from_theta (double theta)
double theta (double etap)
double theta (float xyz1[3], float xyz2[3])
double theta (double xyz1[3], double xyz2[3])
double theta (double x, double y, double z)
double theta_from_tanl (double tanl)
void uvectors (float u[3], float xyz1[3], float xyz2[3])
void uvectors (double u[3], double xyz1[3], double xyz2[3])
double y (double E, double pz)

Variables

const float EPSILON = 1.E-10
const float ETA_LIMIT = 15.0
const double PI = 2.0*acos(0.)
const double TWOPI = 2.0*PI


Function Documentation

double kinem::delta_eta ( double  eta1,
double  eta2 
) [inline]

Definition at line 98 of file AnglesUtil.h.

Referenced by TrackerOnlyConversionProducer::produce(), SimG4HcalHitJetFinder::rDist(), L1MuGMTLFDeltaEtaLUT::TheLookupFunction(), and L1MuGMTLFCOUDeltaEtaLUT::TheLookupFunction().

00099 {
00100   return eta1 - eta2;
00101 }

double kinem::delta_phi ( double  ph11,
double  phi2 
) [inline]

Definition at line 91 of file AnglesUtil.h.

References PHI, PI, and TWOPI.

Referenced by CSCSectorReceiverLUT::calcGlobalPhiME(), PositionCalc::Calculate_Location(), ConversionLikelihoodCalculator::calculateLikelihood(), Ring::containsDetId(), delta_R(), L1MuGMTMatcher::lookup_mq(), TrackerOnlyConversionProducer::produce(), and SimG4HcalHitJetFinder::rDist().

00092 {
00093   double PHI=fabs(phi1-phi2);
00094   return (PHI<=PI)? PHI : kinem::TWOPI-PHI;
00095 }

double kinem::delta_R ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
) [inline]

Definition at line 116 of file AnglesUtil.h.

References delta_phi(), and funct::sqrt().

Referenced by EnergyScaleAnalyzer::analyze(), and EnergyScaleAnalyzer::fillTree().

00117 {
00118    double deta = eta1-eta2;
00119    double dphi = kinem::delta_phi(phi1,phi2);
00120    return sqrt(deta*deta + dphi*dphi);
00121 }

double kinem::eta ( double  th  )  [inline]

Definition at line 175 of file AnglesUtil.h.

References ETA_LIMIT, funct::log(), PI, and funct::tan().

00176 {
00177   if(th == 0) return ETA_LIMIT;
00178   if(th >= PI-0.0001) return -ETA_LIMIT;
00179   return -log(tan(th/2.0));
00180 }

double kinem::eta ( float  xyz1[3],
float  xyz2[3] 
) [inline]

Definition at line 161 of file AnglesUtil.h.

References eta().

00161                                              {
00162     double dxyz1[3]={xyz1[0],xyz1[1],xyz1[2]};
00163     double dxyz2[3]={xyz2[0],xyz2[1],xyz2[2]};
00164     return eta(dxyz1,dxyz2);
00165 }

double kinem::eta ( double  xyz1[3],
double  xyz2[3] 
) [inline]

Definition at line 152 of file AnglesUtil.h.

References eta(), x, y(), and z.

00153 {
00154   double x=xyz2[0]-xyz1[0];
00155   double y=xyz2[1]-xyz1[1];
00156   double z=xyz2[2]-xyz1[2];
00157   return eta(x, y, z);
00158 }

double kinem::eta ( double  x,
double  y,
double  z 
) [inline]

Definition at line 168 of file AnglesUtil.h.

References EPSILON, funct::log(), and funct::sqrt().

Referenced by eta().

00169 {
00170   return 0.5*log((sqrt(x*x + y*y + z*z) + z + EPSILON) / 
00171                  (sqrt(x*x + y*y + z*z) - z + EPSILON));
00172 }

double kinem::phi ( float  xy1[2],
float  xy2[2] 
) [inline]

Definition at line 76 of file AnglesUtil.h.

References phi().

00076                                            {
00077     double dxy1[2]={xy1[0],xy1[1]};
00078     double dxy2[2]={xy2[0],xy2[1]};
00079     return phi(dxy1,dxy2);
00080   }

double kinem::phi ( double  xy1[2],
double  xy2[2] 
) [inline]

Definition at line 83 of file AnglesUtil.h.

References phi(), x, and y().

00084 {
00085   double x=xy2[0]-xy1[0];
00086   double y=xy2[1]-xy1[1];
00087   return phi(x, y);
00088 }

double kinem::phi ( double  x,
double  y 
) [inline]

Definition at line 69 of file AnglesUtil.h.

References PHI, and TWOPI.

Referenced by phi().

00070 {
00071   double PHI=atan2(y, x);
00072   return (PHI>=0)? PHI : kinem::TWOPI+PHI;
00073 }

double kinem::signed_delta_phi ( double  ph11,
double  phi2 
) [inline]

Definition at line 104 of file AnglesUtil.h.

References PI, and TWOPI.

00105 {
00106   double phia=phi1;
00107   if(phi1>PI) phia=phi1-kinem::TWOPI;
00108   double phib=phi2;
00109   if(phi2>PI) phib=phi2-kinem::TWOPI;
00110   double dphi=phia-phib;
00111   if(dphi>PI) dphi-=kinem::TWOPI;
00112   if(dphi<-PI) dphi+=kinem::TWOPI;
00113   return dphi;
00114 }

double kinem::tanl_from_theta ( double  theta  )  [inline]

Definition at line 217 of file AnglesUtil.h.

References PI, and funct::tan().

00217                                          {
00218   return tan(PI/2.0 - theta);
00219 }

double kinem::theta ( double  etap  )  [inline]

Definition at line 146 of file AnglesUtil.h.

References funct::exp().

00147 {
00148   return 2.0*atan(exp(-etap));
00149 }

double kinem::theta ( float  xyz1[3],
float  xyz2[3] 
) [inline]

Definition at line 133 of file AnglesUtil.h.

References theta().

00133                                                {
00134     double dxyz1[3]={xyz1[0],xyz1[1],xyz1[2]};
00135     double dxyz2[3]={xyz2[0],xyz2[1],xyz2[2]};
00136     return theta(dxyz1,dxyz2);
00137 }

double kinem::theta ( double  xyz1[3],
double  xyz2[3] 
) [inline]

Definition at line 124 of file AnglesUtil.h.

References theta(), x, y(), and z.

00125 {
00126   double x=xyz2[0]-xyz1[0];
00127   double y=xyz2[1]-xyz1[1];
00128   double z=xyz2[2]-xyz1[2];
00129   return theta(x, y, z);
00130 }

double kinem::theta ( double  x,
double  y,
double  z 
) [inline]

Definition at line 140 of file AnglesUtil.h.

References funct::sqrt().

Referenced by theta().

00141 {
00142   return atan2(sqrt(x*x + y*y), z);
00143 }

double kinem::theta_from_tanl ( double  tanl  )  [inline]

Definition at line 222 of file AnglesUtil.h.

References PI.

00222                                         {
00223   return PI/2.0 - atan(tanl);
00224 }

void kinem::uvectors ( float  u[3],
float  xyz1[3],
float  xyz2[3] 
) [inline]

Definition at line 206 of file AnglesUtil.h.

References uvectors().

00206                                                             {
00207     double du[3];
00208     double dxyz1[3]={xyz1[0],xyz1[1],xyz1[2]};
00209     double dxyz2[3]={xyz2[0],xyz2[1],xyz2[2]};
00210     uvectors(du,dxyz1,dxyz2);
00211     u[0]=du[0];
00212     u[1]=du[1];
00213     u[2]=du[2];
00214 }

void kinem::uvectors ( double  u[3],
double  xyz1[3],
double  xyz2[3] 
) [inline]

Definition at line 189 of file AnglesUtil.h.

References s, and funct::sqrt().

Referenced by uvectors().

00189                                                                {
00190   double xdiff=xyz2[0]-xyz1[0];
00191   double ydiff=xyz2[1]-xyz1[1];
00192   double zdiff=xyz2[2]-xyz1[2];
00193   double s=sqrt(xdiff*xdiff+ydiff*ydiff+zdiff*zdiff);
00194   if(s > 0) {
00195     u[0]=xdiff/s;
00196     u[1]=ydiff/s;
00197     u[2]=zdiff/s;
00198   }else{
00199     u[0]=0;
00200     u[1]=0;
00201     u[2]=0;
00202   }
00203 }

double kinem::y ( double  E,
double  pz 
) [inline]

Definition at line 183 of file AnglesUtil.h.

References EPSILON, and funct::log().

Referenced by eta(), phi(), and theta().

00184 {
00185   return 0.5 * log ((E+pz+EPSILON)/(E-pz+EPSILON));
00186 }


Variable Documentation

const float kinem::EPSILON = 1.E-10

Definition at line 23 of file AnglesUtil.h.

Referenced by eta(), MSLayersAtAngle::findLayer(), and y().

const float kinem::ETA_LIMIT = 15.0

Definition at line 22 of file AnglesUtil.h.

Referenced by eta().

const double kinem::PI = 2.0*acos(0.)

Definition at line 20 of file AnglesUtil.h.

Referenced by delta_phi(), eta(), signed_delta_phi(), tanl_from_theta(), and theta_from_tanl().

const double kinem::TWOPI = 2.0*PI

Definition at line 21 of file AnglesUtil.h.

Referenced by delta_phi(), phi(), and signed_delta_phi().


Generated on Tue Jun 9 18:47:47 2009 for CMSSW by  doxygen 1.5.4