void rf102_dataimport()
{
RooPlot *frame =
x.frame(
Title(
"Imported TH1 with Poisson error bars"));
dh.plotOn(frame);
gauss.plotOn(frame);
RooPlot *frame2 =
x.frame(
Title(
"Imported TH1 with internal errors"));
gauss.plotOn(frame2);
TTree *tree = makeTTree(trnd);
{
std::ofstream outstream("rf102_testData.txt");
ds.write(outstream);
outstream.close();
}
std::cout << "\n-----------------------\nReading data from ASCII\n";
"D");
dataReadBack->
Print(
"V");
std::cout << "\nOriginal data, line 20:\n";
ds.get(20)->Print("V");
std::cout << "\nRead-back data, line 20:\n";
ds.Print();
RooPlot *frame3 =
y.frame(
Title(
"Unbinned data shown in default frame binning"));
ds.plotOn(frame3);
RooPlot *frame4 =
y.frame(
Title(
"Unbinned data shown with custom binning"));
RooPlot *frame5 =
y.frame(
Title(
"Unbinned data read back from ASCII file"));
TCanvas *
c =
new TCanvas(
"rf102_dataimport",
"rf102_dataimport", 1000, 800);
gPad->SetLeftMargin(0.15);
gPad->SetLeftMargin(0.15);
gPad->SetLeftMargin(0.15);
gPad->SetLeftMargin(0.15);
gPad->SetLeftMargin(0.15);
}
{
TH1D *hh =
new TH1D(
"hh",
"hh", 25, -10, 10);
for (int i = 0; i < 100; i++) {
}
return hh;
}
{
for (int i = 0; i < 100; i++) {
}
return tree;
}
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Container class to hold N-dimensional binned data.
Container class to hold unbinned data.
const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
static RooDataSet * read(const char *filename, const RooArgList &variables, const char *opts="", const char *commonPath="", const char *indexCatName=nullptr)
Read data from a text file and create a dataset from it.
Plot frame and a container for graphics objects within that frame.
void Draw(Option_t *options=nullptr) override
Draw this plot and all of the elements it contains.
Variable that can be changed from the outside.
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
1-D histogram with a double per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Random number generator class based on M.
This is the base class for the ROOT Random number generators.
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
virtual Double_t Uniform(Double_t x1=1)
Returns a uniform deviate on the interval (0, x1).
A TTree represents a columnar dataset.
virtual Int_t Fill()
Fill all branches.
TBranch * Branch(const char *name, T *obj, Int_t bufsize=32000, Int_t splitlevel=99)
Add a new branch, and infer the data type from the type of obj being passed.
RooCmdArg Title(const char *name)
RooCmdArg Import(const char *state, TH1 &histo)
RooCmdArg PrintLevel(Int_t code)
RooCmdArg DataError(Int_t)
RooCmdArg Binning(const RooAbsBinning &binning)
RooCmdArg MarkerStyle(Style_t style)
RooCmdArg MarkerColor(TColorNumber color)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
[#1] INFO:Fitting -- RooAbsPdf::fitTo(gauss_over_gauss_Int[x]) fixing normalization set for coefficient determination to observables in data
[#1] INFO:Fitting -- using generic CPU library compiled with no vectorizations
[#1] INFO:Fitting -- Creation of NLL object took 18.1164 ms
[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_gauss_over_gauss_Int[x]_dh) Summation contains a RooNLLVar, using its error level
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
[#1] INFO:DataHandling -- RooTreeDataStore::loadValues(ds) Skipping event #0 because y cannot accommodate the value 14.424
[#1] INFO:DataHandling -- RooTreeDataStore::loadValues(ds) Skipping event #3 because y cannot accommodate the value -12.0022
[#1] INFO:DataHandling -- RooTreeDataStore::loadValues(ds) Skipping event #5 because y cannot accommodate the value 13.8261
[#1] INFO:DataHandling -- RooTreeDataStore::loadValues(ds) Skipping event #6 because y cannot accommodate the value -14.9925
[#1] INFO:DataHandling -- RooTreeDataStore::loadValues(ds) Skipping ...
[#0] WARNING:DataHandling -- RooTreeDataStore::loadValues(ds) Ignored 36 out-of-range events
-----------------------
Reading data from ASCII
[#1] INFO:DataHandling -- RooDataSet::read: reading file rf102_testData.txt
[#1] INFO:DataHandling -- RooDataSet::read: read 64 events (ignored 0 out of range events)
DataStore dataset (rf102_testData.txt)
Contains 64 entries
Observables:
1) x = 0.0174204 L(-10 - 10) "x"
2) y = 9.46654 L(-10 - 10) "y"
3) blindState = Normal(idx = 0)
"Blinding State"
Original data, line 20:
1) RooRealVar:: x = -0.79919
2) RooRealVar:: y = 0.0106407
Read-back data, line 20:
1) RooRealVar:: x = -0.79919
2) RooRealVar:: y = 0.0106407
3) RooCategory:: blindState = Normal(idx = 0)
RooDataSet::ds[x,y] = 64 entries