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) ;
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;
116 virtual double n_empty_jets(
const Selector & selector)
const;
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__