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: 0x7ffeddaef0e8
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.