|
fastjet 3.0alpha2
|
Contains any information related to the clustering that should be directly accessible to PseudoJet. More...
#include <PseudoJetStructureBase.hh>

Public Member Functions | |
| PseudoJetStructureBase () | |
| default ctor | |
| virtual | ~PseudoJetStructureBase () |
| default (virtual) dtor | |
| virtual std::string | description () const |
| description | |
Direct access to the associated ClusterSequence object. | |
Get access to the associated ClusterSequence (if any) | |
| virtual bool | has_associated_cluster_sequence () const |
| returns true if there is a valid associated ClusterSequence | |
| virtual const ClusterSequence * | associated_cluster_sequence () const |
| get a (const) pointer to the parent ClusterSequence (NULL if inexistent) | |
| virtual const ClusterSequence * | validated_cs () const |
| if the jet has a valid associated cluster sequence then return a pointer to it; otherwise throw an error | |
|
virtual const ClusterSequenceAreaBase * | validated_csab () const |
| if the jet has valid area information then return a pointer to the associated ClusterSequenceAreaBase object; otherwise throw an error | |
Methods for access to information about jet structure | |
These allow access to jet constituents, and other jet subtructure information. They only work if the jet is associated with a ClusterSequence. | |
| 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 argument. | |
| 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 argument. | |
| 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 'parent1' and 'parent2' arguments. | |
| 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 bool | has_constituents () const |
| return true if the structure supports constituents. | |
| virtual std::vector< PseudoJet > | constituents (const PseudoJet &reference) const |
| retrieve the constituents. | |
| virtual bool | has_exclusive_subjets () const |
| return true if the structure supports exclusive_subjets. | |
| 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 would be obtained when running the algorithm with the given dcut. | |
| 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 efficient than manually taking exclusive_subjets.size() | |
| virtual std::vector< PseudoJet > | exclusive_subjets (const PseudoJet &reference, int nsub) const |
| return the list of subjets obtained by unclustering the supplied jet down to n subjets (or all constituents if there are fewer than n). | |
| 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 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 subjets occurred inside this jet. | |
| virtual bool | has_pieces () const |
| return true if the structure supports pieces. | |
| virtual std::vector< PseudoJet > | pieces (const PseudoJet &reference) const |
| retrieve the pieces building the jet. | |
| virtual bool | has_area () const |
| check if it has a defined area | |
| virtual double | area (const PseudoJet &reference) const |
| return the jet (scalar) area. | |
| virtual double | area_error (const PseudoJet &reference) const |
| return the error (uncertainty) associated with the determination of the area of this jet. | |
| 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. | |
Contains any information related to the clustering that should be directly accessible to PseudoJet.
By default, this class implements basic access to the ClusterSequence related to a PseudoJet (like its constituents or its area). But it can be overloaded in order e.g. to give access to the jet substructure.
Definition at line 57 of file PseudoJetStructureBase.hh.
| bool PseudoJetStructureBase::has_partner | ( | const PseudoJet & | reference, |
| PseudoJet & | partner | ||
| ) | const [virtual] |
check if it has been recombined with another PseudoJet in which case, return its partner through the argument.
Otherwise, 'partner' is set to 0.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 428 of file PseudoJet.cc.
{
return validated_structure_ptr()->has_partner(*this, partner);
}
| bool PseudoJetStructureBase::has_child | ( | const PseudoJet & | reference, |
| PseudoJet & | child | ||
| ) | const [virtual] |
check if it has been recombined with another PseudoJet in which case, return its child through the argument.
Otherwise, 'child' is set to 0.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 439 of file PseudoJet.cc.
{
return validated_structure_ptr()->has_child(*this, child);
}
| bool PseudoJetStructureBase::has_parents | ( | const PseudoJet & | reference, |
| PseudoJet & | parent1, | ||
| PseudoJet & | parent2 | ||
| ) | const [virtual] |
check if it is the product of a recombination, in which case return the 2 parents through the 'parent1' and 'parent2' arguments.
Otherwise, set these to 0.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 450 of file PseudoJet.cc.
{
return validated_structure_ptr()->has_parents(*this, parent1, parent2);
}
| bool PseudoJetStructureBase::object_in_jet | ( | const PseudoJet & | reference, |
| const PseudoJet & | jet | ||
| ) | const [virtual] |
check if the reference PseudoJet is contained the second one passed as argument.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 126 of file PseudoJetStructureBase.cc.
{
throw Error("This PseudoJetStructure has no implementation for is_inside");
}
| bool PseudoJet::has_constituents | ( | ) | const [inline, virtual] |
return true if the structure supports constituents.
false by default
Reimplemented in ClusterSequenceStructure, and CompositeJetStructure.
Definition at line 131 of file PseudoJetStructureBase.hh.
{return false;}
| vector< PseudoJet > PseudoJetStructureBase::constituents | ( | const PseudoJet & | reference | ) | const [virtual] |
retrieve the constituents.
By default, throws an Error
Reimplemented in ClusterSequenceStructure, and CompositeJetStructure.
Definition at line 483 of file PseudoJet.cc.
{
return validated_structure_ptr()->constituents(*this);
}
| vector< PseudoJet > PseudoJetStructureBase::exclusive_subjets | ( | const PseudoJet & | reference, |
| const double & | dcut | ||
| ) | const [virtual] |
return a vector of all subjets of the current jet (in the sense of the exclusive algorithm) that would be obtained when running the algorithm with the given dcut.
Time taken is O(m ln m), where m is the number of subjets that are found. If m gets to be of order of the total number of constituents in the jet, this could be substantially slower than just getting that list of constituents.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 147 of file PseudoJetStructureBase.cc.
{
throw Error("This PseudoJetStructure has no implementation for exclusive_subjets");
}
| int PseudoJetStructureBase::n_exclusive_subjets | ( | const PseudoJet & | reference, |
| const double & | dcut | ||
| ) | const [virtual] |
return the size of exclusive_subjets(...); still n ln n with same coefficient, but marginally more efficient than manually taking exclusive_subjets.size()
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 517 of file PseudoJet.cc.
{
return validated_structure_ptr()->n_exclusive_subjets(*this, dcut);
}
| vector< PseudoJet > PseudoJetStructureBase::exclusive_subjets | ( | const PseudoJet & | reference, |
| int | nsub | ||
| ) | const [virtual] |
return the list of subjets obtained by unclustering the supplied jet down to n subjets (or all constituents if there are fewer than n).
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 165 of file PseudoJetStructureBase.cc.
{
throw Error("This PseudoJetStructure has no implementation for exclusive_subjets");
}
| double PseudoJetStructureBase::exclusive_subdmerge | ( | const PseudoJet & | reference, |
| int | nsub | ||
| ) | const [virtual] |
return the dij that was present in the merging nsub+1 -> nsub subjets inside this jet.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 540 of file PseudoJet.cc.
{
return validated_structure_ptr()->exclusive_subdmerge(*this, nsub);
}
| double PseudoJetStructureBase::exclusive_subdmerge_max | ( | const PseudoJet & | reference, |
| int | nsub | ||
| ) | const [virtual] |
return the maximum dij that occurred in the whole event at the stage that the nsub+1 -> nsub merge of subjets occurred inside this jet.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 551 of file PseudoJet.cc.
{
return validated_structure_ptr()->exclusive_subdmerge_max(*this, nsub);
}
| bool PseudoJet::has_pieces | ( | ) | const [inline, virtual] |
return true if the structure supports pieces.
false by default
Reimplemented in CompositeJetStructure.
Definition at line 185 of file PseudoJetStructureBase.hh.
{return false;}
| std::vector< PseudoJet > PseudoJetStructureBase::pieces | ( | const PseudoJet & | reference | ) | const [virtual] |
retrieve the pieces building the jet.
By default, throws an Error
Reimplemented in CompositeJetStructure.
Definition at line 569 of file PseudoJet.cc.
{
if (!has_pieces())
throw Error("Trying to retrieve the pieces of a PseudoJet that has no support for pieces.");
return _structure->pieces(*this);
}
| virtual bool PseudoJetStructureBase::has_area | ( | ) | const [inline, virtual] |
check if it has a defined area
false by default
Reimplemented in ClusterSequenceStructure.
Definition at line 200 of file PseudoJetStructureBase.hh.
{return false;}
| double PseudoJetStructureBase::area | ( | const PseudoJet & | reference | ) | const [virtual] |
return the jet (scalar) area.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 201 of file PseudoJetStructureBase.cc.
{
throw Error("This PseudoJetStructure has no implementation for area");
}
| double PseudoJetStructureBase::area_error | ( | const PseudoJet & | reference | ) | const [virtual] |
return the error (uncertainty) associated with the determination of the area of this jet.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 610 of file PseudoJet.cc.
{
return validated_structure_ptr()->area_error(*this);
}
| PseudoJet PseudoJetStructureBase::area_4vector | ( | const PseudoJet & | reference | ) | const [virtual] |
return the jet 4-vector area.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 617 of file PseudoJet.cc.
{
return validated_structure_ptr()->area_4vector(*this);
}
| bool PseudoJetStructureBase::is_pure_ghost | ( | const PseudoJet & | reference | ) | const [virtual] |
true if this jet is made exclusively of ghosts.
By default, throws an Error
Reimplemented in ClusterSequenceStructure.
Definition at line 624 of file PseudoJet.cc.
{
return validated_structure_ptr()->is_pure_ghost(*this);
}
1.7.3