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" 48 FASTJET_BEGIN_NAMESPACE
71 (
const std::vector<L> & pseudojets,
74 const bool & writeout_combinations =
false) ;
77 return _average_area[jet.cluster_hist_index()];};
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,
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;
207 template<
class L> ClusterSequenceActiveArea::ClusterSequenceActiveArea
208 (
const std::vector<L> & pseudojets,
211 const bool & writeout_combinations) {
214 _transfer_input_jets(pseudojets);
217 _initialise_and_run_AA(jet_def_in, ghost_spec, writeout_combinations);
223 FASTJET_END_NAMESPACE
225 #endif // __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__ mean_pt_strategies
enum providing a variety of tentative strategies for estimating the background (e.g.
Like ClusterSequence with computation of the active jet area.
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...
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...
base class that sets interface for extensions of ClusterSequence that provide information about the a...
Like ClusterSequence with computation of the active jet area with the addition of explicit ghosts...
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
ClusterSequenceActiveArea()
default constructor
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
virtual PseudoJet area_4vector(const PseudoJet &jet) const override
return a PseudoJet whose 4-vector is defined by the following integral
Parameters to configure the computation of jet areas using ghosts.
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