{ "cells": [ { "cell_type": "markdown", "id": "88065223", "metadata": {}, "source": [ "# rs_numberCountingCombination\n", "'Number Counting Example' RooStats tutorial macro #100\n", "\n", "This tutorial shows an example of a combination of\n", "two searches using number counting with background uncertainty.\n", "\n", "The macro uses a RooStats \"factory\" to construct a PDF\n", "that represents the two number counting analyses with background\n", "uncertainties. The uncertainties are taken into account by\n", "considering a sideband measurement of a size that corresponds to the\n", "background uncertainty. The problem has been studied in these references:\n", " - http://arxiv.org/abs/physics/0511028\n", " - http://arxiv.org/abs/physics/0702156\n", " - http://cdsweb.cern.ch/record/1099969?ln=en\n", "\n", "After using the factory to make the model, we use a RooStats\n", "ProfileLikelihoodCalculator for a Hypothesis test and a confidence interval.\n", "The calculator takes into account systematics by eliminating nuisance parameters\n", "with the profile likelihood. This is equivalent to the method of MINOS.\n", "\n", "\n", "\n", "\n", "\n", "**Author:** Kyle Cranmer \n", "This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Tuesday, May 19, 2026 at 08:36 PM." ] }, { "cell_type": "code", "execution_count": 1, "id": "fcd80783", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.504473Z", "iopub.status.busy": "2026-05-19T20:36:10.504349Z", "iopub.status.idle": "2026-05-19T20:36:10.523202Z", "shell.execute_reply": "2026-05-19T20:36:10.522570Z" } }, "outputs": [], "source": [ "%%cpp -d\n", "#include \"RooStats/ProfileLikelihoodCalculator.h\"\n", "#include \"RooStats/NumberCountingPdfFactory.h\"\n", "#include \"RooStats/ConfInterval.h\"\n", "#include \"RooStats/HypoTestResult.h\"\n", "#include \"RooStats/LikelihoodIntervalPlot.h\"\n", "#include \"RooRealVar.h\"\n", "\n", "#include \n", "\n", "using namespace RooFit;\n", "using namespace RooStats;\n", "\n", "void rs_numberCountingCombination_expected();\n", "void rs_numberCountingCombination_observed();\n", "void rs_numberCountingCombination_observedWithTau();" ] }, { "cell_type": "markdown", "id": "e8729d11", "metadata": {}, "source": [ " -------------------------------\n", " " ] }, { "cell_type": "code", "execution_count": 2, "id": "67586717", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.525038Z", "iopub.status.busy": "2026-05-19T20:36:10.524918Z", "iopub.status.idle": "2026-05-19T20:36:10.596060Z", "shell.execute_reply": "2026-05-19T20:36:10.595638Z" } }, "outputs": [], "source": [ "%%cpp -d\n", "void rs_numberCountingCombination_expected()\n", "{\n", "\n", " /////////////////////////////////////////\n", " // An example of a number counting combination with two channels.\n", " // We consider both hypothesis testing and the equivalent confidence interval.\n", " /////////////////////////////////////////\n", "\n", " /////////////////////////////////////////\n", " // The Model building stage\n", " /////////////////////////////////////////\n", "\n", " // Step 1, define arrays with signal & bkg expectations and background uncertainties\n", " double s[2] = {20., 10.}; // expected signal\n", " double b[2] = {100., 100.}; // expected background\n", " double db[2] = {.0100, .0100}; // fractional background uncertainty\n", "\n", " // Step 2, use a RooStats factory to build a PDF for a\n", " // number counting combination and add it to the workspace.\n", " // We need to give the signal expectation to relate the masterSignal\n", " // to the signal contribution in the individual channels.\n", " // The model neglects correlations in background uncertainty,\n", " // but they could be added without much change to the example.\n", " NumberCountingPdfFactory f;\n", " RooWorkspace wspace{};\n", " f.AddModel(s, 2, &wspace, \"TopLevelPdf\", \"masterSignal\");\n", "\n", " // Step 3, use a RooStats factory to add datasets to the workspace.\n", " // Step 3a.\n", " // Add the expected data to the workspace\n", " f.AddExpData(s, b, db, 2, &wspace, \"ExpectedNumberCountingData\");\n", "\n", " // see below for a printout of the workspace\n", " // wspace.Print(); //uncomment to see structure of workspace\n", "\n", " /////////////////////////////////////////\n", " // The Hypothesis testing stage:\n", " /////////////////////////////////////////\n", " // Step 4, Define the null hypothesis for the calculator\n", " // Here you need to know the name of the variables corresponding to hypothesis.\n", " RooRealVar *mu = wspace.var(\"masterSignal\");\n", " RooArgSet poi{*mu};\n", " RooArgSet nullParams{\"nullParams\"};\n", " nullParams.addClone(*mu);\n", " // here we explicitly set the value of the parameters for the null\n", " nullParams.setRealValue(\"masterSignal\", 0);\n", "\n", " // Step 5, Create a calculator for doing the hypothesis test.\n", " // because this is a\n", " ProfileLikelihoodCalculator plc(*wspace.data(\"ExpectedNumberCountingData\"), *wspace.pdf(\"TopLevelPdf\"), poi, 0.05,\n", " &nullParams);\n", "\n", " // Step 6, Use the Calculator to get a HypoTestResult\n", " std::unique_ptr htr{plc.GetHypoTest()};\n", " std::cout << \"-------------------------------------------------\" << std::endl;\n", " std::cout << \"The p-value for the null is \" << htr->NullPValue() << std::endl;\n", " std::cout << \"Corresponding to a significance of \" << htr->Significance() << std::endl;\n", " std::cout << \"-------------------------------------------------\\n\\n\" << std::endl;\n", "\n", " /* expected case should return:\n", " -------------------------------------------------\n", " The p-value for the null is 0.015294\n", " Corresponding to a significance of 2.16239\n", " -------------------------------------------------\n", " */\n", "\n", " //////////////////////////////////////////\n", " // Confidence Interval Stage\n", "\n", " // Step 8, Here we re-use the ProfileLikelihoodCalculator to return a confidence interval.\n", " // We need to specify what are our parameters of interest\n", " RooArgSet ¶msOfInterest = nullParams; // they are the same as before in this case\n", " plc.SetParameters(paramsOfInterest);\n", " std::unique_ptr lrint{static_cast(plc.GetInterval())};\n", " lrint->SetConfidenceLevel(0.95);\n", "\n", " // Step 9, make a plot of the likelihood ratio and the interval obtained\n", " // paramsOfInterest.setRealValue(\"masterSignal\",1.);\n", " // find limits\n", " double lower = lrint->LowerLimit(*mu);\n", " double upper = lrint->UpperLimit(*mu);\n", "\n", " LikelihoodIntervalPlot lrPlot(lrint.get());\n", " lrPlot.SetMaximum(3.);\n", " lrPlot.Draw();\n", "\n", " // Step 10a. Get upper and lower limits\n", " std::cout << \"lower limit on master signal = \" << lower << std::endl;\n", " std::cout << \"upper limit on master signal = \" << upper << std::endl;\n", "\n", " // Step 10b, Ask if masterSignal=0 is in the interval.\n", " // Note, this is equivalent to the question of a 2-sigma hypothesis test:\n", " // \"is the parameter point masterSignal=0 inside the 95% confidence interval?\"\n", " // Since the significance of the Hypothesis test was > 2-sigma it should not be:\n", " // eg. we exclude masterSignal=0 at 95% confidence.\n", " paramsOfInterest.setRealValue(\"masterSignal\", 0.);\n", " std::cout << \"-------------------------------------------------\" << std::endl;\n", " std::cout << \"Consider this parameter point:\" << std::endl;\n", " paramsOfInterest.first()->Print();\n", " if (lrint->IsInInterval(paramsOfInterest))\n", " std::cout << \"It IS in the interval.\" << std::endl;\n", " else\n", " std::cout << \"It is NOT in the interval.\" << std::endl;\n", " std::cout << \"-------------------------------------------------\\n\\n\" << std::endl;\n", "\n", " // Step 10c, We also ask about the parameter point masterSignal=2, which is inside the interval.\n", " paramsOfInterest.setRealValue(\"masterSignal\", 2.);\n", " std::cout << \"-------------------------------------------------\" << std::endl;\n", " std::cout << \"Consider this parameter point:\" << std::endl;\n", " paramsOfInterest.first()->Print();\n", " if (lrint->IsInInterval(paramsOfInterest))\n", " std::cout << \"It IS in the interval.\" << std::endl;\n", " else\n", " std::cout << \"It is NOT in the interval.\" << std::endl;\n", " std::cout << \"-------------------------------------------------\\n\\n\" << std::endl;\n", "\n", " /*\n", " // Here's an example of what is in the workspace\n", " // wspace.Print();\n", " RooWorkspace(NumberCountingWS) Number Counting WS contents\n", "\n", " variables\n", " ---------\n", " (x_0,masterSignal,expected_s_0,b_0,y_0,tau_0,x_1,expected_s_1,b_1,y_1,tau_1)\n", "\n", " p.d.f.s\n", " -------\n", " RooProdPdf::joint[ pdfs=(sigRegion_0,sideband_0,sigRegion_1,sideband_1) ] = 2.20148e-08\n", " RooPoisson::sigRegion_0[ x=x_0 mean=splusb_0 ] = 0.036393\n", " RooPoisson::sideband_0[ x=y_0 mean=bTau_0 ] = 0.00398939\n", " RooPoisson::sigRegion_1[ x=x_1 mean=splusb_1 ] = 0.0380088\n", " RooPoisson::sideband_1[ x=y_1 mean=bTau_1 ] = 0.00398939\n", "\n", " functions\n", " --------\n", " RooAddition::splusb_0[ set1=(s_0,b_0) set2=() ] = 120\n", " RooProduct::s_0[ compRSet=(masterSignal,expected_s_0) compCSet=() ] = 20\n", " RooProduct::bTau_0[ compRSet=(b_0,tau_0) compCSet=() ] = 10000\n", " RooAddition::splusb_1[ set1=(s_1,b_1) set2=() ] = 110\n", " RooProduct::s_1[ compRSet=(masterSignal,expected_s_1) compCSet=() ] = 10\n", " RooProduct::bTau_1[ compRSet=(b_1,tau_1) compCSet=() ] = 10000\n", "\n", " datasets\n", " --------\n", " RooDataSet::ExpectedNumberCountingData(x_0,y_0,x_1,y_1)\n", "\n", " embedded pre-calculated expensive components\n", " -------------------------------------------\n", " */\n", "}" ] }, { "cell_type": "markdown", "id": "f1bf16f0", "metadata": {}, "source": [ " Definition of a helper function: " ] }, { "cell_type": "code", "execution_count": 3, "id": "ed6c21c2", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.616442Z", "iopub.status.busy": "2026-05-19T20:36:10.616296Z", "iopub.status.idle": "2026-05-19T20:36:10.635522Z", "shell.execute_reply": "2026-05-19T20:36:10.634741Z" } }, "outputs": [], "source": [ "%%cpp -d\n", "void rs_numberCountingCombination_observed()\n", "{\n", "\n", " /////////////////////////////////////////\n", " // The same example with observed data in a main\n", " // measurement and an background-only auxiliary\n", " // measurement with a factor tau more background\n", " // than in the main measurement.\n", "\n", " /////////////////////////////////////////\n", " // The Model building stage\n", " /////////////////////////////////////////\n", "\n", " // Step 1, define arrays with signal & bkg expectations and background uncertainties\n", " // We still need the expectation to relate signal in different channels with the master signal\n", " double s[2] = {20., 10.}; // expected signal\n", "\n", " // Step 2, use a RooStats factory to build a PDF for a\n", " // number counting combination and add it to the workspace.\n", " // We need to give the signal expectation to relate the masterSignal\n", " // to the signal contribution in the individual channels.\n", " // The model neglects correlations in background uncertainty,\n", " // but they could be added without much change to the example.\n", " NumberCountingPdfFactory f;\n", " RooWorkspace wspace{};\n", " f.AddModel(s, 2, &wspace, \"TopLevelPdf\", \"masterSignal\");\n", "\n", " // Step 3, use a RooStats factory to add datasets to the workspace.\n", " // Add the observed data to the workspace\n", " double mainMeas[2] = {123., 117.}; // observed main measurement\n", " double bkgMeas[2] = {111.23, 98.76}; // observed background\n", " double dbMeas[2] = {.011, .0095}; // observed fractional background uncertainty\n", " f.AddData(mainMeas, bkgMeas, dbMeas, 2, &wspace, \"ObservedNumberCountingData\");\n", "\n", " // see below for a printout of the workspace\n", " // wspace.Print(); //uncomment to see structure of workspace\n", "\n", " /////////////////////////////////////////\n", " // The Hypothesis testing stage:\n", " /////////////////////////////////////////\n", " // Step 4, Define the null hypothesis for the calculator\n", " // Here you need to know the name of the variables corresponding to hypothesis.\n", " RooRealVar *mu = wspace.var(\"masterSignal\");\n", " RooArgSet poi{*mu};\n", " RooArgSet nullParams{\"nullParams\"};\n", " nullParams.addClone(*mu);\n", " // here we explicitly set the value of the parameters for the null\n", " nullParams.setRealValue(\"masterSignal\", 0);\n", "\n", " // Step 5, Create a calculator for doing the hypothesis test.\n", " // because this is a\n", " ProfileLikelihoodCalculator plc(*wspace.data(\"ObservedNumberCountingData\"), *wspace.pdf(\"TopLevelPdf\"), poi, 0.05,\n", " &nullParams);\n", "\n", " wspace.var(\"tau_0\")->Print();\n", " wspace.var(\"tau_1\")->Print();\n", "\n", " // Step 7, Use the Calculator to get a HypoTestResult\n", " std::unique_ptr htr{plc.GetHypoTest()};\n", " std::cout << \"-------------------------------------------------\" << std::endl;\n", " std::cout << \"The p-value for the null is \" << htr->NullPValue() << std::endl;\n", " std::cout << \"Corresponding to a significance of \" << htr->Significance() << std::endl;\n", " std::cout << \"-------------------------------------------------\\n\\n\" << std::endl;\n", "\n", " /* observed case should return:\n", " -------------------------------------------------\n", " The p-value for the null is 0.0351669\n", " Corresponding to a significance of 1.80975\n", " -------------------------------------------------\n", " */\n", "\n", " //////////////////////////////////////////\n", " // Confidence Interval Stage\n", "\n", " // Step 8, Here we re-use the ProfileLikelihoodCalculator to return a confidence interval.\n", " // We need to specify what are our parameters of interest\n", " RooArgSet ¶msOfInterest = nullParams; // they are the same as before in this case\n", " plc.SetParameters(paramsOfInterest);\n", " std::unique_ptr lrint{static_cast(plc.GetInterval())};\n", " lrint->SetConfidenceLevel(0.95);\n", "\n", " // Step 9c. Get upper and lower limits\n", " std::cout << \"lower limit on master signal = \" << lrint->LowerLimit(*mu) << std::endl;\n", " std::cout << \"upper limit on master signal = \" << lrint->UpperLimit(*mu) << std::endl;\n", "}" ] }, { "cell_type": "markdown", "id": "6a2c883e", "metadata": {}, "source": [ " Definition of a helper function: " ] }, { "cell_type": "code", "execution_count": 4, "id": "d71769af", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.639208Z", "iopub.status.busy": "2026-05-19T20:36:10.639084Z", "iopub.status.idle": "2026-05-19T20:36:10.657406Z", "shell.execute_reply": "2026-05-19T20:36:10.656924Z" } }, "outputs": [], "source": [ "%%cpp -d\n", "void rs_numberCountingCombination_observedWithTau()\n", "{\n", "\n", " /////////////////////////////////////////\n", " // The same example with observed data in a main\n", " // measurement and an background-only auxiliary\n", " // measurement with a factor tau more background\n", " // than in the main measurement.\n", "\n", " /////////////////////////////////////////\n", " // The Model building stage\n", " /////////////////////////////////////////\n", "\n", " // Step 1, define arrays with signal & bkg expectations and background uncertainties\n", " // We still need the expectation to relate signal in different channels with the master signal\n", " double s[2] = {20., 10.}; // expected signal\n", "\n", " // Step 2, use a RooStats factory to build a PDF for a\n", " // number counting combination and add it to the workspace.\n", " // We need to give the signal expectation to relate the masterSignal\n", " // to the signal contribution in the individual channels.\n", " // The model neglects correlations in background uncertainty,\n", " // but they could be added without much change to the example.\n", " NumberCountingPdfFactory f;\n", " RooWorkspace wspace{};\n", " f.AddModel(s, 2, &wspace, \"TopLevelPdf\", \"masterSignal\");\n", "\n", " // Step 3, use a RooStats factory to add datasets to the workspace.\n", " // Add the observed data to the workspace in the on-off problem.\n", " double mainMeas[2] = {123., 117.}; // observed main measurement\n", " double sideband[2] = {11123., 9876.}; // observed sideband\n", " double tau[2] = {100., 100.}; // ratio of bkg in sideband to bkg in main measurement, from experimental design.\n", " f.AddDataWithSideband(mainMeas, sideband, tau, 2, &wspace, \"ObservedNumberCountingDataWithSideband\");\n", "\n", " // see below for a printout of the workspace\n", " // wspace.Print(); //uncomment to see structure of workspace\n", "\n", " /////////////////////////////////////////\n", " // The Hypothesis testing stage:\n", " /////////////////////////////////////////\n", " // Step 4, Define the null hypothesis for the calculator\n", " // Here you need to know the name of the variables corresponding to hypothesis.\n", " RooRealVar *mu = wspace.var(\"masterSignal\");\n", " RooArgSet poi{*mu};\n", " RooArgSet nullParams{\"nullParams\"};\n", " nullParams.addClone(*mu);\n", " // here we explicitly set the value of the parameters for the null\n", " nullParams.setRealValue(\"masterSignal\", 0);\n", "\n", " // Step 5, Create a calculator for doing the hypothesis test.\n", " // because this is a\n", " ProfileLikelihoodCalculator plc(*wspace.data(\"ObservedNumberCountingDataWithSideband\"), *wspace.pdf(\"TopLevelPdf\"),\n", " poi, 0.05, &nullParams);\n", "\n", " // Step 7, Use the Calculator to get a HypoTestResult\n", " std::unique_ptr htr{plc.GetHypoTest()};\n", " std::cout << \"-------------------------------------------------\" << std::endl;\n", " std::cout << \"The p-value for the null is \" << htr->NullPValue() << std::endl;\n", " std::cout << \"Corresponding to a significance of \" << htr->Significance() << std::endl;\n", " std::cout << \"-------------------------------------------------\\n\\n\" << std::endl;\n", "\n", " /* observed case should return:\n", " -------------------------------------------------\n", " The p-value for the null is 0.0352035\n", " Corresponding to a significance of 1.80928\n", " -------------------------------------------------\n", " */\n", "\n", " //////////////////////////////////////////\n", " // Confidence Interval Stage\n", "\n", " // Step 8, Here we re-use the ProfileLikelihoodCalculator to return a confidence interval.\n", " // We need to specify what are our parameters of interest\n", " RooArgSet ¶msOfInterest = nullParams; // they are the same as before in this case\n", " plc.SetParameters(paramsOfInterest);\n", " std::unique_ptr lrint{static_cast(plc.GetInterval())};\n", " lrint->SetConfidenceLevel(0.95);\n", "\n", " // Step 9c. Get upper and lower limits\n", " std::cout << \"lower limit on master signal = \" << lrint->LowerLimit(*mu) << std::endl;\n", " std::cout << \"upper limit on master signal = \" << lrint->UpperLimit(*mu) << std::endl;\n", "}" ] }, { "cell_type": "markdown", "id": "fe6f6e61", "metadata": {}, "source": [ " Arguments are defined. " ] }, { "cell_type": "code", "execution_count": 5, "id": "0d4f206a", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.659076Z", "iopub.status.busy": "2026-05-19T20:36:10.658955Z", "iopub.status.idle": "2026-05-19T20:36:10.993333Z", "shell.execute_reply": "2026-05-19T20:36:10.992547Z" } }, "outputs": [], "source": [ "int flag = 1;" ] }, { "cell_type": "code", "execution_count": 6, "id": "eacb82b1", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:10.995422Z", "iopub.status.busy": "2026-05-19T20:36:10.995292Z", "iopub.status.idle": "2026-05-19T20:36:11.496413Z", "shell.execute_reply": "2026-05-19T20:36:11.487297Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[#0] WARNING:ObjectHandling -- NumberCountingPdfFactory: changed value of tau_0 to 100.01 to be consistent with background and its uncertainty. Also stored these values of tau into workspace with name . tau_0ExpectedNumberCountingData if you test with a different dataset, you should adjust tau appropriately.\n", "\n", "[#0] WARNING:ObjectHandling -- NumberCountingPdfFactory: changed value of tau_1 to 100.01 to be consistent with background and its uncertainty. Also stored these values of tau into workspace with name . tau_1ExpectedNumberCountingData if you test with a different dataset, you should adjust tau appropriately.\n", "\n", "[#1] INFO:InputArguments -- The deprecated RooFit::CloneData(1) option passed to createNLL() is ignored.\n", "[#1] INFO:Fitting -- RooAbsPdf::fitTo(TopLevelPdf) fixing normalization set for coefficient determination to observables in data\n", "[#1] INFO:Fitting -- using generic CPU library compiled with no vectorizations\n", "[#1] INFO:Fitting -- Creation of NLL object took 8.11512 ms\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::DoGLobalFit - find MLE \n", "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_TopLevelPdf_ExpectedNumberCountingData) Summation contains a RooNLLVar, using its error level\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::DoMinimizeNLL - using Minuit2 / with strategy 1\n", "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "[#1] INFO:Minimization -- \n", " RooFitResult: minimized FCN value: 17.6316, estimated distance to minimum: 2.2242e-15\n", " covariance matrix quality: Full, accurate covariance matrix\n", " Status : MINIMIZE=0 \n", "\n", " Floating Parameter FinalValue +/- Error \n", " -------------------- --------------------------\n", " b_0 1.0000e+02 +/- 9.99e-01\n", " b_1 1.0000e+02 +/- 9.96e-01\n", " masterSignal 1.0000e+00 +/- 4.78e-01\n", "\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::GetHypoTest - do conditional fit \n", "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_TopLevelPdf_ExpectedNumberCountingData) Summation contains a RooNLLVar, using its error level\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::DoMinimizeNLL - using Minuit2 / with strategy 1\n", "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "[#1] INFO:Minimization -- \n", " RooFitResult: minimized FCN value: 19.9696, estimated distance to minimum: 7.31642e-08\n", " covariance matrix quality: Full, accurate covariance matrix\n", " Status : MINIMIZE=0 \n", "\n", " Floating Parameter FinalValue +/- Error \n", " -------------------- --------------------------\n", " b_0 1.0020e+02 +/- 9.96e-01\n", " b_1 1.0010e+02 +/- 9.95e-01\n", "\n", "-------------------------------------------------\n", "The p-value for the null is 0.015294\n", "Corresponding to a significance of 2.16239\n", "-------------------------------------------------\n", "\n", "\n", "[#1] INFO:InputArguments -- The deprecated RooFit::CloneData(1) option passed to createNLL() is ignored.\n", "[#1] INFO:Fitting -- RooAbsPdf::fitTo(TopLevelPdf) fixing normalization set for coefficient determination to observables in data\n", "[#1] INFO:Fitting -- Creation of NLL object took 315.211 μs\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::DoGLobalFit - find MLE \n", "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_TopLevelPdf_ExpectedNumberCountingData) Summation contains a RooNLLVar, using its error level\n", "[#0] PROGRESS:Minimization -- ProfileLikelihoodCalcultor::DoMinimizeNLL - using Minuit2 / with strategy 1\n", "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "[#1] INFO:Minimization -- \n", " RooFitResult: minimized FCN value: 17.6316, estimated distance to minimum: 2.31454e-07\n", " covariance matrix quality: Full, accurate covariance matrix\n", " Status : MINIMIZE=0 \n", "\n", " Floating Parameter FinalValue +/- Error \n", " -------------------- --------------------------\n", " b_0 1.0000e+02 +/- 9.99e-01\n", " b_1 1.0000e+02 +/- 9.96e-01\n", " masterSignal 9.9967e-01 +/- 4.78e-01\n", "\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) Creating instance of MINUIT\n", "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_TopLevelPdf_ExpectedNumberCountingData) Summation contains a RooNLLVar, using its error level\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) determining minimum likelihood for current configurations w.r.t all observable\n", "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) minimum found at (masterSignal=1.00388)\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) Creating instance of MINUIT\n", "[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_TopLevelPdf_ExpectedNumberCountingData) Summation contains a RooNLLVar, using its error level\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) determining minimum likelihood for current configurations w.r.t all observable\n", "[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "[#0] ERROR:InputArguments -- RooArgSet::checkForDup: ERROR argument with name masterSignal is already in this set\n", "[#1] INFO:Minimization -- RooProfileLL::evaluate(RooEvaluatorWrapper_Profile[masterSignal]) minimum found at (masterSignal=1.00732)\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", ".[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only\n", "lower limit on master signal = 0.089069\n", "upper limit on master signal = 2.00127\n", "-------------------------------------------------\n", "Consider this parameter point:\n", "RooRealVar::masterSignal = 0 +/- 0.477956 L(0 - 3) \n", "It is NOT in the interval.\n", "-------------------------------------------------\n", "\n", "\n", "-------------------------------------------------\n", "Consider this parameter point:\n", "RooRealVar::masterSignal = 2 +/- 0.477956 L(0 - 3) \n", "It IS in the interval.\n", "-------------------------------------------------\n", "\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Info in : created default TCanvas with name c1\n" ] } ], "source": [ "if (flag == 1)\n", " rs_numberCountingCombination_expected();\n", "if (flag == 2)\n", " rs_numberCountingCombination_observed();\n", "if (flag == 3)\n", " rs_numberCountingCombination_observedWithTau();" ] }, { "cell_type": "markdown", "id": "b292a813", "metadata": {}, "source": [ "Draw all canvases " ] }, { "cell_type": "code", "execution_count": 7, "id": "fdc4686e", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:36:11.498410Z", "iopub.status.busy": "2026-05-19T20:36:11.498279Z", "iopub.status.idle": "2026-05-19T20:36:11.728403Z", "shell.execute_reply": "2026-05-19T20:36:11.728001Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%jsroot on\n", "gROOT->GetListOfCanvases()->Draw()" ] } ], "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": 5 }