55#if !defined(__CINT__) || defined(__MAKECINT__)
56#include "../tutorials/roostats/NuMuToNuE_Oscillation.h"
57#include "../tutorials/roostats/NuMuToNuE_Oscillation.cxx"
59#include "../tutorials/roostats/NuMuToNuE_Oscillation.cxx+"
66void rs401d_FeldmanCousins(
bool doFeldmanCousins =
false,
bool doMCMC =
true)
95 RooRealVar deltaMSq(
"deltaMSq",
"#Delta m^{2}", 40, 1, 300,
"eV/c^{2}");
96 RooRealVar sinSq2theta(
"sinSq2theta",
"sin^{2}(2#theta)", .006, .0, .02);
118 RooRealVar EPrime(
"EPrime",
"", 15, 10, 60,
"GeV");
119 RooRealVar LPrime(
"LPrime",
"", .800, .600, 1.0,
"km");
120 NuMuToNuE_Oscillation PnmuTonePrime(
"PnmuTonePrime",
"P(#nu_{#mu} #rightarrow #nu_{e}", LPrime, EPrime, deltaMSq);
130 RooConstVar maxEventsTot(
"maxEventsTot",
"maximum number of sinal events", 50000);
131 RooConstVar inverseArea(
"inverseArea",
"1/(#Delta E #Delta L)",
132 1. / (EPrime.getMax() - EPrime.getMin()) / (LPrime.getMax() - LPrime.getMin()));
135 RooProduct sigNorm(
"sigNorm",
"",
RooArgSet(maxEventsTot, *intProbToOscInExp, inverseArea, sinSq2theta));
137 RooConstVar bkgNorm(
"bkgNorm",
"normalization for background", 500);
156 Int_t nEventsData = bkgNorm.getVal() + sigNorm.getVal();
157 cout <<
"generate toy data with nEvents = " << nEventsData << endl;
181 model.plotOn(Eframe);
184 model.plotOn(Eframe);
185 Eframe->
SetTitle(
"toy data with best fit model (and sig+bkg components)");
195 hhh->
SetTitle(
"Likelihood Function");
203 RooArgSet parameters(deltaMSq, sinSq2theta);
208 modelConfig.
SetPdf(model);
213 fc.UseAdaptiveSampling(
true);
218 if (doFeldmanCousins)
219 interval =
fc.GetInterval();
242 mc.SetNumIters(5000);
243 mc.SetNumBurnInSteps(100);
246 mc.SetAxes(axisList);
259 if (doFeldmanCousins) {
290 forContour->
Draw(
"cont2,same");
304 plotInt.SetTitle(
"90% Confidence Intervals");
306 plotInt.Draw(
"same");
static struct mg_connection * fc(struct mg_context *ctx)
TH1 * createHistogram(const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Calls createHistogram(const char *name, const RooAbsRealLValue& xvar, const RooLinkedList& argList) c...
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Calls RooPlot* plotOn(RooPlot* frame, const RooLinkedList& cmdList) const ;.
virtual RooAbsPdf * createProjection(const RooArgSet &iset)
Return a p.d.f that represent a projection of this p.d.f integrated over given observables.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables listed in ...
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Double_t getRealValue(const char *name, Double_t defVal=0, Bool_t verbose=kFALSE) const
Get value of a RooAbsReal stored in set with given name.
virtual TObject * clone(const char *newname) const
RooConstVar represent a constant real-valued object.
The RooDataHist is a container class to hold N-dimensional binned data.
virtual Int_t numEntries() const
Return the number of bins.
virtual const RooArgSet * get() const
RooDataSet is a container class to hold unbinned data.
void setStreamStatus(Int_t id, Bool_t active)
(De)Activate stream with given unique ID
static RooMsgService & instance()
Return reference to singleton instance.
Class RooNLLVar implements a -log(likelihood) calculation from a dataset and a PDF.
A RooPlot is a plot frame and a container for graphics objects within that frame.
void SetTitle(const char *name)
Set the title of the RooPlot to 'title'.
virtual void Draw(Option_t *options=0)
Draw this plot and all of the elements it contains.
RooPolynomial implements a polynomial p.d.f of the form.
A RooProduct represents the product of a given set of RooAbsReal objects.
Class RooProfileLL implements the profile likelihood estimator for a given likelihood and set of para...
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
RooRealVar represents a variable that can be changed from the outside.
ConfInterval is an interface class for a generic interval in the RooStats framework.
virtual Bool_t IsInInterval(const RooArgSet &) const =0
check if given point is in the interval
The FeldmanCousins class (like the Feldman-Cousins technique) is essentially a specific configuration...
This class provides simple and straightforward utilities to plot a LikelihoodInterval object.
LikelihoodInterval is a concrete implementation of the RooStats::ConfInterval interface.
Bayesian Calculator estimating an interval or a credible region using the Markov-Chain Monte Carlo me...
This class provides simple and straightforward utilities to plot a MCMCInterval object.
void SetLineColor(Color_t color)
void Draw(const Option_t *options=NULL)
MCMCInterval is a concrete implementation of the RooStats::ConfInterval interface.
virtual Double_t GetActualConfidenceLevel()
virtual Double_t GetKeysPdfCutoff() { return fKeysCutoff; }
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
virtual void SetWorkspace(RooWorkspace &ws)
virtual void SetParametersOfInterest(const RooArgSet &set)
Specify parameters of interest.
virtual void SetPdf(const RooAbsPdf &pdf)
Set the Pdf, add to the the workspace if not already there.
The ProfileLikelihoodCalculator is a concrete implementation of CombinedCalculator (the interface cla...
The RooWorkspace is a persistable container for RooFit projects.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void Update()
Update canvas pad buffers.
TVirtualPad * cd(Int_t subpadnumber=0)
Set current canvas & pad.
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
virtual void SetContour(Int_t nlevels, const Double_t *levels=0)
Set the number and values of contour levels.
virtual void Draw(Option_t *option="")
Draw this histogram with options.
virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0)
Return Global bin number corresponding to x,y,z.
2-D histogram with a float per channel (see TH1 documentation)}
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content.
virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
Automatic pad generation by division.
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
void Stop()
Stop the stopwatch.
void Print(Option_t *option="") const
Print the real and cpu time passed between the start and stop events.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
RooCmdArg Scaling(Bool_t flag)
RooCmdArg Binning(const RooAbsBinning &binning)
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
RooCmdArg Extended(Bool_t flag=kTRUE)
RooCmdArg Components(const RooArgSet &compSet)
RooCmdArg LineColor(Color_t color)
Namespace for the RooStats classes.
static constexpr double L
constexpr Double_t E()
Base of natural log: