31#include "fastjet/CompositeJetStructure.hh"
33FASTJET_BEGIN_NAMESPACE
46CompositeJetStructure::CompositeJetStructure(
const std::vector<PseudoJet> & initial_pieces,
48 : _pieces(initial_pieces){
54 bool has_area_local =
true;
55 for (vector<PseudoJet>::const_iterator pit=
_pieces.begin(); pit!=
_pieces.end(); pit++){
56 if (!pit->has_area()){
57 has_area_local =
false;
64 for (
unsigned int i=0; i<
_pieces.size(); i++){
84 string str =
"Composite PseudoJet";
107 vector<PseudoJet> all_constituents;
108 for (
unsigned i = 0; i <
_pieces.size(); i++) {
111 copy(constits.begin(), constits.end(), back_inserter(all_constituents));
113 all_constituents.push_back(
_pieces[i]);
117 return all_constituents;
136 throw Error(
"One or more of this composite jet's pieces does not support area");
139 for (
unsigned i = 0; i <
_pieces.size(); i++)
151 throw Error(
"One or more of this composite jet's pieces does not support area");
154 for (
unsigned i = 0; i <
_pieces.size(); i++)
163 throw Error(
"One or more of this composite jet's pieces does not support area");
172 for (
unsigned i = 0; i <
_pieces.size(); i++)
virtual bool has_area() const override
check if it has a well-defined area
virtual PseudoJet area_4vector(const PseudoJet &reference) const override
return the jet 4-vector area.
virtual std::string description() const override
description
virtual bool is_pure_ghost(const PseudoJet &reference) const override
true if this jet is made exclusively of ghosts.
virtual double area_error(const PseudoJet &reference) const override
return the error (uncertainty) associated with the determination of the area of this jet.
std::vector< PseudoJet > _pieces
the pieces building the jet
virtual std::vector< PseudoJet > constituents(const PseudoJet &jet) const override
return the constituents (i.e.
virtual bool has_constituents() const override
true unless the jet has no pieces (see also the description of constituents() below)
virtual std::vector< PseudoJet > pieces(const PseudoJet &jet) const override
returns the pieces
PseudoJet * _area_4vector_ptr
pointer to the 4-vector jet area
virtual double area(const PseudoJet &reference) const override
return the jet (scalar) area.
base class corresponding to errors that can be thrown by FastJet
An abstract base class that will provide the recombination scheme facilities and/or allow a user to e...
void plus_equal(PseudoJet &pa, const PseudoJet &pb) const
pa += pb in the given recombination scheme.
Class to contain pseudojets, including minimal information of use to jet-clustering routines.
virtual std::vector< PseudoJet > constituents() const
retrieve the constituents.
virtual PseudoJet area_4vector() const
return the jet 4-vector area.