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 }