Skip to content

Instantly share code, notes, and snippets.

@henryiii
Created July 9, 2019 20:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save henryiii/921e2423f61c4e45ffc198ba0c4dda20 to your computer and use it in GitHub Desktop.
Save henryiii/921e2423f61c4e45ffc198ba0c4dda20 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you forget RooPlot and the namespace, the Jupyter kernel will die miserably with no explanation. Thanks, ROOT."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\u001b[1mRooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby\u001b[0m \n",
" Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University\n",
" All rights reserved, please read http://roofit.sourceforge.net/license.txt\n",
"\n"
]
}
],
"source": [
"#include <RooArgusBG.h>\n",
"#include <RooPlot.h>\n",
"\n",
"using namespace RooFit;"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"TFile f(\"workspace.root\", \"READ\");\n",
"RooWorkspace* w = (RooWorkspace*) f.Get(\"work\");"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"RooRealVar* M = work->var(\"M\");\n",
"RooAbsPdf* sig1 = work->pdf(\"sig1\");\n",
"RooAbsPdf* Argus = work->pdf(\"Argus\");\n",
"RooAbsPdf* model = work->pdf(\"model\");"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n",
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n"
]
}
],
"source": [
"RooDataSet* dataset = model->generate(*M,10000);"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Error in <TFile::TFile>: file hsimple.root already exists\n",
"Warning in <TFile::Write>: file hsimple.root not opened in write mode\n"
]
}
],
"source": [
"TFile fout(\"hsimple.root\", \"CREATE\");\n",
"// Opened after file, so tree is magically part of file.\n",
"TTree *tree = dataset->GetClonedTree();\n",
"fout.Write();\n",
"fout.Close();"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"RooPlot* frame = M->frame(Name(\"mbc frame\"),Title(\"mbc Neutral Btag\"), Bins(20));"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n",
"[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) directly selected PDF components: (Argus)\n",
"[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) indirectly selected PDF components: ()\n",
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n",
"[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) directly selected PDF components: (sig1)\n",
"[#1] INFO:Plotting -- RooAbsPdf::plotOn(model) indirectly selected PDF components: ()\n",
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n"
]
}
],
"source": [
"dataset->plotOn(frame);\n",
"model->plotOn(frame);\n",
"model->plotOn(frame, Components(*Argus), LineColor(kRed));\n",
"model->plotOn(frame, Components(*sig1), LineColor(kGreen+2));"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"TCanvas c;"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frame->Draw();\n",
"c.Draw();"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"f.Close();"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "ROOT C++",
"language": "c++",
"name": "root"
},
"language_info": {
"codemirror_mode": "text/x-c++src",
"file_extension": ".C",
"mimetype": " text/x-c++src",
"name": "c++"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you forget RooPlot and the namespace, the Jupyter kernel will die miserably with no explanation. Thanks, ROOT."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\u001b[1mRooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby\u001b[0m \n",
" Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University\n",
" All rights reserved, please read http://roofit.sourceforge.net/license.txt\n",
"\n"
]
}
],
"source": [
"#include <RooArgusBG.h>\n",
"#include <RooPlot.h>\n",
"\n",
"using namespace RooFit;"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"TFile f(\"workspace.root\", \"READ\");\n",
"RooWorkspace* w = (RooWorkspace*) f.Get(\"work\");"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"RooRealVar* M = work->var(\"M\");\n",
"RooAbsPdf* sig1 = work->pdf(\"sig1\");\n",
"RooAbsPdf* Argus = work->pdf(\"Argus\");\n",
"RooAbsPdf* model = work->pdf(\"model\");"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"TH1D M_bc(\"M_bc\",\"mbc\",100, 5.24, 5.3);\n",
"\n",
"// Going to use TTreeReader method, rather than trying to use Roo* things\n",
"TFile fin(\"hsimple.root\", \"READ\");\n",
"\n",
"TTreeReader reader(\"modelData\", &fin);\n",
"TTreeReaderValue<double> M_reader(reader, \"M\");\n",
"while (reader.Next()) {\n",
" M_bc.Fill(*M_reader);\n",
"}\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"TCanvas c;"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"M_bc.Draw();\n",
"c.Draw();"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"RooDataHist D0M(\"D0M\", \"D0M\", RooArgList(*M), &M_bc);"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"RooPlot* frame = M->frame(Name(\"mbc frame\"),Title(\"mbc Neutral Btag\"));"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"D0M.plotOn(frame);"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frame->Draw();\n",
"c.Draw();"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[#1] INFO:Minization -- p.d.f. provides expected number of events, including extended term in likelihood.\n",
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n",
"[#1] INFO:Minization -- createNLL: caching constraint set under name CONSTR_OF_PDF_model_FOR_OBS_M with 0 entries\n",
"[#1] INFO:Minization -- RooMinimizer::optimizeConst: activating const optimization\n",
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n",
"[#1] INFO:Minization -- The following expressions will be evaluated in cache-and-track mode: (sig1,Argus)\n",
" **********\n",
" ** 1 **SET PRINT 1\n",
" **********\n",
" **********\n",
" ** 2 **SET NOGRAD\n",
" **********\n",
" PARAMETER DEFINITIONS:\n",
" NO. NAME VALUE STEP SIZE LIMITS\n",
" 1 Mean 5.28000e+00 1.00000e-03 5.27500e+00 5.28500e+00\n",
" 2 Nbg 3.00000e+03 4.00000e+02 0.00000e+00 4.00000e+03\n",
" 3 Nsig1 3.00000e+02 6.00000e+01 0.00000e+00 6.00000e+02\n",
" 4 Sigma1 4.00000e-03 8.00000e-04 0.00000e+00 8.00000e-03\n",
" 5 argparc -5.00000e+01 9.90000e+00 -1.00000e+02 -1.00000e+00\n",
" **********\n",
" ** 3 **SET ERR 0.5\n",
" **********\n",
" **********\n",
" ** 4 **SET PRINT 1\n",
" **********\n",
" **********\n",
" ** 5 **SET STR 1\n",
" **********\n",
" NOW USING STRATEGY 1: TRY TO BALANCE SPEED AGAINST RELIABILITY\n",
" **********\n",
" ** 6 **MIGRAD 2500 1\n",
" **********\n",
" FIRST CALL TO USER FUNCTION AT NEW START POINT, WITH IFLAG=4.\n",
" START MIGRAD MINIMIZATION. STRATEGY 1. CONVERGENCE WHEN EDM .LT. 1.00e-03\n",
" FCN=-107828 FROM MIGRAD STATUS=INITIATE 20 CALLS 21 TOTAL\n",
" EDM= unknown STRATEGY= 1 NO ERROR MATRIX \n",
" EXT PARAMETER CURRENT GUESS STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Mean 5.28000e+00 1.00000e-03 2.01358e-01 -6.96163e+00\n",
" 2 Nbg 3.00000e+03 4.00000e+02 2.35352e-01 -3.51720e+03\n",
" 3 Nsig1 3.00000e+02 6.00000e+01 2.01358e-01 -6.08032e+02\n",
" 4 Sigma1 4.00000e-03 8.00000e-04 2.01358e-01 -3.23195e+01\n",
" 5 argparc -5.00000e+01 9.90000e+00 2.01369e-01 -2.53886e+01\n",
" ERR DEF= 0.5\n",
" MIGRAD MINIMIZATION HAS CONVERGED.\n",
" MIGRAD WILL VERIFY CONVERGENCE AND ERROR MATRIX.\n",
" COVARIANCE MATRIX CALCULATED SUCCESSFULLY\n",
" FCN=-109849 FROM MIGRAD STATUS=CONVERGED 131 CALLS 132 TOTAL\n",
" EDM=3.51425e-05 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Mean 5.27955e+00 3.00659e-04 1.16253e-02 2.48765e-02\n",
" 2 Nbg 4.00000e+03 4.23782e-01 4.71148e-03** at limit **\n",
" 3 Nsig1 6.00000e+02 4.40570e-01 1.24061e-02** at limit **\n",
" 4 Sigma1 4.52519e-03 1.82414e-04 8.97236e-03 -5.20202e-02\n",
" 5 argparc -3.91148e+01 2.29991e+00 1.07421e-02 3.09738e-02\n",
" ERR DEF= 0.5\n",
" EXTERNAL ERROR MATRIX. NDIM= 25 NPAR= 5 ERR DEF=0.5\n",
" 9.051e-08 -8.580e-11 4.259e-10 -2.868e-08 1.279e-04 \n",
" -8.580e-11 9.288e-06 -2.938e-11 6.804e-11 1.867e-06 \n",
" 4.259e-10 -2.938e-11 5.305e-06 -3.377e-10 -9.265e-06 \n",
" -2.868e-08 6.804e-11 -3.377e-10 3.330e-08 -3.725e-05 \n",
" 1.279e-04 1.867e-06 -9.265e-06 -3.725e-05 5.294e+00 \n",
" PARAMETER CORRELATION COEFFICIENTS \n",
" NO. GLOBAL 1 2 3 4 5\n",
" 1 0.54056 1.000 -0.000 0.001 -0.522 0.185\n",
" 2 0.00031 -0.000 1.000 -0.000 0.000 0.000\n",
" 3 0.00207 0.001 -0.000 1.000 -0.001 -0.002\n",
" 4 0.52246 -0.522 0.000 -0.001 1.000 -0.089\n",
" 5 0.18498 0.185 0.000 -0.002 -0.089 1.000\n",
" **********\n",
" ** 7 **SET ERR 0.5\n",
" **********\n",
" **********\n",
" ** 8 **SET PRINT 1\n",
" **********\n",
" **********\n",
" ** 9 **HESSE 2500\n",
" **********\n",
" COVARIANCE MATRIX CALCULATED SUCCESSFULLY\n",
" FCN=-109849 FROM HESSE STATUS=OK 31 CALLS 163 TOTAL\n",
" EDM=3.52068e-05 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER INTERNAL INTERNAL \n",
" NO. NAME VALUE ERROR STEP SIZE VALUE \n",
" 1 Mean 5.27955e+00 3.01339e-04 4.65014e-04 -8.91381e-02\n",
" 2 Nbg 4.00000e+03 4.23783e-01 9.42297e-04 1.57087e+00\n",
" WARNING - - ABOVE PARAMETER IS AT LIMIT.\n",
" 3 Nsig1 6.00000e+02 4.40568e-01 2.48121e-03 1.57065e+00\n",
" WARNING - - ABOVE PARAMETER IS AT LIMIT.\n",
" 4 Sigma1 4.52519e-03 1.82786e-04 3.58894e-04 1.31678e-01\n",
" 5 argparc -3.91148e+01 2.30045e+00 4.29684e-04 2.32083e-01\n",
" ERR DEF= 0.5\n",
" EXTERNAL ERROR MATRIX. NDIM= 25 NPAR= 5 ERR DEF=0.5\n",
" 9.092e-08 -1.906e-11 7.663e-11 -2.896e-08 1.291e-04 \n",
" -1.906e-11 9.288e-06 -1.161e-12 1.557e-11 4.191e-07 \n",
" 7.663e-11 -1.161e-12 5.305e-06 -6.247e-11 -1.680e-06 \n",
" -2.896e-08 1.557e-11 -6.247e-11 3.343e-08 -3.725e-05 \n",
" 1.291e-04 4.191e-07 -1.680e-06 -3.725e-05 5.296e+00 \n",
" PARAMETER CORRELATION COEFFICIENTS \n",
" NO. GLOBAL 1 2 3 4 5\n",
" 1 0.54354 1.000 -0.000 0.000 -0.525 0.186\n",
" 2 0.00007 -0.000 1.000 -0.000 0.000 0.000\n",
" 3 0.00038 0.000 -0.000 1.000 -0.000 -0.000\n",
" 4 0.52527 -0.525 0.000 -0.000 1.000 -0.089\n",
" 5 0.18630 0.186 0.000 -0.000 -0.089 1.000\n",
"[#1] INFO:Minization -- RooMinimizer::optimizeConst: deactivating const optimization\n"
]
}
],
"source": [
"model->fitTo(D0M);"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[#1] INFO:NumericIntegration -- RooRealIntegral::init(Argus_Int[M]) using numeric integrator RooIntegrator1D to calculate Int(M)\n"
]
}
],
"source": [
"model->plotOn(frame);\n",
"Double_t signalchi = frame->chiSquare();\n",
"frame->Draw();\n",
"c.Draw();"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.902907\n"
]
}
],
"source": [
"std::cout << signalchi << std::endl;"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "ROOT C++",
"language": "c++",
"name": "root"
},
"language_info": {
"codemirror_mode": "text/x-c++src",
"file_extension": ".C",
"mimetype": " text/x-c++src",
"name": "c++"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment