00001 #ifndef __D0RUNIICONEPLUGIN_HH__
00002 #define __D0RUNIICONEPLUGIN_HH__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include "fastjet/JetDefinition.hh"
00035
00036
00037
00038 FASTJET_BEGIN_NAMESPACE
00039
00040
00041
00058
00059
00060 class D0RunIIConePlugin : public JetDefinition::Plugin {
00061 public:
00062
00063
00079
00080 D0RunIIConePlugin (double cone_radius,
00081 double min_jet_Et ,
00082 double split_ratio = _DEFAULT_split_ratio) :
00083 _cone_radius (cone_radius ),
00084 _min_jet_Et (min_jet_Et ),
00085 _split_ratio (split_ratio ),
00086 _far_ratio (_DEFAULT_far_ratio ),
00087 _Et_min_ratio (_DEFAULT_Et_min_ratio ),
00088 _kill_duplicate (_DEFAULT_kill_duplicate ),
00089 _duplicate_dR (_DEFAULT_duplicate_dR ),
00090 _duplicate_dPT (_DEFAULT_duplicate_dPT ),
00091 _search_factor (_DEFAULT_search_factor ),
00092 _pT_min_leading_protojet(_DEFAULT_pT_min_leading_protojet),
00093 _pT_min_second_protojet (_DEFAULT_pT_min_second_protojet ),
00094 _merge_max (_DEFAULT_merge_max ),
00095 _pT_min_nomerge (_DEFAULT_pT_min_nomerge )
00096 {
00097
00098 }
00099
00100
00101 inline double cone_radius () const { return _cone_radius ;}
00102 inline double min_jet_Et () const { return _min_jet_Et ;}
00103 inline double split_ratio () const { return _split_ratio ;}
00104 inline double far_ratio () const { return _far_ratio ;}
00105 inline double Et_min_ratio () const { return _Et_min_ratio ;}
00106 inline bool kill_duplicate () const { return _kill_duplicate ;}
00107 inline double duplicate_dR () const { return _duplicate_dR ;}
00108 inline double duplicate_dPT () const { return _duplicate_dPT ;}
00109 inline double search_factor () const { return _search_factor ;}
00110 inline double pT_min_leading_protojet() const { return _pT_min_leading_protojet;}
00111 inline double pT_min_second_protojet () const { return _pT_min_second_protojet ;}
00112 inline int merge_max () const { return _merge_max ;}
00113 inline double pT_min_nomerge () const { return _pT_min_nomerge ;}
00114
00115
00117 inline double overlap_threshold() const {return split_ratio();}
00118
00119
00120 virtual std::string description () const;
00121 virtual void run_clustering(ClusterSequence &) const;
00123 virtual double R() const {return cone_radius();}
00124
00125
00126 private:
00127
00128 double _cone_radius ;
00129 double _min_jet_Et ;
00130 double _split_ratio ;
00131
00132
00133
00134 double _far_ratio ;
00135 double _Et_min_ratio ;
00136 bool _kill_duplicate ;
00137 double _duplicate_dR ;
00138 double _duplicate_dPT ;
00139 double _search_factor ;
00140 double _pT_min_leading_protojet;
00141 double _pT_min_second_protojet ;
00142 int _merge_max ;
00143 double _pT_min_nomerge ;
00144
00145
00146
00147 const static double _DEFAULT_split_ratio ;
00148 const static double _DEFAULT_far_ratio ;
00149 const static double _DEFAULT_Et_min_ratio ;
00150 const static bool _DEFAULT_kill_duplicate ;
00151 const static double _DEFAULT_duplicate_dR ;
00152 const static double _DEFAULT_duplicate_dPT ;
00153 const static double _DEFAULT_search_factor ;
00154 const static double _DEFAULT_pT_min_leading_protojet ;
00155 const static double _DEFAULT_pT_min_second_protojet ;
00156 const static int _DEFAULT_merge_max ;
00157 const static double _DEFAULT_pT_min_nomerge ;
00158
00159 };
00160
00161 FASTJET_END_NAMESPACE
00162
00163 #endif // __D0RUNIICONEPLUGIN_HH__