1 #ifndef __FASTJET_BACKGROUND_ESTIMATOR_BASE_HH__
2 #define __FASTJET_BACKGROUND_ESTIMATOR_BASE_HH__
34 #include <fastjet/ClusterSequenceAreaBase.hh>
35 #include <fastjet/FunctionOfPseudoJet.hh>
36 #include <fastjet/Selector.hh>
37 #include <fastjet/Error.hh>
40 FASTJET_BEGIN_NAMESPACE
68 virtual void set_particles(
const std::vector<PseudoJet> & particles) = 0;
77 virtual double rho()
const = 0;
83 throw Error(
"sigma() not supported for this Background Estimator");
91 virtual double rho(
const PseudoJet & jet) = 0;
96 throw Error(
"sigma(jet) not supported for this Background Estimator");
109 throw Error(
"rho_m() not supported for this Background Estimator");
117 throw Error(
"sigma_m() not supported for this Background Estimator");
122 throw Error(
"rho_m(jet) not supported for this Background Estimator");
127 throw Error(
"sigma_m(jet) not supported for this Background Estimator");
158 return _rescaling_class;
168 virtual std::string description()
const = 0;
188 void _median_and_stddev(
const std::vector<double> & quantity_vector,
191 double & stand_dev_if_gaussian,
192 bool do_fj2_calculation =
false
203 double _percentile(
const std::vector<double> & sorted_quantity_vector,
204 const double percentile,
205 const double nempty=0.0,
206 const bool do_fj2_calculation =
false)
const;
238 double a4=0) : _a0(a0), _a1(a1), _a2(a2), _a3(a3), _a4(a4) {}
241 virtual double result(
const PseudoJet & jet)
const;
243 double _a0, _a1, _a2, _a3, _a4;
250 FASTJET_END_NAMESPACE
252 #endif // __BACKGROUND_ESTIMATOR_BASE_HH__