53 RooRealVar mean_ctl(
"mean_ctl",
"mean_ctl", -3, -8, 8);
57 RooRealVar a0_ctl(
"a0_ctl",
"a0_ctl", -0.1, -1, 1);
58 RooRealVar a1_ctl(
"a1_ctl",
"a1_ctl", 0.5, -0.1, 1);
62 RooRealVar f_ctl(
"f_ctl",
"f_ctl", 0.5, 0., 1.);
69 std::unique_ptr<RooDataSet>
data{model.generate({
x}, 1000)};
70 std::unique_ptr<RooDataSet> data_ctl{model_ctl.generate({
x}, 2000)};
77 sample.defineType(
"physics");
78 sample.defineType(
"control");
82 Import({{
"physics",
data.get()}, {
"control", data_ctl.get()}}));
89 RooSimultaneous simPdf(
"simPdf",
"simultaneous pdf", {{
"physics", &model}, {
"control", &model_ctl}}, sample);
105 combData.plotOn(frame1,
Cut(
"sample==sample::physics"));
114 simPdf.plotOn(frame1,
Slice(sample,
"physics"),
ProjWData(sample, combData));
124 std::unique_ptr<RooAbsData> slicedData{combData.reduce(
Cut(
"sample==sample::control"))};
125 slicedData->plotOn(frame2);
126 simPdf.plotOn(frame2,
ProjWData(sample, *slicedData));
132 combData.plotOn(frame3);
133 simPdf.plotOn(frame3,
ProjWData(sample, combData));
137 TCanvas *
c =
new TCanvas(
"rf501_simultaneouspdf",
"rf403_simultaneouspdf", 1200, 400);
139 auto draw = [&](
int i,
RooPlot & frame) {
141 gPad->SetLeftMargin(0.15);
142 frame.GetYaxis()->SetTitleOffset(1.4);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
RooFit::OwningPtr< RooFitResult > fitTo(RooAbsData &data, CmdArgs_t const &... cmdArgs)
Fit PDF to given dataset.
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.
Object to represent discrete states.
Chebychev polynomial p.d.f.
Container class to hold unbinned data.
Plot frame and a container for graphics objects within that frame.
static RooPlot * frame(const RooAbsRealLValue &var, double xmin, double xmax, Int_t nBins)
Create a new frame for a given variable in x.
Variable that can be changed from the outside.
Facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
RooCmdArg Bins(Int_t nbin)
RooCmdArg Index(RooCategory &icat)
RooCmdArg Import(const char *state, TH1 &histo)
RooCmdArg Save(bool flag=true)
RooCmdArg PrintLevel(Int_t code)
RooCmdArg Components(Args_t &&... argsOrArgSet)
RooCmdArg ProjWData(const RooAbsData &projData, bool binData=false)
RooCmdArg Slice(const RooArgSet &sliceSet)
RooCmdArg Cut(const char *cutSpec)
RooCmdArg LineStyle(Style_t style)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...