31 #ifndef __FASTJET_CLUSTERSEQUENCEAREA_HH__    32 #define __FASTJET_CLUSTERSEQUENCEAREA_HH__    34 #include "fastjet/ClusterSequenceAreaBase.hh"    35 #include "fastjet/ClusterSequenceActiveArea.hh"    36 #include "fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh"    37 #include "fastjet/ClusterSequencePassiveArea.hh"    38 #include "fastjet/ClusterSequenceVoronoiArea.hh"    39 #include "fastjet/AreaDefinition.hh"    41 FASTJET_BEGIN_NAMESPACE
    55          (
const std::vector<L> & pseudojets, 
    58     initialize_and_run_cswa(pseudojets, jet_def_in);
    63          (
const std::vector<L> & pseudojets, 
    66     initialize_and_run_cswa(pseudojets, jet_def_in);
    71          (
const std::vector<L> & pseudojets, 
    74     initialize_and_run_cswa(pseudojets, jet_def_in);
    83     return _area_base->area(jet);}
    88     return _area_base->area_error(jet);}
    92     return _area_base->area_4vector(jet);}
   113     return _area_base->empty_area(selector);}
   125     return _area_base->n_empty_jets(selector);
   130     return _area_base->is_pure_ghost(jet);
   135     return _area_base->has_explicit_ghosts();
   149                                         bool use_area_4vector,
   150                                         double & median, 
double & sigma,
   152                                         bool all_are_incl = 
false) const FASTJET_OVERRIDE {
   153     _warn_if_range_unsuitable(selector);
   154     ClusterSequenceAreaBase::_get_median_rho_and_sigma(
   155                                  all_jets, selector, use_area_4vector,
   156                                  median, sigma, mean_area, all_are_incl);
   165                                         bool use_area_4vector,
   166                                         double & median, 
double & sigma) 
const FASTJET_OVERRIDE {
   167     ClusterSequenceAreaBase::_get_median_rho_and_sigma(selector,use_area_4vector,
   177                                         bool use_area_4vector,
   178                                         double & median, 
double & sigma,
   179                                         double & mean_area) 
const FASTJET_OVERRIDE {
   180     ClusterSequenceAreaBase::_get_median_rho_and_sigma(selector,use_area_4vector,
   181                                                        median,sigma, mean_area);
   191                                           double exclude_above=-1.0, 
   192                                           bool use_area_4vector=
false) const FASTJET_OVERRIDE {
   193     return _parabolic_pt_per_unit_area(a,b,selector,exclude_above,use_area_4vector);
   202   void _warn_if_range_unsuitable(
const Selector & selector) 
const;
   204   template<
class L> 
void initialize_and_run_cswa (
   205                                  const std::vector<L> & pseudojets, 
   219   virtual void _parabolic_pt_per_unit_area(
double & a, 
double & b, 
   221                                           double exclude_above=-1.0, 
   222                                           bool use_area_4vector=
false) 
const FASTJET_OVERRIDE {
   223     _warn_if_range_unsuitable(selector);
   224     ClusterSequenceAreaBase::_parabolic_pt_per_unit_area(
   225                                 a,b,selector, exclude_above, use_area_4vector);
   231 template<
class L> 
void ClusterSequenceArea::initialize_and_run_cswa(
   232            const std::vector<L> & pseudojets, 
   237   switch(_area_def.area_type()) {
   241                                                    _area_def.ghost_spec());
   243   case active_area_explicit_ghosts:
   244     if (_area_def.ghost_spec().repeat() != 1) 
   245       _explicit_ghosts_repeats_warnings.warn(
"Requested active area with explicit ghosts with repeat != 1; only 1 set of ghosts will be used");
   248                                                    _area_def.ghost_spec());
   253                                                    _area_def.voronoi_spec());
   255   case one_ghost_passive_area:
   258                                                     _area_def.ghost_spec());
   263                                                     _area_def.ghost_spec());
   266     std::ostringstream err;
   267     err << 
"Error: unrecognized area_type in ClusterSequenceArea:"    268         << _area_def.area_type();
   269     throw Error(err.str());
   274   transfer_from_sequence(*_area_base);
   277 FASTJET_END_NAMESPACE
   279 #endif // __FASTJET_CLUSTERSEQUENCEAREA_HH__ virtual void get_median_rho_and_sigma(const std::vector< PseudoJet > &all_jets, const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area, bool all_are_incl=false) const 
overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibil...
 
const AreaDefinition & area_def() const 
return a reference to the area definition 
 
virtual double empty_area(const Selector &selector) const 
return the total area, corresponding to the given selector, that is free of jets 
 
virtual double n_empty_jets(const Selector &selector) const 
return something similar to the number of pure ghost jets in the given rap-phi range in an active are...
 
General class for user to obtain ClusterSequence with additional area information. 
 
virtual bool is_pure_ghost(const PseudoJet &jet) const 
true if a jet is made exclusively of ghosts 
 
Like ClusterSequence with computation of the passive jet area by adding a single ghost. 
 
Like ClusterSequence with computation of the active jet area. 
 
virtual void parabolic_pt_per_unit_area(double &a, double &b, const Selector &selector, double exclude_above=-1.0, bool use_area_4vector=false) const 
overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibil...
 
class that holds a generic area definition 
 
virtual double area(const PseudoJet &jet) const 
return the area associated with the given jet 
 
class to provide facilities for giving warnings up to some maximum number of times and to provide glo...
 
Like ClusterSequence with computation of the passive jet area. 
 
Specification for the computation of the Voronoi jet area. 
 
base class that sets interface for extensions of ClusterSequence that provide information about the a...
 
base class corresponding to errors that can be thrown by FastJet 
 
Like ClusterSequence with computation of the active jet area with the addition of explicit ghosts...
 
an implementation of C++0x shared pointers (or boost's) 
 
virtual void get_median_rho_and_sigma(const Selector &selector, bool use_area_4vector, double &median, double &sigma) const 
overload version of what's in the ClusterSequenceAreaBase class, which actually just does the same th...
 
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
 
Like ClusterSequence with computation of the Voronoi jet area. 
 
virtual PseudoJet area_4vector(const PseudoJet &jet) const 
return the 4-vector area 
 
Parameters to configure the computation of jet areas using ghosts. 
 
virtual void get_median_rho_and_sigma(const Selector &selector, bool use_area_4vector, double &median, double &sigma, double &mean_area) const 
overload version of what's in the ClusterSequenceAreaBase class, which actually just does the same th...
 
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 double area_error(const PseudoJet &jet) const 
return the error (uncertainty) associated with the determination of the area of this jet ...
 
virtual bool has_explicit_ghosts() const 
true if this ClusterSequence has explicit ghosts