23 using namespace RooFit;
25 void rf405_realtocatfuncs()
32 RooRealVar x(
"x",
"x", 0, 10);
33 RooArgusBG a(
"a",
"argus(x)", x, RooConst(10), RooConst(-1));
36 RooDataSet *data = a.generate(x, 10000);
45 RooThresholdCategory xRegion(
"xRegion",
"region of x", x,
"Background");
54 xRegion.addThreshold(4.23,
"Background");
55 xRegion.addThreshold(5.23,
"SideBand");
56 xRegion.addThreshold(8.23,
"Signal");
57 xRegion.addThreshold(9.23,
"SideBand");
63 data->addColumn(xRegion);
66 RooPlot *xframe = x.frame(Title(
"Demo of threshold and binning mapping functions"));
70 data->plotOn(xframe, Cut(
"xRegion==xRegion::SideBand"), MarkerColor(kRed), LineColor(kRed));
80 x.setBins(10,
"coarse");
81 RooBinningCategory xBins(
"xBins",
"coarse bins in x", x,
"coarse");
88 Roo1DTable *xbtable = data->table(xBins);
92 RooCategory *xb = (RooCategory *)data->addColumn(xBins);
95 xb->setRange(
"alt",
"x_coarse_bin1,x_coarse_bin3,x_coarse_bin5,x_coarse_bin7,x_coarse_bin9");
98 RooDataSet *dataSel = (RooDataSet *)data->reduce(CutRange(
"alt"), EventRange(0, 5000));
99 dataSel->plotOn(xframe, MarkerColor(kGreen), LineColor(kGreen));
101 new TCanvas(
"rf405_realtocatfuncs",
"rf405_realtocatfuncs", 600, 600);
102 xframe->SetMinimum(0.01);
103 gPad->SetLeftMargin(0.15);
104 xframe->GetYaxis()->SetTitleOffset(1.4);