31#ifndef __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__
32#define __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__
35#include "fastjet/PseudoJet.hh"
36#include "fastjet/ClusterSequenceAreaBase.hh"
37#include "fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh"
48FASTJET_BEGIN_NAMESPACE
71 (
const std::vector<L> & pseudojets,
74 const bool & writeout_combinations =
false) ;
79 return _average_area2[jet.cluster_hist_index()];};
82 return _average_area_4vector[jet.cluster_hist_index()];};
91 pttot_over_areatot_cut, mean_ratio_cut, play,
103 double pt_per_unit_area(mean_pt_strategies strat=median,
104 double range=2.0 )
const;
112 virtual double empty_area(
const Selector & selector)
const FASTJET_OVERRIDE;
116 virtual double n_empty_jets(
const Selector & selector)
const FASTJET_OVERRIDE;
119 void _resize_and_zero_AA ();
122 const bool & writeout_combinations,
123 bool & continue_running);
133 const bool & writeout_combinations =
false);
137 void _transfer_ghost_free_history(
143 void _transfer_areas(
const std::vector<int> & unique_hist_order,
148 std::valarray<PseudoJet> _average_area_4vector;
158 double _non_jet_area, _non_jet_area2, _non_jet_number;
160 double _maxrap_for_area;
161 double _safe_rap_for_area;
163 bool _has_dangerous_particles;
169 void _extract_tree(std::vector<int> &)
const;
172 void _extract_tree_children(
int pos, std::valarray<bool> &,
const std::valarray<int> &, std::vector<int> &)
const;
174 void _extract_tree_parents (
int pos, std::valarray<bool> &,
const std::valarray<int> &, std::vector<int> &)
const;
179 void _throw_unless_jets_have_same_perp_or_E(
const PseudoJet & jet,
191 int _ghost_spec_repeat;
200 std::vector<GhostJet> _ghost_jets;
201 std::vector<GhostJet> _unclustered_ghosts;
208(
const std::vector<L> & pseudojets,
211 const bool & writeout_combinations) {
Like ClusterSequence with computation of the active jet area with the addition of explicit ghosts.
Like ClusterSequence with computation of the active jet area.
ClusterSequenceActiveArea()
default constructor
virtual PseudoJet area_4vector(const PseudoJet &jet) const override
return a PseudoJet whose 4-vector is defined by the following integral
virtual double area_error(const PseudoJet &jet) const override
return the error (uncertainty) associated with the determination of the area of this jet; this base c...
mean_pt_strategies
enum providing a variety of tentative strategies for estimating the background (e....
virtual double area(const PseudoJet &jet) const override
return the area associated with the given jet; this base class returns 0.
std::valarray< double > _average_area
child classes benefit from having these at their disposal
void _initialise_and_run_AA(const JetDefinition &jet_def, const GhostedAreaSpec &ghost_spec, const bool &writeout_combinations=false)
does the initialisation and running specific to the active areas class
bool has_dangerous_particles() const
returns true if there are any particles whose transverse momentum if so low that there's a risk of th...
ClusterSequenceAreaBase(const std::vector< L > &pseudojets, const JetDefinition &jet_def_in, const bool &writeout_combinations=false)
a constructor which just carries out the construction of the parent class
void _transfer_input_jets(const std::vector< L > &pseudojets)
transfer the vector<L> of input jets into our own vector<PseudoJet> _jets (with some reserved space f...
Parameters to configure the computation of jet areas using ghosts.
class that is intended to hold a full definition of the jet clusterer
Class to contain pseudojets, including minimal information of use to jet-clustering routines.
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...