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__ 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 ...
class to provide facilities for giving warnings up to some maximum number of times and to provide glo...
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)...
base class corresponding to errors that can be thrown by FastJet
Abstract base class that provides the basic interface for classes that estimate levels of background ...
virtual ~BackgroundEstimatorBase()
a default virtual destructor that does nothing
A background rescaling that is a simple polynomial in y.
const FunctionOfPseudoJet< double > * rescaling_class() const
return the pointer to the jet density class
Class to contain pseudojets, including minimal information of use to jet-clustering routines...
virtual double sigma() const
get sigma, the background fluctuations per unit area; must be multipled by sqrt(area) to get fluctuat...
virtual bool has_sigma()
returns true if this background estimator has support for determination of sigma