Main Page
Namespaces
Classes
Package Documentation
DataFormats
Math
interface
angle.h
Go to the documentation of this file.
1
#ifndef Math_angle_h
2
#define Math_angle_h
3
/* function to compute 3D angle
4
*
5
* Ported from original code in RecoJets
6
* by Fedor Ratnikov, FNAL
7
*/
8
#include <cmath>
9
10
template
<
class
T>
11
T
angle
(
T
x1
,
T
y1,
T
z1,
T
x2
,
T
y2,
T
z2) {
12
return
std::acos((x1*x2 + y1*y2 + z1*z2)/
std::sqrt
((x1*x1 + y1*y1 + z1*z1)*(x2*x2 + y2*y2 + z2*z2)));
13
}
14
15
template
<
typename
T1,
typename
T2>
16
double
angle
(
const
T1 & t1,
const
T2 & t2 ) {
17
return
angle
( t1.x(), t1.y(), t1.z(), t2.x(), t2.y(), t2.z() );
18
}
19
20
#endif
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:18
globals_cff.x1
x1
Definition:
globals_cff.py:24
globals_cff.x2
x2
Definition:
globals_cff.py:25
T
long double T
Definition:
Basic3DVectorLD.h:66
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition:
angle.h:11
Generated for CMSSW Reference Manual by
1.8.11