Logo ROOT  
Reference Guide
simple.cxx
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_v7
3 ///
4 /// \macro_code
5 ///
6 /// \date 2015-03-22
7 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
8 /// is welcome!
9 /// \author Axel Naumann <axel@cern.ch>
10 
11 /*************************************************************************
12  * Copyright (C) 1995-2015, Rene Brun and Fons Rademakers. *
13  * All rights reserved. *
14  * *
15  * For the licensing terms see $ROOTSYS/LICENSE. *
16  * For the list of contributors see $ROOTSYS/README/CREDITS. *
17  *************************************************************************/
18 
19 #include "ROOT/RHist.hxx"
20 #include "ROOT/RFit.hxx"
21 #include "ROOT/RFile.hxx"
22 
23 void simple()
24 {
25  using namespace ROOT::Experimental;
26 
27  // Create a 2D histogram with an X axis with equidistant bins, and a y axis
28  // with irregular binning.
29  RAxisConfig xAxis(100, 0., 1.);
30  RAxisConfig yAxis({0., 1., 2., 3., 10.});
31  RH2D histFromVars(xAxis, yAxis);
32 
33  // Or the short in-place version:
34  // Create a 2D histogram with an X axis with equidistant bins, and a y axis
35  // with irregular binning.
36  RH2D hist({100, 0., 1.}, {{0., 1., 2., 3., 10.}});
37 
38  // Fill weight 1. at the coordinate 0.01, 1.02.
39  hist.Fill({0.01, 1.02});
40 
41  // Fit the histogram.
42  RFunction<2> func([](const std::array<double, 2> &x, const std::span<const double> par) {
43  return par[0] * x[0] * x[0] + (par[1] - x[1]) * x[1];
44  });
45 
46  auto fitResult = FitTo(hist, func, {{0., 1.}});
47 
48  auto file = RFile::Recreate("hist.root");
49  file->Write("TheHist", hist);
50 }
RHist.hxx
ROOT::Experimental::RAxisConfig
Definition: RAxisConfig.hxx:47
ROOT::Experimental::RFunction
Definition: RFit.hxx:45
ROOT::Experimental::RFile::Recreate
static RFilePtr Recreate(std::string_view name, const Options_t &opts=Options_t())
Open a file with name for reading and writing.
Definition: RFile.cxx:171
x
Double_t x[n]
Definition: legend1.C:17
ROOT::Experimental::RHist::Fill
void Fill(const CoordArray_t &x, Weight_t weight=(Weight_t) 1) noexcept
Add weight to the bin containing coordinate x.
Definition: RHist.hxx:151
ROOT::Experimental::FitTo
RFitResult FitTo(const RHist< DIMENSIONS, PRECISION, STAT... > &hist, const RFunction< DIMENSIONS > &func, std::span< const double > paramInit)
Definition: RFit.hxx:51
file
Definition: file.py:1
ROOT::Experimental::RHist
Definition: RHist.hxx:44
ROOT::Experimental
Definition: RDirectory.hxx:36
RFit.hxx
RFile.hxx