1 |
sixie |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
loizides |
1.7 |
// $Id: MathUtils.h,v 1.6 2009/03/03 18:12:25 bendavid Exp $
|
3 |
sixie |
1.1 |
//
|
4 |
|
|
// MathUtils
|
5 |
|
|
//
|
6 |
loizides |
1.2 |
// Math utility functions.
|
7 |
sixie |
1.1 |
//
|
8 |
loizides |
1.2 |
// Authors: S.Xie, C.Loizides
|
9 |
sixie |
1.1 |
//--------------------------------------------------------------------------------------------------
|
10 |
|
|
|
11 |
loizides |
1.2 |
#ifndef MITCOMMON_MATHTOOLS_MATHUTILS_H
|
12 |
|
|
#define MITCOMMON_MATHTOOLS_MATHUTILS_H
|
13 |
sixie |
1.1 |
|
14 |
loizides |
1.2 |
#include "MitCommon/DataFormats/interface/Types.h"
|
15 |
sixie |
1.1 |
#include <TMath.h>
|
16 |
|
|
|
17 |
loizides |
1.3 |
namespace mithep
|
18 |
sixie |
1.1 |
{
|
19 |
loizides |
1.2 |
class MathUtils {
|
20 |
|
|
public:
|
21 |
loizides |
1.4 |
static Double_t AddInQuadrature(Double_t a, Double_t b);
|
22 |
|
|
static Double_t DeltaPhi(Double_t phi1, Double_t phi2);
|
23 |
loizides |
1.7 |
template<class V1, class V2>
|
24 |
|
|
static Double_t DeltaPhi(const V1 &v1, const V2 &v2);
|
25 |
loizides |
1.4 |
static Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
|
26 |
loizides |
1.7 |
template<class V1, class V2>
|
27 |
|
|
static Double_t DeltaR(const V1 &v1, const V2 &v2);
|
28 |
loizides |
1.4 |
static Double_t Eta2Theta(Double_t eta);
|
29 |
|
|
static Double_t Theta2Eta(Double_t theta);
|
30 |
loizides |
1.2 |
};
|
31 |
sixie |
1.1 |
}
|
32 |
bendavid |
1.6 |
|
33 |
|
|
//--------------------------------------------------------------------------------------------------
|
34 |
|
|
template<class V1, class V2>
|
35 |
loizides |
1.7 |
Double_t mithep::MathUtils::DeltaPhi(const V1 &v1, const V2 &v2)
|
36 |
|
|
{
|
37 |
|
|
// DeltaPhi between two given objects
|
38 |
|
|
|
39 |
|
|
return mithep::MathUtils::DeltaPhi(v1.Phi(),v2.Phi());
|
40 |
|
|
}
|
41 |
|
|
|
42 |
|
|
//--------------------------------------------------------------------------------------------------
|
43 |
|
|
template<class V1, class V2>
|
44 |
bendavid |
1.6 |
Double_t mithep::MathUtils::DeltaR(const V1 &v1, const V2 &v2)
|
45 |
|
|
{
|
46 |
loizides |
1.7 |
// DeltaR between two given objects
|
47 |
bendavid |
1.6 |
|
48 |
|
|
return mithep::MathUtils::DeltaR(v1.Phi(),v1.Eta(),v2.Phi(),v2.Eta());
|
49 |
|
|
}
|
50 |
sixie |
1.1 |
#endif
|