DAS  3.0
Das Analysis System
ClusterSequenceStructure

#include <fjcore.hh>

+ Inheritance diagram for ClusterSequenceStructure:
+ Collaboration diagram for ClusterSequenceStructure:

Public Member Functions

 ClusterSequenceStructure ()
 
 ClusterSequenceStructure (const ClusterSequence *cs)
 
virtual ~ClusterSequenceStructure ()
 
virtual std::string description () const FJCORE_OVERRIDE
 
virtual bool has_associated_cluster_sequence () const FJCORE_OVERRIDE
 
virtual const ClusterSequenceassociated_cluster_sequence () const FJCORE_OVERRIDE
 
virtual bool has_valid_cluster_sequence () const FJCORE_OVERRIDE
 
virtual const ClusterSequencevalidated_cs () const FJCORE_OVERRIDE
 
virtual void set_associated_cs (const ClusterSequence *new_cs)
 
virtual bool has_partner (const PseudoJet &reference, PseudoJet &partner) const FJCORE_OVERRIDE
 
virtual bool has_child (const PseudoJet &reference, PseudoJet &child) const FJCORE_OVERRIDE
 
virtual bool has_parents (const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const FJCORE_OVERRIDE
 
virtual bool object_in_jet (const PseudoJet &reference, const PseudoJet &jet) const FJCORE_OVERRIDE
 
virtual bool has_constituents () const FJCORE_OVERRIDE
 
virtual std::vector< PseudoJetconstituents (const PseudoJet &reference) const FJCORE_OVERRIDE
 
virtual bool has_exclusive_subjets () const FJCORE_OVERRIDE
 
virtual std::vector< PseudoJetexclusive_subjets (const PseudoJet &reference, const double &dcut) const FJCORE_OVERRIDE
 
virtual int n_exclusive_subjets (const PseudoJet &reference, const double &dcut) const FJCORE_OVERRIDE
 
virtual std::vector< PseudoJetexclusive_subjets_up_to (const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
 
virtual double exclusive_subdmerge (const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
 
virtual double exclusive_subdmerge_max (const PseudoJet &reference, int nsub) const FJCORE_OVERRIDE
 
virtual bool has_pieces (const PseudoJet &reference) const FJCORE_OVERRIDE
 
virtual std::vector< PseudoJetpieces (const PseudoJet &reference) const FJCORE_OVERRIDE
 
- Public Member Functions inherited from PseudoJetStructureBase
 PseudoJetStructureBase ()
 
virtual ~PseudoJetStructureBase ()
 

Protected Attributes

const ClusterSequence_associated_cs
 

Constructor & Destructor Documentation

◆ ClusterSequenceStructure() [1/2]

1335 : _associated_cs(NULL){}

◆ ClusterSequenceStructure() [2/2]

ClusterSequenceStructure ( const ClusterSequence cs)
inline
1336  {
1337  set_associated_cs(cs);
1338  };

◆ ~ClusterSequenceStructure()

2669  {
2670  if (_associated_cs != NULL
2673  delete _associated_cs;
2674  }
2675 }

Member Function Documentation

◆ associated_cluster_sequence()

const ClusterSequence * associated_cluster_sequence ( ) const
virtual

Reimplemented from PseudoJetStructureBase.

2679  {
2680  return _associated_cs;
2681 }

◆ constituents()

vector< PseudoJet > constituents ( const PseudoJet reference) const
virtual

Reimplemented from PseudoJetStructureBase.

2707  {
2708  return validated_cs()->constituents(reference);
2709 }

◆ description()

virtual std::string description ( ) const
inlinevirtual

Reimplemented from PseudoJetStructureBase.

1340  {
1341  return "PseudoJet with an associated ClusterSequence";
1342  }

◆ exclusive_subdmerge()

double exclusive_subdmerge ( const PseudoJet reference,
int  nsub 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2724  {
2725  return validated_cs()->exclusive_subdmerge(reference, nsub);
2726 }

◆ exclusive_subdmerge_max()

double exclusive_subdmerge_max ( const PseudoJet reference,
int  nsub 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2727  {
2728  return validated_cs()->exclusive_subdmerge_max(reference, nsub);
2729 }

◆ exclusive_subjets()

std::vector< PseudoJet > exclusive_subjets ( const PseudoJet reference,
const double &  dcut 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2715  {
2716  return validated_cs()->exclusive_subjets(reference, dcut);
2717 }

◆ exclusive_subjets_up_to()

std::vector< PseudoJet > exclusive_subjets_up_to ( const PseudoJet reference,
int  nsub 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2721  {
2722  return validated_cs()->exclusive_subjets_up_to(reference, nsub);
2723 }

◆ has_associated_cluster_sequence()

virtual bool has_associated_cluster_sequence ( ) const
inlinevirtual

Reimplemented from PseudoJetStructureBase.

1343 { return true;}

◆ has_child()

bool has_child ( const PseudoJet reference,
PseudoJet child 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2690  {
2691  return validated_cs()->has_child(reference, child);
2692 }

◆ has_constituents()

bool has_constituents ( ) const
virtual

Reimplemented from PseudoJetStructureBase.

2702  {
2704  throw Error("you requested information about the internal structure of a jet, but it is not associated with a ClusterSequence or its associated ClusterSequence has gone out of scope.");
2705  return true;
2706 }

◆ has_exclusive_subjets()

bool has_exclusive_subjets ( ) const
virtual

Reimplemented from PseudoJetStructureBase.

2710  {
2712  throw Error("you requested information about the internal structure of a jet, but it is not associated with a ClusterSequence or its associated ClusterSequence has gone out of scope.");
2713  return true;
2714 }

◆ has_parents()

bool has_parents ( const PseudoJet reference,
PseudoJet parent1,
PseudoJet parent2 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2693  {
2694  return validated_cs()->has_parents(reference, parent1, parent2);
2695 }

◆ has_partner()

bool has_partner ( const PseudoJet reference,
PseudoJet partner 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2687  {
2688  return validated_cs()->has_partner(reference, partner);
2689 }

◆ has_pieces()

bool has_pieces ( const PseudoJet reference) const
virtual

Reimplemented from PseudoJetStructureBase.

2730  {
2731  PseudoJet dummy1, dummy2;
2732  return has_parents(reference, dummy1, dummy2);
2733 }

◆ has_valid_cluster_sequence()

bool has_valid_cluster_sequence ( ) const
virtual

Reimplemented from PseudoJetStructureBase.

2676  {
2677  return (_associated_cs != NULL);
2678 }

◆ n_exclusive_subjets()

int n_exclusive_subjets ( const PseudoJet reference,
const double &  dcut 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2718  {
2719  return validated_cs()->n_exclusive_subjets(reference, dcut);
2720 }

◆ object_in_jet()

bool object_in_jet ( const PseudoJet reference,
const PseudoJet jet 
) const
virtual

Reimplemented from PseudoJetStructureBase.

2696  {
2698  throw Error("you requested information about the internal structure of a jet, but it is not associated with a ClusterSequence or its associated ClusterSequence has gone out of scope.");
2699  if (reference.associated_cluster_sequence() != jet.associated_cluster_sequence()) return false;
2700  return validated_cs()->object_in_jet(reference, jet);
2701 }

◆ pieces()

vector< PseudoJet > pieces ( const PseudoJet reference) const
virtual

Reimplemented from PseudoJetStructureBase.

2734  {
2735  PseudoJet j1, j2;
2736  vector<PseudoJet> res;
2737  if (has_parents(reference, j1, j2)){
2738  res.push_back(j1);
2739  res.push_back(j2);
2740  }
2741  return res;
2742 }

◆ set_associated_cs()

virtual void set_associated_cs ( const ClusterSequence new_cs)
inlinevirtual
1347  {
1348  _associated_cs = new_cs;
1349  }

◆ validated_cs()

const ClusterSequence * validated_cs ( ) const
virtual

Reimplemented from PseudoJetStructureBase.

2682  {
2683  if (!_associated_cs)
2684  throw Error("you requested information about the internal structure of a jet, but its associated ClusterSequence has gone out of scope.");
2685  return _associated_cs;
2686 }

Member Data Documentation

◆ _associated_cs

const ClusterSequence* _associated_cs
protected

The documentation for this class was generated from the following files:
ClusterSequence::exclusive_subdmerge_max
double exclusive_subdmerge_max(const PseudoJet &jet, int nsub) const
Definition: fjcore.cc:1979
PseudoJet::has_associated_cluster_sequence
bool has_associated_cluster_sequence() const
Definition: fjcore.cc:3968
ClusterSequenceStructure::has_associated_cluster_sequence
virtual bool has_associated_cluster_sequence() const FJCORE_OVERRIDE
Definition: fjcore.hh:1343
ClusterSequence::object_in_jet
bool object_in_jet(const PseudoJet &object, const PseudoJet &jet) const
Definition: fjcore.cc:2007
ClusterSequence::will_delete_self_when_unused
bool will_delete_self_when_unused() const
Definition: fjcore.hh:1439
ClusterSequence::n_exclusive_subjets
int n_exclusive_subjets(const PseudoJet &jet, const double dcut) const
Definition: fjcore.cc:1941
ClusterSequenceStructure::set_associated_cs
virtual void set_associated_cs(const ClusterSequence *new_cs)
Definition: fjcore.hh:1347
ClusterSequence::has_child
bool has_child(const PseudoJet &jet, PseudoJet &child) const
Definition: fjcore.cc:2038
ClusterSequenceStructure::_associated_cs
const ClusterSequence * _associated_cs
Definition: fjcore.hh:1365
ClusterSequence::has_partner
bool has_partner(const PseudoJet &jet, PseudoJet &partner) const
Definition: fjcore.cc:2059
ClusterSequence::exclusive_subjets
std::vector< PseudoJet > exclusive_subjets(const PseudoJet &jet, const double dcut) const
Definition: fjcore.cc:1930
ClusterSequence::exclusive_subdmerge
double exclusive_subdmerge(const PseudoJet &jet, int nsub) const
Definition: fjcore.cc:1972
PseudoJet
Definition: fjcore.hh:535
ClusterSequenceStructure::validated_cs
virtual const ClusterSequence * validated_cs() const FJCORE_OVERRIDE
Definition: fjcore.cc:2682
ClusterSequence::exclusive_subjets_up_to
std::vector< PseudoJet > exclusive_subjets_up_to(const PseudoJet &jet, int nsub) const
Definition: fjcore.cc:1959
ClusterSequence::signal_imminent_self_deletion
void signal_imminent_self_deletion() const
Definition: fjcore.cc:1423
Error
Definition: fjcore.hh:462
ClusterSequence::constituents
std::vector< PseudoJet > constituents(const PseudoJet &jet) const
Definition: fjcore.cc:2075
ClusterSequence::has_parents
bool has_parents(const PseudoJet &jet, PseudoJet &parent1, PseudoJet &parent2) const
Definition: fjcore.cc:2022
PseudoJet::associated_cluster_sequence
const ClusterSequence * associated_cluster_sequence() const
Definition: fjcore.cc:3971
ClusterSequenceStructure::has_parents
virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const FJCORE_OVERRIDE
Definition: fjcore.cc:2693