CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
reco::helper::VirtualJetProducerHelper Namespace Reference

Functions

double intersection (double r12)
 
double intersection (double r12, double r23, double r13)
 
double intersection (double r12, double r23, double r13, double a12, double a23, double a13)
 

Function Documentation

double reco::helper::VirtualJetProducerHelper::intersection ( double  r12)
inline

Definition at line 14 of file VirtualJetProducerHelper.h.

References M_PI, bookConverter::max, and mathSSE::sqrt().

Referenced by BeautifulSoup.BeautifulStoneSoup::endData(), RectangularEtaPhiTrackingRegion::estimator(), intersection(), edm::serviceregistry::ServicesManager::ServicesManager(), and VirtualJetProducer::writeJets().

15 {
16  if (r12 == 0) return M_PI;
17  if (r12 >= 2) return 0;
18  return 2 * std::acos(0.5*r12) - 0.5*r12*sqrt(std::max(0.0 , 4 - r12*r12));
19 }
T sqrt(T t)
Definition: SSEVec.h:18
#define M_PI
double reco::helper::VirtualJetProducerHelper::intersection ( double  r12,
double  r23,
double  r13 
)
inline

Definition at line 22 of file VirtualJetProducerHelper.h.

References intersection(), M_PI, bookConverter::max, mathSSE::sqrt(), and groupFilesInBlocks::temp.

23 {
24  if (r12 >= 2 || r23 >= 2 || r13 >= 2) return 0;
25  const double r12_2 = r12*r12;
26  const double r13_2 = r13*r13;
27  const double temp = (r12_2 + r13_2 - r23*r23);
28  const double T2 = std::max(0.0 , 4*r12_2*r13_2 - temp*temp);
29  const double common = 0.5*( intersection(r12) + intersection(r13) + intersection(r23) - M_PI + 0.5*sqrt(T2) );
30  return common;
31 }
T sqrt(T t)
Definition: SSEVec.h:18
#define M_PI
double reco::helper::VirtualJetProducerHelper::intersection ( double  r12,
double  r23,
double  r13,
double  a12,
double  a23,
double  a13 
)
inline

Definition at line 32 of file VirtualJetProducerHelper.h.

References M_PI, bookConverter::max, mathSSE::sqrt(), and groupFilesInBlocks::temp.

33 {
34  if (r12 >= 2 || r23 >= 2 || r13 >= 2) return 0;
35  const double r12_2 = r12*r12;
36  const double r13_2 = r13*r13;
37  const double temp = (r12_2 + r13_2 - r23*r23);
38  const double T2 = std::max(0.0 , 4*r12_2*r13_2 - temp*temp);
39  const double common = 0.5*( a12 + a13 + a23 - M_PI + 0.5*sqrt(T2) );
40  return common;
41 }
T sqrt(T t)
Definition: SSEVec.h:18
#define M_PI