31#ifndef __CDFMIDPOINTPLUGIN_HH__
32#define __CDFMIDPOINTPLUGIN_HH__
34#include "fastjet/JetDefinition.hh"
35#include "fastjet/internal/thread_safety_helpers.hh"
39FASTJET_BEGIN_NAMESPACE

115 double seed_threshold_in ,

116 double cone_radius_in ,

117 double cone_area_fraction_in ,

118 int max_pair_size_in ,

119 int max_iterations_in ,

120 double overlap_threshold_in ,

122 _seed_threshold (seed_threshold_in ),

123 _cone_radius (cone_radius_in ),

124 _cone_area_fraction (cone_area_fraction_in ),

125 _max_pair_size (max_pair_size_in ),

126 _max_iterations (max_iterations_in ),

127 _overlap_threshold (overlap_threshold_in ),

128 _sm_scale (sm_scale_in) {}

138 double overlap_threshold_in,

139 double seed_threshold_in = 1.0,

140 double cone_area_fraction_in = 1.0) :

141 _seed_threshold (seed_threshold_in ),

142 _cone_radius (cone_radius_in ),

143 _cone_area_fraction (cone_area_fraction_in ),

145 _max_iterations (100 ),

146 _overlap_threshold (overlap_threshold_in ),

151 double seed_threshold ()

const {

return _seed_threshold ;}

152 double cone_radius ()

const {

return _cone_radius ;}

153 double cone_area_fraction ()

const {

return _cone_area_fraction ;}

154 int max_pair_size ()

const {

return _max_pair_size ;}

155 int max_iterations ()

const {

return _max_iterations ;}

156 double overlap_threshold ()

const {

return _overlap_threshold ;}

160 virtual std::string description ()

const;

161 virtual void run_clustering(ClusterSequence &)

const;

163 virtual double R()

const {

return cone_radius();}

167 double _seed_threshold ;

168 double _cone_radius ;

169 double _cone_area_fraction;

171 int _max_iterations ;

172 double _overlap_threshold ;

173 SplitMergeScale _sm_scale ;

178 void _print_banner(std::ostream *ostr)

const;

Implementation of the MidPoint algorithm from CDF (plugin for fastjet-v2.1 upwards)

SplitMergeScale

the choice of scale to be used in the split-merge step

virtual double R() const

the plugin mechanism's standard way of accessing the jet radius

CDFMidPointPlugin(double cone_radius_in, double overlap_threshold_in, double seed_threshold_in=1.0, double cone_area_fraction_in=1.0)

a compact constructor

CDFMidPointPlugin(double seed_threshold_in, double cone_radius_in, double cone_area_fraction_in, int max_pair_size_in, int max_iterations_in, double overlap_threshold_in, SplitMergeScale sm_scale_in=SM_pt)

A CDFMidPointPlugin constructor that looks like the one provided by CDF.

a class that allows a user to introduce their own "plugin" jet finder

provides an object wich will return "true" the first time () is called and false afterwards