go-hep.org/x/hep@v0.38.1/groot/rhist/rhist_test.go (about)

     1  // Copyright ©2018 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 rhist
     6  
     7  import (
     8  	"go-hep.org/x/hep/groot/internal/rtests"
     9  	"go-hep.org/x/hep/groot/rbase"
    10  	"go-hep.org/x/hep/groot/rcont"
    11  	"go-hep.org/x/hep/groot/root"
    12  )
    13  
    14  var HistoTestCases = []struct {
    15  	Name string
    16  	Skip bool
    17  	Want rtests.ROOTer
    18  }{
    19  	{
    20  		Name: "TH1F",
    21  		Want: &H1F{
    22  			th1: th1{
    23  				Named:     *rbase.NewNamed("h1f", "my-title"),
    24  				attline:   rbase.AttLine{Color: 602, Style: 1, Width: 1},
    25  				attfill:   rbase.AttFill{Color: 0, Style: 1001},
    26  				attmarker: rbase.AttMarker{Color: 1, Style: 1, Width: 1},
    27  				ncells:    102,
    28  				xaxis: taxis{
    29  					Named: *rbase.NewNamed("xaxis", ""),
    30  					attaxis: rbase.AttAxis{
    31  						Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.005, LabelSize: 0.035, Ticks: 0.03, TitleOffset: 1, TitleSize: 0.035, TitleColor: 1, TitleFont: 42,
    32  					},
    33  					nbins: 100, xmin: 0, xmax: 100,
    34  					xbins: rcont.ArrayD{Data: nil},
    35  					first: 0, last: 0, bits2: 0x0, time: false, tfmt: "",
    36  					labels:  nil,
    37  					modlabs: nil,
    38  				},
    39  				yaxis: taxis{
    40  					Named: *rbase.NewNamed("yaxis", ""),
    41  					attaxis: rbase.AttAxis{
    42  						Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.005, LabelSize: 0.035, Ticks: 0.03, TitleOffset: 1, TitleSize: 0.035, TitleColor: 1, TitleFont: 42,
    43  					},
    44  					nbins: 1, xmin: 0, xmax: 1,
    45  					xbins: rcont.ArrayD{Data: nil},
    46  					first: 0, last: 0, bits2: 0x0, time: false, tfmt: "",
    47  					labels:  nil,
    48  					modlabs: nil,
    49  				},
    50  				zaxis: taxis{
    51  					Named: *rbase.NewNamed("zaxis", ""),
    52  					attaxis: rbase.AttAxis{
    53  						Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.005, LabelSize: 0.035, Ticks: 0.03, TitleOffset: 1, TitleSize: 0.035, TitleColor: 1, TitleFont: 42,
    54  					},
    55  					nbins: 1, xmin: 0, xmax: 1,
    56  					xbins: rcont.ArrayD{Data: nil},
    57  					first: 0, last: 0, bits2: 0x0, time: false, tfmt: "",
    58  					labels:  nil,
    59  					modlabs: nil,
    60  				},
    61  				boffset: 0, bwidth: 1000,
    62  				entries: 10,
    63  				tsumw:   10, tsumw2: 16, tsumwx: 278, tsumwx2: 9286,
    64  				max: -1111, min: -1111,
    65  				norm:    0,
    66  				contour: rcont.ArrayD{Data: nil},
    67  				sumw2: rcont.ArrayD{
    68  					Data: []float64{
    69  						1,
    70  						0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    71  						9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    72  						1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    73  						0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    74  						0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    75  						1,
    76  					},
    77  				},
    78  				opt:    "",
    79  				funcs:  *rcont.NewList("", []root.Object{}),
    80  				buffer: nil,
    81  				erropt: 0,
    82  			},
    83  			arr: rcont.ArrayF{
    84  				Data: []float32{
    85  					1,
    86  					0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    87  					3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    88  					1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    89  					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    90  					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    91  					1,
    92  				},
    93  			},
    94  		},
    95  	},
    96  	{
    97  		Name: "TH2F",
    98  		Want: &H2F{
    99  			th2: th2{
   100  				th1: th1{
   101  					Named:     *rbase.NewNamed("h2f", "my title"),
   102  					attline:   rbase.AttLine{Color: 602, Style: 1, Width: 1},
   103  					attfill:   rbase.AttFill{Color: 0, Style: 1001},
   104  					attmarker: rbase.AttMarker{Color: 1, Style: 1, Width: 1},
   105  					ncells:    144,
   106  					xaxis: taxis{
   107  						Named: *rbase.NewNamed("xaxis", ""),
   108  						attaxis: rbase.AttAxis{
   109  							Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.004999999888241291, LabelSize: 0.03500000014901161,
   110  							Ticks: 0.029999999329447746, TitleOffset: 1, TitleSize: 0.03500000014901161, TitleColor: 1, TitleFont: 42,
   111  						},
   112  						nbins:   10,
   113  						xmin:    0,
   114  						xmax:    10,
   115  						xbins:   rcont.ArrayD{},
   116  						first:   0,
   117  						last:    0,
   118  						bits2:   0x0,
   119  						time:    false,
   120  						tfmt:    "",
   121  						labels:  nil,
   122  						modlabs: nil,
   123  					},
   124  					yaxis: taxis{
   125  						Named: *rbase.NewNamed("yaxis", ""),
   126  						attaxis: rbase.AttAxis{
   127  							Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.004999999888241291, LabelSize: 0.03500000014901161,
   128  							Ticks: 0.029999999329447746, TitleOffset: 1, TitleSize: 0.03500000014901161, TitleColor: 1, TitleFont: 42,
   129  						},
   130  						nbins:   10,
   131  						xmin:    0,
   132  						xmax:    10,
   133  						xbins:   rcont.ArrayD{},
   134  						first:   0,
   135  						last:    0,
   136  						bits2:   0x0,
   137  						time:    false,
   138  						tfmt:    "",
   139  						labels:  nil,
   140  						modlabs: nil,
   141  					},
   142  					zaxis: taxis{
   143  						Named: *rbase.NewNamed("zaxis", ""),
   144  						attaxis: rbase.AttAxis{
   145  							Ndivs: 510, AxisColor: 1, LabelColor: 1, LabelFont: 42, LabelOffset: 0.004999999888241291, LabelSize: 0.03500000014901161,
   146  							Ticks: 0.029999999329447746, TitleOffset: 1, TitleSize: 0.03500000014901161, TitleColor: 1, TitleFont: 42,
   147  						},
   148  						nbins:   1,
   149  						xmin:    0,
   150  						xmax:    1,
   151  						xbins:   rcont.ArrayD{},
   152  						first:   0,
   153  						last:    0,
   154  						bits2:   0x0,
   155  						time:    false,
   156  						tfmt:    "",
   157  						labels:  nil,
   158  						modlabs: nil,
   159  					},
   160  					boffset: 0,
   161  					bwidth:  1000,
   162  					entries: 13,
   163  					tsumw:   9,
   164  					tsumw2:  29,
   165  					tsumwx:  21,
   166  					tsumwx2: 55,
   167  					max:     -1111,
   168  					min:     -1111,
   169  					norm:    0,
   170  					contour: rcont.ArrayD{},
   171  					sumw2: rcont.ArrayD{
   172  						Data: []float64{
   173  							1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
   174  							0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
   175  							0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
   176  							0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   177  							0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   178  							0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   179  							0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
   180  						},
   181  					},
   182  					opt:    "",
   183  					funcs:  *rcont.NewList("", []root.Object{}),
   184  					buffer: nil,
   185  					erropt: 0,
   186  				},
   187  				scale:   1,
   188  				tsumwy:  21,
   189  				tsumwy2: 55,
   190  				tsumwxy: 55,
   191  			},
   192  			arr: rcont.ArrayF{
   193  				Data: []float32{
   194  					1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   195  					0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
   196  					0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   197  					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   198  					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
   199  					0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
   200  					0, 0, 0, 0, 0, 1,
   201  				},
   202  			},
   203  		},
   204  	},
   205  }