go-hep.org/x/hep@v0.38.1/hbook/rootcnv/testdata/make-hbook.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 //go:build ignore 6 7 package main 8 9 import ( 10 "fmt" 11 "log" 12 "os" 13 14 "go-hep.org/x/hep/hbook" 15 ) 16 17 func main() { 18 { 19 f, err := os.Open("gauss-1d-data.dat") 20 if err != nil { 21 log.Fatal(err) 22 } 23 defer f.Close() 24 25 h1 := hbook.NewH1D(10, -4, 4) 26 h1.Annotation()["name"] = "h1" 27 h1.Annotation()["title"] = "h1" 28 29 const n = 10004 30 for i := 0; i < n; i++ { 31 var x, w float64 32 _, err = fmt.Fscanf(f, "%g %g\n", &x, &w) 33 if err != nil { 34 log.Fatal(err) 35 } 36 h1.Fill(x, w) 37 } 38 39 raw1, err := h1.MarshalYODA() 40 if err != nil { 41 log.Fatal(err) 42 } 43 fmt.Printf("=== YODA ===\n%v\n", string(raw1)) 44 } 45 46 { 47 f, err := os.Open("gauss-2d-data.dat") 48 if err != nil { 49 log.Fatal(err) 50 } 51 defer f.Close() 52 53 h2 := hbook.NewH2D(3, 0, 3, 3, 0, 3) 54 h2.Annotation()["name"] = "h2d" 55 h2.Annotation()["title"] = "h2d" 56 57 for i := 0; i < 10000; i++ { 58 var x, y, w float64 59 _, err = fmt.Fscanf(f, "%g %g %g\n", &x, &y, &w) 60 if err != nil { 61 log.Fatal(err) 62 } 63 h2.Fill(x, y, w) 64 } 65 h2.Fill(+5, +5, 101) // NE 66 h2.Fill(+0, +5, 102) // N 67 h2.Fill(-5, +5, 103) // NW 68 h2.Fill(-5, +0, 104) // W 69 h2.Fill(-5, -5, 105) // SW 70 h2.Fill(+0, -5, 106) // S 71 h2.Fill(+5, -5, 107) // SE 72 h2.Fill(+5, +0, 108) // E 73 74 raw2, err := h2.MarshalYODA() 75 if err != nil { 76 log.Fatal(err) 77 } 78 fmt.Printf("=== YODA ===\n%v\n", string(raw2)) 79 } 80 }