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;
 
  218                                         bool use_area_4vector,
 
  219                                         double & median, 
double & sigma,
 
  221                                         bool all_are_inclusive = 
false) 
const;
 
  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",
 
  268   std::vector<PseudoJet> subtracted_jets(
const Selector & selector, 
 
  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__