32#include "fastjet/PseudoJetStructureBase.hh"
33#include "fastjet/Error.hh"
34#include "fastjet/PseudoJet.hh"
35#include "fastjet/ClusterSequence.hh"
37#include "fastjet/ClusterSequenceAreaBase.hh"
42FASTJET_BEGIN_NAMESPACE
77 throw Error(
"This PseudoJet structure is not associated with a valid ClusterSequence");
86 throw Error(
"This PseudoJet structure is not associated with a valid cluster sequence with area");
105 throw Error(
"This PseudoJet structure has no implementation for has_partner");
114 throw Error(
"This PseudoJet structure has no implementation for has_child");
123 throw Error(
"This PseudoJet structure has no implementation for has_parents");
131 throw Error(
"This PseudoJet structure has no implementation for is_inside");
138 throw Error(
"This PseudoJet structure has no implementation for constituents");
152 throw Error(
"This PseudoJet structure has no implementation for exclusive_subjets");
161 throw Error(
"This PseudoJet structure has no implementation for n_exclusive_subjets");
170 throw Error(
"This PseudoJet structure has no implementation for exclusive_subjets");
178 throw Error(
"This PseudoJet structure has no implementation for exclusive_submerge");
187 throw Error(
"This PseudoJet structure has no implementation for exclusive_submerge_max");
195 throw Error(
"This PseudoJet structure has no implementation for pieces");
207 throw Error(
"This PseudoJet structure has no implementation for area");
215 throw Error(
"This PseudoJet structure has no implementation for area_error");
222 throw Error(
"This PseudoJet structure has no implementation for area_4vector");
229 throw Error(
"This PseudoJet structure has no implementation for is_pure_ghost");
base class that sets interface for extensions of ClusterSequence that provide information about the a...
base class corresponding to errors that can be thrown by FastJet
virtual const ClusterSequence * validated_cs() const
if the jet has a valid associated cluster sequence then return a pointer to it; otherwise throw an er...
virtual std::vector< PseudoJet > exclusive_subjets(const PseudoJet &reference, const double &dcut) const
return a vector of all subjets of the current jet (in the sense of the exclusive algorithm) that woul...
virtual std::vector< PseudoJet > pieces(const PseudoJet &) const
retrieve the pieces building the jet.
virtual const ClusterSequenceAreaBase * validated_csab() const
if the jet has valid area information then return a pointer to the associated ClusterSequenceAreaBase...
virtual double area_error(const PseudoJet &reference) const
return the error (uncertainty) associated with the determination of the area of this jet.
virtual const ClusterSequence * associated_cluster_sequence() const
get a (const) pointer to the parent ClusterSequence (NULL if inexistent)
virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const
check if the reference PseudoJet is contained the second one passed as argument.
virtual std::vector< PseudoJet > constituents(const PseudoJet &reference) const
retrieve the constituents.
virtual double area(const PseudoJet &reference) const
return the jet (scalar) area.
virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const
return the dij that was present in the merging nsub+1 -> nsub subjets inside this jet.
virtual int n_exclusive_subjets(const PseudoJet &reference, const double &dcut) const
return the size of exclusive_subjets(...); still n ln n with same coefficient, but marginally more ef...
virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const
return the maximum dij that occurred in the whole event at the stage that the nsub+1 -> nsub merge of...
virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const
check if it is the product of a recombination, in which case return the 2 parents through the 'parent...
virtual std::vector< PseudoJet > exclusive_subjets_up_to(const PseudoJet &reference, int nsub) const
return the list of subjets obtained by unclustering the supplied jet down to nsub subjets (or all con...
virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const
check if it has been recombined with another PseudoJet in which case, return its partner through the ...
virtual PseudoJet area_4vector(const PseudoJet &reference) const
return the jet 4-vector area.
virtual bool is_pure_ghost(const PseudoJet &reference) const
true if this jet is made exclusively of ghosts.
virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const
check if it has been recombined with another PseudoJet in which case, return its child through the ar...
Class to contain pseudojets, including minimal information of use to jet-clustering routines.