go-hep.org/x/hep@v0.38.1/fastjet/scheme.go (about)

     1  // Copyright ©2017 The go-hep Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package fastjet
     6  
     7  import (
     8  	"fmt"
     9  )
    10  
    11  // RecombinationScheme defines the recombination choice for the 4-momenta of
    12  // pseudo-jets during the clustering procedure
    13  type RecombinationScheme int
    14  
    15  const (
    16  	EScheme   RecombinationScheme = iota // summing the 4-momenta
    17  	PtScheme                             // pt-weighted recombination of y,phi
    18  	Pt2Scheme                            // pt^2 weighted recombination of y,phi
    19  	EtScheme
    20  	Et2Scheme
    21  	BIPtScheme
    22  	BIPt2Scheme
    23  
    24  	ExternalScheme RecombinationScheme = 99
    25  )
    26  
    27  func (s RecombinationScheme) String() string {
    28  	switch s {
    29  	case EScheme:
    30  		return "E"
    31  	case PtScheme:
    32  		return "Pt"
    33  	case Pt2Scheme:
    34  		return "Pt2"
    35  	case EtScheme:
    36  		return "Et"
    37  	case Et2Scheme:
    38  		return "Et2"
    39  	case BIPtScheme:
    40  		return "BIPt"
    41  	case BIPt2Scheme:
    42  		return "BIPt2"
    43  
    44  	case ExternalScheme:
    45  		return "External"
    46  
    47  	default:
    48  		panic(fmt.Errorf("fastjet: invalid RecombinationScheme (%d)", int(s)))
    49  	}
    50  }