1 #ifndef __FASTJET_BACKGROUND_ESTIMATOR_BASE_HH__
2 #define __FASTJET_BACKGROUND_ESTIMATOR_BASE_HH__
32 #include <fastjet/ClusterSequenceAreaBase.hh>
33 #include <fastjet/FunctionOfPseudoJet.hh>
34 #include <fastjet/Selector.hh>
35 #include <fastjet/Error.hh>
38 FASTJET_BEGIN_NAMESPACE
67 virtual void set_particles(
const std::vector<PseudoJet> & particles) = 0;
76 virtual double rho()
const = 0;
82 throw Error(
"sigma() not supported for this Background Estimator");
90 virtual double rho(
const PseudoJet & jet) = 0;
95 throw Error(
"sigma(jet) not supported for this Background Estimator");
120 return _rescaling_class;
130 virtual std::string description()
const = 0;
150 void _median_and_stddev(
const std::vector<double> & quantity_vector,
153 double & stand_dev_if_gaussian,
154 bool do_fj2_calculation =
false
165 double _percentile(
const std::vector<double> & sorted_quantity_vector,
166 const double percentile,
167 const double nempty=0.0,
168 const bool do_fj2_calculation =
false)
const;
200 double a4=0) : _a0(a0), _a1(a1), _a2(a2), _a3(a3), _a4(a4) {}
203 virtual double result(
const PseudoJet & jet)
const;
205 double _a0, _a1, _a2, _a3, _a4;
212 FASTJET_END_NAMESPACE
214 #endif // __BACKGROUND_ESTIMATOR_BASE_HH__
const FunctionOfPseudoJet< double > * rescaling_class() const
return the pointer to the jet density class
virtual void set_rescaling_class(const FunctionOfPseudoJet< double > *rescaling_class_in)
Set a pointer to a class that calculates the rescaling factor as a function of the jet (position).
virtual double sigma() const
get sigma, the background fluctuations per unit area; must be multipled by sqrt(area) to get fluctuat...
virtual ~BackgroundEstimatorBase()
a default virtual destructor that does nothing
virtual double sigma(const PseudoJet &)
get sigma, the background fluctuations per unit area, locally at the position of a given jet.
BackgroundRescalingYPolynomial(double a0=1, double a1=0, double a2=0, double a3=0, double a4=0)
construct a background rescaling polynomial of the form a0 + a1*y + a2*y^2 + a3*y^3 + a4*y^4
virtual bool has_sigma()
returns true if this background estimator has support for determination of sigma