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.

Index

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

Constants

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 {
    fmom.PxPyPzE

    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
    KtAlgorithm
    CambridgeAlgorithm
    AntiKtAlgorithm
    GenKtAlgorithm
    CambridgeForPassiveAlgorithm
    GenKtForPassiveAlgorithm
    EeKtAlgorithm
    EeGenKtAlgorithm
    PluginAlgorithm

    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
    EtScheme
    Et2Scheme
    BIPtScheme
    BIPt2Scheme

    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

Directories

PathSynopsis
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 2018-08-01. Refresh now. Tools for package owners.