31 #ifndef __FASTJET_CLUSTERSEQUENCEAREABASE_HH__
32 #define __FASTJET_CLUSTERSEQUENCEAREABASE_HH__
34 #include "fastjet/ClusterSequence.hh"
35 #include "fastjet/LimitedWarning.hh"
36 #include "fastjet/Selector.hh"
38 FASTJET_BEGIN_NAMESPACE
53 (
const std::vector<L> & pseudojets,
55 const bool & writeout_combinations =
false) :
113 virtual double empty_area(
const Selector & selector)
const;
121 double empty_area_from_jets(
const std::vector<PseudoJet> & all_jets,
136 double R = jet_def().R();
137 return empty_area(selector)/(0.55*pi*R*R);
146 double median_pt_per_unit_area(
const Selector & selector)
const;
153 double median_pt_per_unit_area_4vector(
const Selector & selector)
const;
159 double median_pt_per_unit_something(
160 const Selector & selector,
bool use_area_4vector)
const;
186 virtual void get_median_rho_and_sigma(
const Selector & selector,
187 bool use_area_4vector,
188 double & median,
double & sigma,
189 double & mean_area)
const;
210 virtual void get_median_rho_and_sigma(
const std::vector<PseudoJet> & all_jets,
212 bool use_area_4vector,
213 double & median,
double & sigma,
215 bool all_are_inclusive =
false)
const;
224 bool use_area_4vector,
225 double & median,
double & sigma)
const {
227 get_median_rho_and_sigma(selector, use_area_4vector,
228 median, sigma, mean_area);
240 virtual void parabolic_pt_per_unit_area(
double & a,
double & b,
242 double exclude_above=-1.0,
243 bool use_area_4vector=
false)
const;
249 std::vector<PseudoJet> subtracted_jets(
const double rho,
250 const double ptmin=0.0)
const;
260 std::vector<PseudoJet> subtracted_jets(
const Selector & selector,
261 const double ptmin=0.0)
const;
265 const double rho)
const;
279 double subtracted_pt(
const PseudoJet & jet,
281 bool use_area_4vector=
false)
const;
290 double subtracted_pt(
const PseudoJet & jet,
292 bool use_area_4vector=
false)
const;
296 void _check_selector_good_for_median(
const Selector &selector)
const;
306 void _check_jet_alg_good_for_median()
const;
312 FASTJET_END_NAMESPACE
314 #endif // __FASTJET_CLUSTERSEQUENCEAREABASE_HH__
virtual double area_error(const PseudoJet &) const
return the error (uncertainty) associated with the determination of the area of this jet; this base c...
virtual ~ClusterSequenceAreaBase()
destructor
virtual void get_median_rho_and_sigma(const Selector &selector, bool use_area_4vector, double &median, double &sigma) const
same as the full version of get_median_rho_and_error, but without access to the mean_area ...
virtual double n_empty_jets(const Selector &selector) const
return something similar to the number of pure ghost jets in the given selector's range in an active ...
virtual bool has_explicit_ghosts() const
returns true if ghosts are explicitly included within jets for this ClusterSequence; ...
class to provide facilities for giving warnings up to some maximum number of times and to provide glo...
ClusterSequenceAreaBase()
default constructor
virtual double area(const PseudoJet &) const
return the area associated with the given jet; this base class returns 0.
base class that sets interface for extensions of ClusterSequence that provide information about the a...
virtual PseudoJet area_4vector(const PseudoJet &) const
return a PseudoJet whose 4-vector is defined by the following integral
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
virtual bool is_pure_ghost(const PseudoJet &) const
true if a jet is made exclusively of ghosts
Class to contain pseudojets, including minimal information of use to jet-clustering routines...
class that is intended to hold a full definition of the jet clusterer