29 #ifndef __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__
30 #define __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__
33 #include "fastjet/PseudoJet.hh"
34 #include "fastjet/ClusterSequenceAreaBase.hh"
35 #include "fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh"
46 FASTJET_BEGIN_NAMESPACE
69 (
const std::vector<L> & pseudojets,
72 const bool & writeout_combinations =
false) ;
86 pttot_over_areatot_cut, mean_ratio_cut, play,
97 double pt_per_unit_area(mean_pt_strategies strat=median,
98 double range=2.0 )
const;
115 virtual double empty_area(
const Selector & selector)
const;
119 virtual double n_empty_jets(
const Selector & selector)
const;
122 void _resize_and_zero_AA ();
125 const bool & writeout_combinations,
126 bool & continue_running);
136 const bool & writeout_combinations =
false);
140 void _transfer_ghost_free_history(
146 void _transfer_areas(
const std::vector<int> & unique_hist_order,
151 std::valarray<PseudoJet> _average_area_4vector;
161 double _non_jet_area, _non_jet_area2, _non_jet_number;
163 double _maxrap_for_area;
164 double _safe_rap_for_area;
166 bool _has_dangerous_particles;
172 void _extract_tree(std::vector<int> &)
const;
175 void _extract_tree_children(
int pos, std::valarray<bool> &,
const std::valarray<int> &, std::vector<int> &)
const;
177 void _extract_tree_parents (
int pos, std::valarray<bool> &,
const std::valarray<int> &, std::vector<int> &)
const;
182 void _throw_unless_jets_have_same_perp_or_E(
const PseudoJet & jet,
194 int _ghost_spec_repeat;
203 std::vector<GhostJet> _ghost_jets;
204 std::vector<GhostJet> _unclustered_ghosts;
210 template<
class L> ClusterSequenceActiveArea::ClusterSequenceActiveArea
211 (
const std::vector<L> & pseudojets,
214 const bool & writeout_combinations) {
217 _transfer_input_jets(pseudojets);
220 _initialise_and_run_AA(jet_def_in, ghost_spec, writeout_combinations);
226 FASTJET_END_NAMESPACE
228 #endif // __FASTJET_CLUSTERSEQUENCEACTIVEAREA_HH__