31#include "fastjet/ClusterSequencePassiveArea.hh"
32#include "fastjet/ClusterSequenceVoronoiArea.hh"
34FASTJET_BEGIN_NAMESPACE
43void ClusterSequencePassiveArea::_initialise_and_run_PA (
44 const JetDefinition & jet_def_in,
45 const GhostedAreaSpec & area_spec,
46 const bool & writeout_combinations) {
48 if (jet_def_in.jet_algorithm() == kt_algorithm) {
50 ClusterSequenceVoronoiArea csva(_jets,jet_def_in,VoronoiAreaSpec(1.0));
53 transfer_from_sequence(csva);
55 _resize_and_zero_AA();
56 for (
unsigned i = 0; i < _history.size(); i++) {
57 int ijetp = _history[i].jetp_index;
58 if (ijetp != Invalid) {
59 _average_area[i] = csva.area(_jets[ijetp]);
60 _average_area_4vector[i] = csva.area_4vector(_jets[ijetp]);
64 }
else if (jet_def_in.jet_algorithm() == cambridge_algorithm) {
67 JetDefinition tmp_jet_def = jet_def_in;
68 tmp_jet_def.set_jet_finder(cambridge_for_passive_algorithm);
69 tmp_jet_def.set_extra_param(sqrt(area_spec.mean_ghost_kt()));
70 _initialise_and_run_AA(tmp_jet_def, area_spec, writeout_combinations);
71 _jet_def = jet_def_in;
73 }
else if (jet_def_in.jet_algorithm() == antikt_algorithm) {
75 _initialise_and_run_AA(jet_def_in, area_spec, writeout_combinations);
77 }
else if (jet_def_in.jet_algorithm() == plugin_algorithm &&
78 jet_def_in.plugin()->supports_ghosted_passive_areas()) {
82 double ghost_sep_scale_store = jet_def_in.plugin()->ghost_separation_scale();
83 jet_def_in.plugin()->set_ghost_separation_scale(sqrt(area_spec.mean_ghost_kt()));
84 _initialise_and_run_AA(jet_def_in, area_spec, writeout_combinations);
87 jet_def_in.plugin()->set_ghost_separation_scale(ghost_sep_scale_store);
91 _initialise_and_run_1GPA(jet_def_in, area_spec, writeout_combinations);
97double ClusterSequencePassiveArea::empty_area (
const Selector & selector)
const {
100 return ClusterSequenceAreaBase::empty_area(selector);
102 return ClusterSequence1GhostPassiveArea::empty_area(selector);
Class that encodes information about cuts and other selection criteria that can be applied to PseudoJ...
@ kt_algorithm
the longitudinally invariant kt algorithm