9int main(
int,
char*[]) {
11 namespace bh = boost::histogram;
13 using def = bh::use_default;
15 using dax_t = bh::axis::regular<double>;
16 using daxn_t = bh::axis::regular<double, def, def, bh::axis::option::none_t>;
17 using iax_t = bh::axis::integer<int>;
18 using cax_t = bh::axis::category<short, def, bh::axis::option::overflow_t>;
20 H5::H5File out_file(
"hists.h5", H5F_ACC_TRUNC);
24 auto h3dw = bh::make_weighted_histogram(
25 daxn_t(1, -0.5, 0.5,
"ax0"),
26 dax_t(1, -0.5, 0.5,
"ax1"),
30 h3dw(0, 0, 0, bh::weight(0.5));
32 h3dw(0, 0, 20, bh::weight(10));
33 h5h::write_hist_to_group(out_file, h3dw,
"h3dw");
38 auto h3d = bh::make_histogram(
39 daxn_t(1, -0.5, 0.5,
"ax0"),
40 dax_t(1, -0.5, 0.5,
"ax1"),
43 h5h::write_hist_to_group(out_file, h3d,
"h3d");
48 auto h3dp = bh::make_weighted_profile(
49 daxn_t(1, -0.5, 0.5,
"ax0"),
50 dax_t(1, -0.5, 0.5,
"ax1"),
53 h3dp(0, 0, 0, bh::weight(0.5), bh::sample(1.0));
54 h3dp(0, 0, 0, bh::weight(0.5), bh::sample(1.0));
55 h5h::write_hist_to_group(out_file, h3dp,
"h3dp");
60 using variant = bh::axis::variant<dax_t, daxn_t, iax_t>;
61 std::vector<variant> axes {
62 daxn_t(1, -0.5, 0.5,
"ax0"),
63 dax_t(1, -0.5, 0.5,
"ax1"),
66 auto hdyn = bh::make_weighted_histogram(axes);
69 std::vector<std::vector<double>> vals { {0}, {0}, {0} };
70 hdyn.fill(vals, bh::weight(0.5));
71 h5h::write_hist_to_group(out_file, hdyn,
"hdyn");
77 auto h1c = bh::make_histogram(
78 cax_t({0, 4, 5, 15},
"flavorTruthLabel") );
81 h5h::write_hist_to_group(out_file, h1c,
"h1c");