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" 37 #include "fastjet/internal/deprecated.hh" 39 FASTJET_BEGIN_NAMESPACE
54 (
const std::vector<L> & pseudojets,
56 const bool & writeout_combinations =
false) :
114 virtual double empty_area(
const Selector & selector)
const;
122 double empty_area_from_jets(
const std::vector<PseudoJet> & all_jets,
137 double R = jet_def().R();
138 return empty_area(selector)/(0.55*pi*R*R);
147 FASTJET_DEPRECATED_MSG(
"ClusterSequenceAreaBase::median_pt_per_unit_area(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
148 double median_pt_per_unit_area(const
Selector & selector) const;
155 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::median_pt_per_unit_area_4vector(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
156 double median_pt_per_unit_area_4vector(const
Selector & selector) const;
162 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::median_pt_per_unit_something(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
163 double median_pt_per_unit_something(const
Selector & selector,
164 bool use_area_4vector) const;
191 virtual
void get_median_rho_and_sigma(const
Selector & selector,
192 bool use_area_4vector,
193 double & median,
double & sigma,
194 double & mean_area) const;
216 virtual
void get_median_rho_and_sigma(const
std::vector<
PseudoJet> & all_jets,
218 bool use_area_4vector,
219 double & median,
double & sigma,
221 bool all_are_inclusive = false) const;
230 virtual
void get_median_rho_and_sigma(const
Selector & selector,
231 bool use_area_4vector,
232 double & median,
double & sigma)
const{
233 return _get_median_rho_and_sigma(selector, use_area_4vector, median, sigma);
246 virtual void parabolic_pt_per_unit_area(
double & a,
double & b,
248 double exclude_above=-1.0,
249 bool use_area_4vector=
false)
const;
255 FASTJET_DEPRECATED_MSG(
"ClusterSequenceAreaBase::subtracted_jets(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
256 std::vector<
PseudoJet> subtracted_jets(const
double rho,
257 const
double ptmin=0.0) const;
267 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::subtracted_jets(...) is deprecated since FastJet 3.0. Use the
Subtractor tool (with the BackgroundEstimator series of tools) instead")
269 const
double ptmin=0.0) const;
272 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::subtracted_jet(...) is deprecated since FastJet 3.0. Use the
Subtractor tool (with the BackgroundEstimator series of tools) instead")
274 const
double rho) const;
284 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::subtracted_jet(...) is deprecated since FastJet 3.0. Use the
Subtractor tool (with the BackgroundEstimator series of tools) instead")
289 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::subtracted_pt(...) is deprecated since FastJet 3.0. Use the
Subtractor tool (with the BackgroundEstimator series of tools) instead")
290 double subtracted_pt(const
PseudoJet & jet,
292 bool use_area_4vector=false) const;
301 FASTJET_DEPRECATED_MSG("
ClusterSequenceAreaBase::subtracted_pt(...) is deprecated since FastJet 3.0. Use the
Subtractor tool (with the BackgroundEstimator series of tools) instead")
302 double subtracted_pt(const
PseudoJet & jet,
304 bool use_area_4vector=false) const;
308 void _check_selector_good_for_median(const
Selector &selector) const;
316 virtual
void _get_median_rho_and_sigma(const
Selector & selector,
317 bool use_area_4vector,
318 double & median,
double & sigma,
319 double & mean_area) const;
320 virtual
void _get_median_rho_and_sigma(const
std::vector<
PseudoJet> & all_jets,
322 bool use_area_4vector,
323 double & median,
double & sigma,
325 bool all_are_inclusive = false) const;
326 virtual
void _get_median_rho_and_sigma(const
Selector & selector,
327 bool use_area_4vector,
328 double & median,
double & sigma)
const {
330 _get_median_rho_and_sigma(selector, use_area_4vector,
331 median, sigma, mean_area);
333 virtual void _parabolic_pt_per_unit_area(
double & a,
double & b,
334 const Selector & selector,
335 double exclude_above=-1.0,
336 bool use_area_4vector=
false)
const;
340 static LimitedWarning _warnings;
341 static LimitedWarning _warnings_zero_area;
342 static LimitedWarning _warnings_empty_area;
345 void _check_jet_alg_good_for_median()
const;
353 double _median_pt_per_unit_area(
const Selector & selector)
const;
354 double _median_pt_per_unit_area_4vector(
const Selector & selector)
const;
355 double _median_pt_per_unit_something(
const Selector & selector,
356 bool use_area_4vector)
const;
357 std::vector<PseudoJet> _subtracted_jets(
const double rho,
358 const double ptmin=0.0)
const;
359 PseudoJet _subtracted_jet(
const PseudoJet & jet,
360 const double rho)
const;
361 PseudoJet _subtracted_jet(
const PseudoJet & jet,
362 const Selector & selector)
const;
363 double _subtracted_pt(
const PseudoJet & jet,
365 bool use_area_4vector=
false)
const;
370 FASTJET_END_NAMESPACE
372 #endif // __FASTJET_CLUSTERSEQUENCEAREABASE_HH__ Class that helps perform jet background subtraction.
virtual ~ClusterSequenceAreaBase()
destructor
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 double area(const PseudoJet &) const
return the area associated with the given jet; this base class returns 0.
virtual PseudoJet area_4vector(const PseudoJet &) const
return a PseudoJet whose 4-vector is defined by the following integral
ClusterSequenceAreaBase()
default constructor
base class that sets interface for extensions of ClusterSequence that provide information about the a...
virtual bool has_explicit_ghosts() const
returns true if ghosts are explicitly included within jets for this ClusterSequence; ...
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
virtual double area_error(const PseudoJet &) const
return the error (uncertainty) associated with the determination of the area of this jet; this base c...
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
virtual bool is_pure_ghost(const PseudoJet &) const
true if a jet is made exclusively of ghosts