00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef ST_FAST_JET_PARS_H
00025 #define ST_FAST_JET_PARS_H
00026
00027 #include "StJetPars.h"
00028
00029 class StPlugin : public TObject {
00030 public:
00031 StPlugin(void* i) : mImpl(i) {}
00032 virtual ~StPlugin() {}
00033 void* impl() const { return mImpl; }
00034 protected:
00035 void* mImpl;
00036 ClassDef(StPlugin,0)
00037 };
00038
00039 class StCDFMidPointPlugin : public StPlugin {
00040 public:
00041 StCDFMidPointPlugin(double coneRadius,
00042 double overlapTreshold,
00043 double seedThreshold,
00044 double coneAreaFraction);
00045 ~StCDFMidPointPlugin();
00046 ClassDef(StCDFMidPointPlugin,0)
00047 };
00048
00049 class StFastJetPars : public StJetPars {
00050 public:
00054 static const int kt_algorithm;
00057 static const int cambridge_algorithm;
00061 static const int antikt_algorithm;
00066 static const int genkt_algorithm;
00069 static const int cambridge_for_passive_algorithm;
00072 static const int genkt_for_passive_algorithm;
00073
00075 static const int ee_kt_algorithm;
00077 static const int ee_genkt_algorithm;
00078
00080 static const int plugin_algorithm;
00081
00085 static const int E_scheme;
00088 static const int pt_scheme;
00091 static const int pt2_scheme;
00094 static const int Et_scheme;
00097 static const int Et2_scheme;
00100 static const int BIpt_scheme;
00103 static const int BIpt2_scheme;
00105 static const int external_scheme;
00106
00110 static const int N2MinHeapTiled;
00112 static const int N2Tiled;
00114 static const int N2PoorTiled;
00116 static const int N2Plain;
00118 static const int N3Dumb;
00120 static const int Best;
00122 static const int NlnN;
00124 static const int NlnN3pi;
00126 static const int NlnN4pi;
00129 static const int NlnNCam4pi;
00130 static const int NlnNCam2pi2R;
00131 static const int NlnNCam;
00133 static const int plugin_strategy;
00134
00135 StFastJetPars()
00136 : mJetAlgorithm(kt_algorithm)
00137 , mRparam(1.0)
00138 , mRecombScheme(E_scheme)
00139 , mStrategy(Best)
00140 , mPtMin(5.0)
00141 , mPlugin(0)
00142 {
00143 }
00144
00145 StJetFinder* constructJetFinder();
00146
00147 int jetAlgorithm () const { return mJetAlgorithm; }
00148 double Rparam () const { return mRparam; }
00149 int recombinationScheme() const { return mRecombScheme; }
00150 int strategy () const { return mStrategy; }
00151 double ptMin () const { return mPtMin; }
00152 void* plugin() const { return mPlugin->impl(); }
00153
00154 void setJetAlgorithm (int jetAlgorithm) { mJetAlgorithm = jetAlgorithm; }
00155 void setRparam (double Rparam ) { mRparam = Rparam; }
00156 void setRecombinationScheme(int recombScheme) { mRecombScheme = recombScheme; }
00157 void setStrategy (int strategy ) { mStrategy = strategy; }
00158 void setPtMin (double ptmin ) { mPtMin = ptmin; }
00159 void setPlugin(StPlugin* plugin) { mPlugin = plugin; }
00160
00161 private:
00162 int mJetAlgorithm;
00163 double mRparam;
00164 int mRecombScheme;
00165 int mStrategy;
00166 double mPtMin;
00167 StPlugin* mPlugin;
00168
00169 ClassDef(StFastJetPars,0)
00170 };
00171
00172 #endif // ST_FAST_JET_PARS_H