source: trunk/KtJet/KtDistance.h@ 23

Last change on this file since 23 was 2, checked in by Pavel Demin, 16 years ago

first commit

File size: 1.7 KB
Line 
1#ifndef KTJET_KTDISTANCE_H
2#define KTJET_KTDISTANCE_H
3
4#include "KtJet/KtDistanceInterface.h"
5#include <string>
6#include "KtJet/KtUtil.h"
7#include "KtJet/KtLorentzVector.h"
8
9
10namespace KtJet {
11 /**
12 * Function object to calculate Kt for jets and pairs.
13
14 @author J.Butterworth J.Couchman B.Cox B.Waugh
15 */
16
17 /** Get required KtDistance object given integer argument
18 */
19 KtDistance* getDistanceScheme(int dist, int collision_type);
20
21 class KtDistanceAngle : public KtDistance {
22 public:
23 KtDistanceAngle(int collision_type=1);
24 virtual ~KtDistanceAngle(){}
25 /** Jet Kt */
26 KtFloat operator()(const KtLorentzVector &) const;
27 /** Pair Kt */
28 KtFloat operator()(const KtLorentzVector &, const KtLorentzVector &) const;
29 /** Name of scheme */
30 std::string name() const;
31 private:
32 int m_type;
33 std::string m_name;
34 };
35
36
37 class KtDistanceDeltaR : public KtDistance {
38 public:
39 KtDistanceDeltaR(int collision_type=1);
40 virtual ~KtDistanceDeltaR(){};
41 /** Jet Kt */
42 KtFloat operator()(const KtLorentzVector &) const;
43 /** Pair Kt */
44 KtFloat operator()(const KtLorentzVector &, const KtLorentzVector &) const;
45 /** Name of scheme */
46 std::string name() const;
47 private:
48 int m_type;
49 std::string m_name;
50 };
51
52
53 class KtDistanceQCD : public KtDistance {
54 public:
55 KtDistanceQCD(int collision_type=1);
56 virtual ~KtDistanceQCD(){};
57 /** Jet Kt */
58 KtFloat operator()(const KtLorentzVector &) const;
59 /** Pair Kt */
60 KtFloat operator()(const KtLorentzVector &, const KtLorentzVector &) const;
61 /** Name of scheme */
62 std::string name() const;
63 private:
64 int m_type;
65 std::string m_name;
66 };
67
68}//end of namespace
69
70#endif
Note: See TracBrowser for help on using the repository browser.