ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitCommon/MathTools/interface/MathUtils.h
Revision: 1.10
Committed: Mon Jul 20 03:12:22 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_010a, Mit_010
Changes since 1.9: +3 -1 lines
Log Message:
Changes for docu.

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.10 // $Id: MathUtils.h,v 1.9 2009/06/24 14:51:04 loizides 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 loizides 1.9 static void CalcRatio(Double_t n1, Double_t n2,
23     Double_t &r, Double_t &rlow, Double_t &rup);
24 loizides 1.4 static Double_t DeltaPhi(Double_t phi1, Double_t phi2);
25 loizides 1.7 template<class V1, class V2>
26     static Double_t DeltaPhi(const V1 &v1, const V2 &v2);
27 loizides 1.4 static Double_t DeltaR(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
28 loizides 1.7 template<class V1, class V2>
29     static Double_t DeltaR(const V1 &v1, const V2 &v2);
30 loizides 1.8 static Double_t DeltaR2(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
31     template<class V1, class V2>
32     static Double_t DeltaR2(const V1 &v1, const V2 &v2);
33 loizides 1.4 static Double_t Eta2Theta(Double_t eta);
34     static Double_t Theta2Eta(Double_t theta);
35 loizides 1.10
36     ClassDef(MathUtils, 0) // Math utitily functions
37 loizides 1.2 };
38 sixie 1.1 }
39 bendavid 1.6
40     //--------------------------------------------------------------------------------------------------
41     template<class V1, class V2>
42 loizides 1.7 Double_t mithep::MathUtils::DeltaPhi(const V1 &v1, const V2 &v2)
43     {
44     // DeltaPhi between two given objects
45    
46     return mithep::MathUtils::DeltaPhi(v1.Phi(),v2.Phi());
47     }
48    
49     //--------------------------------------------------------------------------------------------------
50     template<class V1, class V2>
51 bendavid 1.6 Double_t mithep::MathUtils::DeltaR(const V1 &v1, const V2 &v2)
52     {
53 loizides 1.7 // DeltaR between two given objects
54 bendavid 1.6
55     return mithep::MathUtils::DeltaR(v1.Phi(),v1.Eta(),v2.Phi(),v2.Eta());
56     }
57 loizides 1.8
58     //--------------------------------------------------------------------------------------------------
59     template<class V1, class V2>
60     Double_t mithep::MathUtils::DeltaR2(const V1 &v1, const V2 &v2)
61     {
62     // DeltaR between two given objects
63    
64     return mithep::MathUtils::DeltaR2(v1.Phi(),v1.Eta(),v2.Phi(),v2.Eta());
65     }
66 sixie 1.1 #endif