1 #ifndef __FASTJET_TOOLS_RECLUSTER_HH__
2 #define __FASTJET_TOOLS_RECLUSTER_HH__
25 #include <fastjet/JetDefinition.hh>
26 #include <fastjet/FunctionOfPseudoJet.hh>
37 FASTJET_BEGIN_NAMESPACE
87 Recluster() : _new_jet_def(), _acquire_recombiner(true),
88 _keep(keep_only_hardest), _cambridge_optimisation_enabled(true){}
105 bool acquire_recombiner_in =
false,
106 Keep keep_in = keep_only_hardest)
107 : _new_jet_def(new_jet_def), _acquire_recombiner(acquire_recombiner_in),
108 _keep(keep_in), _cambridge_optimisation_enabled(true) {}
161 bool cambridge_optimisation(){
return _cambridge_optimisation_enabled;}
176 virtual std::string description()
const;
202 bool get_new_jets_and_def(
const PseudoJet & input_jet,
203 std::vector<PseudoJet> & output_jets)
const;
210 PseudoJet generate_output_jet(std::vector<PseudoJet> & incljets,
211 bool ca_optimisation_used)
const;
216 void _recluster_ca(
const std::vector<PseudoJet> & all_pieces,
217 std::vector<PseudoJet> & incljets,
221 void _recluster_generic(
const PseudoJet & jet,
222 std::vector<PseudoJet> & incljets,
224 bool do_areas)
const;
229 bool _get_all_pieces(
const PseudoJet &jet, std::vector<PseudoJet> &all_pieces)
const;
234 void _acquire_recombiner_from_pieces(
const std::vector<PseudoJet> &all_pieces,
238 bool _check_ca(
const std::vector<PseudoJet> &all_pieces,
246 bool _check_explicit_ghosts(
const std::vector<PseudoJet> &all_pieces)
const;
249 bool _acquire_recombiner;
254 bool _cambridge_optimisation_enabled;
261 FASTJET_END_NAMESPACE
263 #endif // __FASTJET_TOOLS_RECLUSTER_HH__
void set_cambridge_optimisation(bool enabled)
sets whether to try to optimise reclustering with Cambridge/Aachen algorithms (by not reclustering if...
void set_acquire_recombiner(bool acquire)
set whether the reclustering should attempt to acquire a recombiner from the input jet ...
Keep keep() const
returns the current "keep" mode i.e.
bool acquire_recombiner() const
returns true if this reclusterer is set to acquire the recombiner from the input jet ...
class to provide facilities for giving warnings up to some maximum number of times and to provide glo...
keep only the hardest inclusive jet and return a "standard" jet with an associated ClusterSequence [t...
Keep
the various options for the output of Recluster
virtual ~Recluster()
default dtor
bool cambridge_optimization()
returns true if the reclusterer tries to optimise reclustering with Cambridge/Aachen algorithms ...
Recluster a jet's constituents with a new jet definition.
base class providing interface for a generic function of a PseudoJet
Recluster(const JetDefinition &new_jet_def, bool acquire_recombiner_in=false, Keep keep_in=keep_only_hardest)
Constructs a Recluster object that reclusters a jet into a new jet using a generic JetDefinition...
JetAlgorithm
the various families of jet-clustering algorithm
Class to contain pseudojets, including minimal information of use to jet-clustering routines...
Recluster()
default constructor (uses an undefined JetDefinition, and so cannot be used directly).
void set_cambridge_optimization(bool enabled)
sets whether to try to optimise reclustering with Cambridge/Aachen algorithms (US spelling!) ...
void set_keep(Keep keep_in)
set the behaviour with regards to keeping all resulting jets or just the hardest. ...
class that is intended to hold a full definition of the jet clusterer