Data and categories: working with RooCategory objects to describe discrete variables 
 
#include <iostream>
 
{
 
   
   
 
   
   tagCat.defineType(
"NetTagger-1");
 
   tagCat.defineType(
"NetTagger-2");
 
 
   
   
 
   
   
 
 
   
   
       {"A", 0}, {"b", 2}, {"c", 8}, {"dee", 4},
       {"F", 133}, {"g", 15}, {"H", -20}
   });
 
 
   
   
 
   
   std::cout << "\nThis is the for loop over states of 'largeCat':";
   std::cout << '\n' << std::endl;
 
   
   std::cout <<   
"Has label 'A': " << 
largeCat.hasLabel(
"A");
 
   std::cout << 
"\nHas index '-20': " << 
largeCat.hasIndex(-20);
 
 
   
   std::cout << 
"\nLabel corresponding to '2' is " << 
largeCat.lookupName(2);
 
   std::cout << 
"\nIndex corresponding to 'A' is " << 
largeCat.lookupIndex(
"A");
 
 
   
   std::cout << 
"\nCurrent index is " << 
largeCat.getCurrentIndex();
 
   std::cout << 
"\nCurrent label is " << 
largeCat.getCurrentLabel();
 
   std::cout << std::endl;
 
   
 
 
 
   
   
 
   
 
 
   
   
 
   
 
   
 
   
 
   
   
   std::cout << 
"Number of events with B0 flavor is " << 
nb0 << std::endl;
 
 
   
   std::cout << 
"Fraction of events tagged with Lepton tag is " << 
fracLep << std::endl;
 
 
   
   
 
   
   tagCat.setRange(
"good", 
"Lepton,Kaon");
 
 
   
   tagCat.addToRange(
"soso", 
"NetTagger-1");
 
   tagCat.addToRange(
"soso", 
"NetTagger-2");
 
 
   
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
virtual Roo1DTable * table(const RooArgSet &catSet, const char *cuts="", const char *opts="") const
Construct table for product of categories in catSet.
 
RooFit::OwningPtr< RooDataSet > generate(const RooArgSet &whatVars, Int_t nEvents, const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={})
See RooAbsPdf::generate(const RooArgSet&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,...
 
RooArgSet is a container object that can hold multiple RooAbsArg objects.
 
Object to represent discrete states.
 
Container class to hold unbinned data.
 
RooPolynomial implements a polynomial p.d.f of the form.
 
Variable that can be changed from the outside.
 
RooCmdArg CutRange(const char *rangeName)
 
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
 
   
RooCategory::tagCat = Lepton(idx = 0)
 
--- RooAbsArg ---
  Value State: clean
  Shape State: clean
  Attributes: 
  Address: 0x7ffe8f648be8
  Clients: 
  Servers: 
  Proxies: 
--- RooAbsCategory ---
  Value = -1 "B0)
  Possible states:
    B0   -1
    B0bar   1
 
This is the for loop over states of 'largeCat':
   A  0
   F  133
   H  -20
   b  2
   c  8
   dee   4
   g  15
 
Has label 'A': 1
Has index '-20': 1
Label corresponding to '2' is b
Index corresponding to 'A' is 0
Current index is 0
Current label is A
Roo1DTable::b0flav = (B0=5058,B0bar=4942)
 
  Table b0flav : pData
  +-------+------+
  |    B0 | 5058 |
  | B0bar | 4942 |
  +-------+------+
 
Roo1DTable::tagCat = (Lepton=454,Kaon=450,NetTagger-1=432,NetTagger-2=429)
 
  Table tagCat : pData(x>8.23)
  +-------------+-----+
  |      Lepton | 454 |
  |        Kaon | 450 |
  | NetTagger-1 | 432 |
  | NetTagger-2 | 429 |
  +-------------+-----+
 
 
  Table (tagCat x b0flav) : pData
  +---------------------+------+
  |         {Lepton;B0} | 1302 |
  |           {Kaon;B0} | 1232 |
  |    {NetTagger-1;B0} | 1242 |
  |    {NetTagger-2;B0} | 1282 |
  |      {Lepton;B0bar} | 1192 |
  |        {Kaon;B0bar} | 1314 |
  | {NetTagger-1;B0bar} | 1208 |
  | {NetTagger-2;B0bar} | 1228 |
  +---------------------+------+
 
Number of events with B0 flavor is 5058
Fraction of events tagged with Lepton tag is 0.257224
 
  Table tagCat : pData
  +-------------+------+
  |      Lepton | 2494 |
  |        Kaon | 2546 |
  | NetTagger-1 |    0 |
  | NetTagger-2 |    0 |
  +-------------+------+
 
- Date
 - July 2008 
 
- Author
 - Wouter Verkerke 
 
Definition in file rf404_categories.C.