StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFastJetPars.h
1 // -*- mode: c++ -*-
2 //
3 // Pibero Djawotho <pibero@tamu.edu>
4 // Texas A&M University
5 // 31 Aug 2011
6 //
7 // $Id: StFastJetPars.h,v 1.4 2016/01/06 22:00:17 gdwebb Exp $
8 //
9 // $Log: StFastJetPars.h,v $
10 // Revision 1.4 2016/01/06 22:00:17 gdwebb
11 // This is code to implement the off axis cone underlying event analysis.
12 //
13 // Revision 1.3 2012/03/10 23:18:28 pibero
14 // Added destructor for StCDFMidPointPlugin
15 //
16 // Revision 1.2 2012/03/10 23:09:53 pibero
17 // Addeed support for fastjet plugins
18 //
19 // Revision 1.1 2011/08/31 17:57:36 pibero
20 // Support for FastJet
21 //
22 // http://www.lpthe.jussieu.fr/~salam/fastjet/
23 // http://www.star.bnl.gov/HyperNews-star/protected/get/starsoft/8521.html
24 //
25 //
26 
27 #ifndef ST_FAST_JET_PARS_H
28 #define ST_FAST_JET_PARS_H
29 
30 #include "StJetPars.h"
31 #include "StFastJetAreaPars.h"
32 
33 class StPlugin : public TObject {
34 public:
35  StPlugin(void* i) : mImpl(i) {}
36  virtual ~StPlugin() {}
37  void* impl() const { return mImpl; }
38 protected:
39  void* mImpl;
40  ClassDef(StPlugin,0)
41 };
42 
43 class StCDFMidPointPlugin : public StPlugin {
44 public:
45  StCDFMidPointPlugin(double coneRadius,
46  double overlapTreshold,
47  double seedThreshold,
48  double coneAreaFraction);
50  ClassDef(StCDFMidPointPlugin,0)
51 };
52 
53 class StFastJetPars : public StJetPars {
54 public:
58  static const int kt_algorithm;
61  static const int cambridge_algorithm;
65  static const int antikt_algorithm;
70  static const int genkt_algorithm;
76  static const int genkt_for_passive_algorithm;
77  //.................................................................
79  static const int ee_kt_algorithm;
81  static const int ee_genkt_algorithm;
82  //.................................................................
84  static const int plugin_algorithm;
85 
89  static const int E_scheme;
92  static const int pt_scheme;
95  static const int pt2_scheme;
98  static const int Et_scheme;
101  static const int Et2_scheme;
104  static const int BIpt_scheme;
107  static const int BIpt2_scheme;
109  static const int external_scheme;
110 
114  static const int N2MinHeapTiled;
116  static const int N2Tiled;
118  static const int N2PoorTiled;
120  static const int N2Plain;
122  static const int N3Dumb;
124  static const int Best;
126  static const int NlnN;
128  static const int NlnN3pi;
130  static const int NlnN4pi;
133  static const int NlnNCam4pi;
134  static const int NlnNCam2pi2R;
135  static const int NlnNCam;
137  static const int plugin_strategy;
138 
139  StFastJetPars()
140  : mJetAlgorithm(kt_algorithm)
141  , mRparam(1.0)
142  , mRecombScheme(E_scheme)
143  , mStrategy(Best)
144  , mPtMin(5.0)
145  , mPlugin(0)
146  , mJetAreaFlag(false)
147  {
148  }
149 
150  StJetFinder* constructJetFinder();
151 
152  int jetAlgorithm () const { return mJetAlgorithm; }
153  double Rparam () const { return mRparam; }
154  int recombinationScheme() const { return mRecombScheme; }
155  int strategy () const { return mStrategy; }
156  double ptMin () const { return mPtMin; }
157  StFastJetAreaPars* jetArea () const { return mJetArea; }
158  bool jetAreaFlag () const { return mJetAreaFlag; }
159 
160  void* plugin() const { return mPlugin->impl(); }
161 
162  void setJetAlgorithm (int jetAlgorithm) { mJetAlgorithm = jetAlgorithm; }
163  void setRparam (double Rparam ) { mRparam = Rparam; }
164  void setRecombinationScheme(int recombScheme) { mRecombScheme = recombScheme; }
165  void setStrategy (int strategy ) { mStrategy = strategy; }
166  void setPtMin (double ptmin ) { mPtMin = ptmin; }
167  void setPlugin(StPlugin* plugin) { mPlugin = plugin; }
168  void setJetArea (StFastJetAreaPars* area_pars){ mJetArea = area_pars; mJetAreaFlag = true;};
169 private:
170  int mJetAlgorithm;
171  double mRparam;
172  int mRecombScheme;
173  int mStrategy;
174  double mPtMin;
175  StPlugin* mPlugin;
176  StFastJetAreaPars *mJetArea;
177  bool mJetAreaFlag;
178 
179  ClassDef(StFastJetPars,0)
180 };
181 
182 #endif // ST_FAST_JET_PARS_H
static const int BIpt2_scheme
static const int NlnN
best of the NlnN variants – best overall for N&gt;10^4
static const int genkt_for_passive_algorithm
Definition: StFastJetPars.h:76
static const int plugin_algorithm
any plugin algorithm supplied by the user
Definition: StFastJetPars.h:84
static const int NlnN4pi
legacy N ln N using 4pi coverage of cylinder
static const int N3Dumb
worse even than the usual N^3 algorithms
static const int ee_kt_algorithm
the e+e- kt algorithm
Definition: StFastJetPars.h:79
static const int Et_scheme
Definition: StFastJetPars.h:98
static const int cambridge_algorithm
Definition: StFastJetPars.h:61
static const int Best
automatic selection of the best (based on N)
static const int N2PoorTiled
legacy
static const int pt_scheme
Definition: StFastJetPars.h:92
static const int genkt_algorithm
Definition: StFastJetPars.h:70
static const int N2Plain
fastest below 50
static const int BIpt_scheme
static const int NlnN3pi
legacy N ln N using 3pi coverage of cylinder
static const int external_scheme
for the user&#39;s external scheme
static const int plugin_strategy
the plugin has been used...
static const int cambridge_for_passive_algorithm
Definition: StFastJetPars.h:73
static const int kt_algorithm
Definition: StFastJetPars.h:58
static const int pt2_scheme
Definition: StFastJetPars.h:95
static const int Et2_scheme
static const int N2Tiled
fastest from about 50..500
static const int E_scheme
Definition: StFastJetPars.h:89
static const int antikt_algorithm
Definition: StFastJetPars.h:65
static const int N2MinHeapTiled
static const int ee_genkt_algorithm
the e+e- genkt algorithm (R &gt; 2 and p=1 gives ee_kt)
Definition: StFastJetPars.h:81
static const int NlnNCam4pi