hep: go-hep.org/x/hep/fastjet Index | Files | Directories

package fastjet

import "go-hep.org/x/hep/fastjet"

Package fastjet is a Go-based implementation of the C++ FastJet library.


Package Files

algorithm.go area_definition.go builder.go clustersequence.go clustersequence_area.go clustersequence_structure.go definition.go fastjet.go jet.go plugin.go recombiner.go scheme.go strategy.go structure.go utils.go


const (
    N2MinHeapTiledStrategy Strategy = -4
    N2TiledStrategy                 = -3
    N2PoorTiledStrategy             = -2
    N2PlainStrategy                 = -1
    N3DumbStrategy                  = 0
    BestStrategy                    = 1
    NlnNStrategy                    = 2
    NlnN3piStrategy                 = 3
    NlnN4piStrategy                 = 4
    NlnNCam4piStrategy              = 14
    NlnNCam2pi2RStrategy            = 13
    NlnNCamStrategy                 = 12

    PluginStrategy Strategy = 999
const (
    // Used to protect against parton-level events where pt can be zero
    // for some partons, giving rapidity=infinity. KtJet fails in those cases.
    MaxRap = 1e5

func Distance Uses

func Distance(j1, j2 *Jet) float64

Distance returns the squared cylinder (rapidity-phi) distance between 2 jets

func Register Uses

func Register(name string, plugin Plugin)

type AreaDefinition Uses

type AreaDefinition struct{}

type Builder Uses

type Builder interface {
    // InclusiveJets returns all jets (in the sense of
    // the inclusive algorithm) with pt >= ptmin
    InclusiveJets(ptmin float64) ([]Jet, error)

    // Constituents retrieves the constituents of a jet
    Constituents(jet *Jet) ([]Jet, error)

Builder builds jets out of 4-vectors

type ByPt Uses

type ByPt []Jet

ByPt sorts jets by descending Pt

func (ByPt) Len Uses

func (p ByPt) Len() int

func (ByPt) Less Uses

func (p ByPt) Less(i, j int) bool

func (ByPt) Swap Uses

func (p ByPt) Swap(i, j int)

type ClusterSequence Uses

type ClusterSequence struct {
    // contains filtered or unexported fields

func NewClusterSequence Uses

func NewClusterSequence(jets []Jet, def JetDefinition) (*ClusterSequence, error)

func (*ClusterSequence) Constituents Uses

func (cs *ClusterSequence) Constituents(jet *Jet) ([]Jet, error)

Constituents retrieves the list of constituents of a given jet

func (*ClusterSequence) ExclusiveJets Uses

func (cs *ClusterSequence) ExclusiveJets(dcut float64) ([]Jet, error)

func (*ClusterSequence) ExclusiveJetsUpTo Uses

func (cs *ClusterSequence) ExclusiveJetsUpTo(njets int) ([]Jet, error)

func (*ClusterSequence) InclusiveJets Uses

func (cs *ClusterSequence) InclusiveJets(ptmin float64) ([]Jet, error)

func (*ClusterSequence) NumExclusiveJets Uses

func (cs *ClusterSequence) NumExclusiveJets(dcut float64) int

NumExclusiveJets returns the number of exclusive jets that would have been obtained running the algorithm in exclusive mode with the given dcut

type ClusterSequenceArea Uses

type ClusterSequenceArea struct {
    // contains filtered or unexported fields

func NewClusterSequenceArea Uses

func NewClusterSequenceArea(jets []Jet, def JetDefinition, area AreaDefinition) (*ClusterSequenceArea, error)

func (*ClusterSequenceArea) Area Uses

func (csa *ClusterSequenceArea) Area(jet *Jet) float64

func (*ClusterSequenceArea) AreaErr Uses

func (csa *ClusterSequenceArea) AreaErr(jet *Jet) float64

func (*ClusterSequenceArea) ExclusiveJets Uses

func (cs *ClusterSequenceArea) ExclusiveJets(dcut float64) ([]Jet, error)

func (*ClusterSequenceArea) ExclusiveJetsUpTo Uses

func (cs *ClusterSequenceArea) ExclusiveJetsUpTo(njets int) ([]Jet, error)

func (*ClusterSequenceArea) InclusiveJets Uses

func (csa *ClusterSequenceArea) InclusiveJets(ptmin float64) ([]Jet, error)

func (*ClusterSequenceArea) NumExclusiveJets Uses

func (csa *ClusterSequenceArea) NumExclusiveJets(dcut float64) int

type ClusterSequenceStructure Uses

type ClusterSequenceStructure struct {
    // contains filtered or unexported fields

ClusterSequenceStructure is a ClusterSequence that implements the JetStructure interface.

func (ClusterSequenceStructure) Constituents Uses

func (css ClusterSequenceStructure) Constituents(jet *Jet) ([]Jet, error)

type DefaultRecombiner Uses

type DefaultRecombiner struct {
    // contains filtered or unexported fields

func NewRecombiner Uses

func NewRecombiner(scheme RecombinationScheme) DefaultRecombiner

func (DefaultRecombiner) Description Uses

func (rec DefaultRecombiner) Description() string

func (DefaultRecombiner) Preprocess Uses

func (rec DefaultRecombiner) Preprocess(jet *Jet) error

func (DefaultRecombiner) Recombine Uses

func (rec DefaultRecombiner) Recombine(j1, j2 *Jet) (Jet, error)

func (DefaultRecombiner) Scheme Uses

func (rec DefaultRecombiner) Scheme() RecombinationScheme

type Jet Uses

type Jet struct {

    UserInfo UserInfo // holds extra user information for this Jet
    // contains filtered or unexported fields

Jet holds minimal information of use for jet-clustering routines

func NewJet Uses

func NewJet(px, py, pz, e float64) Jet

func (*Jet) Constituents Uses

func (jet *Jet) Constituents() []Jet

Constituents returns the list of constituents for this jet.

func (*Jet) Phi Uses

func (jet *Jet) Phi() float64

func (*Jet) Pt2 Uses

func (jet *Jet) Pt2() float64

func (*Jet) Rapidity Uses

func (jet *Jet) Rapidity() float64

type JetAlgorithm Uses

type JetAlgorithm int

JetAlgorithm defines the algorithm used for clustering jets

const (
    UndefinedJetAlgorithm JetAlgorithm = iota

    AachenAlgorithm          = CambridgeAlgorithm
    CambridgeAachenAlgorithm = CambridgeAlgorithm

type JetDefinition Uses

type JetDefinition struct {
    // contains filtered or unexported fields

JetDefinition contains a full specification of how to carry out jet clustering.

func NewJetDefinition Uses

func NewJetDefinition(alg JetAlgorithm, r float64, scheme RecombinationScheme, strategy Strategy) JetDefinition

NewJetDefinition returns a new JetDefinition with the provided configuration.

func NewJetDefinitionExtra Uses

func NewJetDefinitionExtra(alg JetAlgorithm, r float64, scheme RecombinationScheme, strategy Strategy, extra float64) JetDefinition

NewJetDefinitionExtra returns a new JetDefinition with an extra float64 parameter.

func (JetDefinition) Algorithm Uses

func (def JetDefinition) Algorithm() JetAlgorithm

func (JetDefinition) Description Uses

func (def JetDefinition) Description() string

Description returns a string description of the current JetDefinition matching the one from C++ FastJet.

func (JetDefinition) ExtraParam Uses

func (def JetDefinition) ExtraParam() float64

func (JetDefinition) Plugin Uses

func (def JetDefinition) Plugin() Plugin

func (JetDefinition) R Uses

func (def JetDefinition) R() float64

func (JetDefinition) RecombinationScheme Uses

func (def JetDefinition) RecombinationScheme() RecombinationScheme

func (JetDefinition) Recombiner Uses

func (def JetDefinition) Recombiner() Recombiner

func (JetDefinition) Strategy Uses

func (def JetDefinition) Strategy() Strategy

type JetStructure Uses

type JetStructure interface {
    Constituents(jet *Jet) ([]Jet, error)

JetStructure allows to retrieve information related to the clustering.

type Plugin Uses

type Plugin interface {
    Description() string
    RunClustering(builder Builder) error
    R() float64

func GetPlugin Uses

func GetPlugin(name string) (Plugin, error)

type RecombinationScheme Uses

type RecombinationScheme int

RecombinationScheme defines the recombination choice for the 4-momenta of pseudo-jets during the clustering procedure

const (
    EScheme   RecombinationScheme = iota // summing the 4-momenta
    PtScheme                             // pt-weighted recombination of y,phi
    Pt2Scheme                            // pt^2 weighted recombination of y,phi

    ExternalScheme RecombinationScheme = 99

func (RecombinationScheme) String Uses

func (s RecombinationScheme) String() string

type Recombiner Uses

type Recombiner interface {
    Description() string
    Recombine(j1, j2 *Jet) (Jet, error)
    Preprocess(jet *Jet) error
    Scheme() RecombinationScheme

type Strategy Uses

type Strategy int

Strategy defines the algorithmic strategy used while clustering.

func (Strategy) String Uses

func (s Strategy) String() string

type UserInfo Uses

type UserInfo interface{}

UserInfo holds extra user information in a Jet


internal/delaunaypackage delaunay contains functions to compute a Delaunay Triangulation
internal/heappackage heap implements a min-heap for pairs of jets.
internal/plotpackage plot contains functions to plot the Delaunay Triangulation and the Voronoi Diagram.
internal/predicatespackage predicates handles the geometric predicates for a delaunay triangulation

Package fastjet imports 5 packages (graph) and is imported by 2 packages. Updated 2019-05-31. Refresh now. Tools for package owners.