20 using namespace RooFit;
22 void rf404_categories()
29 RooCategory tagCat(
"tagCat",
"Tagging category");
30 tagCat.defineType(
"Lepton");
31 tagCat.defineType(
"Kaon");
32 tagCat.defineType(
"NetTagger-1");
33 tagCat.defineType(
"NetTagger-2");
40 RooCategory b0flav(
"b0flav",
"B0 flavour eigenstate");
41 b0flav.defineType(
"B0", -1);
42 b0flav.defineType(
"B0bar", 1);
49 RooRealVar x(
"x",
"x", 0, 10);
50 RooDataSet *data = RooPolynomial(
"p",
"p", x).generate(RooArgSet(x, b0flav, tagCat), 10000);
56 Roo1DTable *btable = data->table(b0flav);
61 Roo1DTable *ttable = data->table(tagCat,
"x>8.23");
66 Roo1DTable *bttable = data->table(RooArgSet(tagCat, b0flav));
71 Double_t nb0 = btable->get(
"B0");
72 cout <<
"Number of events with B0 flavor is " << nb0 << endl;
75 Double_t fracLep = ttable->getFrac(
"Lepton");
76 cout <<
"Fraction of events tagged with Lepton tag is " << fracLep << endl;
82 tagCat.setRange(
"good",
"Lepton,Kaon");
85 tagCat.addToRange(
"soso",
"NetTagger-1");
86 tagCat.addToRange(
"soso",
"NetTagger-2");
89 RooDataSet *goodData = (RooDataSet *)data->reduce(CutRange(
"good"));
90 goodData->table(tagCat)->Print(
"v");