68 static std::map<RooAbsData*,int>
_dcc ;
77 defaultStorageType = s ;
85 return defaultStorageType;
108 return (_dcc[data]==0) ;
119 _iterator = _vars.createIterator() ;
120 _cacheIter = _cachedVars.createIterator() ;
132 TNamed(name,title), _vars(
"Dataset Variables"), _cachedVars(
"Cached Variables"), _dstore(dstore)
143 <<
"): Data set cannot contain non-fundamental types, ignoring "
170 TNamed(newname?newname:other.GetName(),other.GetTitle()),
172 _cachedVars(
"Cached Variables")
195 map<string,RooAbsDataStore*> smap ;
199 smap[itero->first] = dclone->
store() ;
238 delete iter->second ;
251 if (dynamic_cast<RooTreeDataStore*>(
_dstore)) {
407 pc.
defineInt(
"evtStart",
"EventRange",0,0) ;
408 pc.
defineInt(
"evtStop",
"EventRange",1,2000000000) ;
413 pc.
process(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
431 varSubset.
add(*varSet) ;
437 << arg->
GetName() <<
" not in dataset, ignored" << endl ;
443 varSubset.
add(*
get()) ;
519 << arg->
GetName() <<
" not in dataset, ignored" << endl ;
525 if (cut && strlen(cut)>0) {
550 << arg->
GetName() <<
" not in dataset, ignored" << endl ;
651 strlcpy(buf,varNameList,1024) ;
652 char* varName = strtok(buf,
",:") ;
656 coutE(
InputArguments) <<
"RooAbsData::createHistogram(" <<
GetName() <<
") ERROR: dataset does not contain an observable named " << varName << endl ;
659 varName = strtok(0,
",") ;
661 if (varName && !yvar) {
662 coutE(
InputArguments) <<
"RooAbsData::createHistogram(" <<
GetName() <<
") ERROR: dataset does not contain an observable named " << varName << endl ;
665 varName = strtok(0,
",") ;
667 if (varName && !zvar) {
668 coutE(
InputArguments) <<
"RooAbsData::createHistogram(" <<
GetName() <<
") ERROR: dataset does not contain an observable named " << varName << endl ;
675 if (xbins<=0 || !xvar->hasMax() || !xvar->
hasMin() ) {
682 if (ybins<=0 || !yvar->hasMax() || !yvar->
hasMin() ) {
690 if (zbins<=0 || !zvar->hasMax() || !zvar->
hasMin() ) {
790 ownedCmds.
Add(bincmd) ;
791 argList.
Replace(autoRD,bincmd) ;
801 ((
RooCmdArg*)argList.
find(
"YVar"))->subArgs().Replace(autoRDY,bincmd) ;
813 ((
RooCmdArg*)argList.
find(
"ZVar"))->subArgs().Replace(autoRDZ,bincmd) ;
837 string prodName(
"(") ;
841 if (dynamic_cast<RooAbsCategory*>(arg)) {
843 if (varsArg != 0) catSet2.
add(*varsArg) ;
844 else catSet2.
add(*arg) ;
845 if (prodName.length()>1) {
857 return table(tmp,cuts,opts) ;
923 if (order==1)
return 0 ;
924 if (order==2)
return 1 ;
941 return moment(var,order,offset,cutSpec,cutRange) ;
965 if (!dynamic_cast<RooRealVar*>(varPtr)) {
979 select =
new RooFormula(
"select",cutSpec,*
get()) ;
988 if (select && select->
eval()==0)
continue ;
989 if (cutRange && vars->
allInRange(cutRange))
continue ;
1011 if (!dynamic_cast<RooRealVar*>(xdata)) {
1012 coutE(
InputArguments) <<
"RooDataSet::" << methodname <<
"(" <<
GetName() <<
") ERROR: variable : " << extVar.
GetName() <<
" is not of type RooRealVar in data" << endl ;
1027 if (!xdata||!ydata)
return 0 ;
1031 coutW(
InputArguments) <<
"RooDataSet::" << (corr?
"correlation":
"covariance") <<
"(" <<
GetName() <<
") WARNING: empty dataset, returning zero" << endl ;
1039 Double_t xysum(0),xsum(0),ysum(0),x2sum(0),y2sum(0);
1043 if (select && select->
eval()==0)
continue ;
1044 if (cutRange && vars->
allInRange(cutRange))
continue ;
1065 if (select)
delete select ;
1069 return (xysum-xsum*ysum)/(
sqrt(x2sum-(xsum*xsum))*
sqrt(y2sum-(ysum*ysum))) ;
1071 return (xysum-xsum*ysum);
1091 varList.
add(*datavar) ;
1109 vector<double> xsum(varList.
getSize()) ;
1110 vector<double> x2sum(varList.
getSize()) ;
1115 if (select && select->
eval()==0)
continue ;
1116 if (cutRange && dvars->
allInRange(cutRange))
continue ;
1127 *iter2=*
iter ; iy=ix ;
1131 xysum(iy,ix) = xysum(ix,iy) ;
1147 xysum(ix,iy) /=
sumEntries(cutSpec, cutRange) ;
1155 (*C)(ix,iy) = xysum(ix,iy)-xsum[ix]*xsum[iy] ;
1157 (*C)(ix,iy) /=
sqrt((x2sum[ix]-(xsum[ix]*xsum[ix]))*(x2sum[iy]-(xsum[iy]*xsum[iy]))) ;
1162 if (select)
delete select ;
1276 cmdList.
Add(const_cast<RooCmdArg*>(&arg1)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg2)) ;
1277 cmdList.
Add(const_cast<RooCmdArg*>(&arg3)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg4)) ;
1278 cmdList.
Add(const_cast<RooCmdArg*>(&arg5)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg6)) ;
1279 cmdList.
Add(const_cast<RooCmdArg*>(&arg7)) ; cmdList.
Add(const_cast<RooCmdArg*>(&arg8)) ;
1290 pc.
defineInt(
"dummy",
"FormatArgs",0,0) ;
1301 const char* label = pc.
getString(
"label") ;
1305 const char* formatStr = pc.
getString(
"formatStr") ;
1314 return statOn(frame,what,label,0,0,xmin,xmax,ymax,cutSpec,cutRange,formatCmd) ;
1316 return statOn(frame,what,label,sigDigit,formatStr,xmin,xmax,ymax,cutSpec,cutRange) ;
1327 const char* cutSpec,
const char* cutRange,
const RooCmdArg* formatCmd)
1329 Bool_t showLabel= (label != 0 && strlen(label) > 0);
1343 if(showLabel) ymin-= dy;
1362 TString *rmsText, *meanText, *NText ;
1364 rmsText= rms->
format(sigDigits,options);
1365 meanText= meanv->
format(sigDigits,options);
1366 NText= N.
format(sigDigits,options);
1368 rmsText= rms->
format(*formatCmd);
1369 meanText= meanv->
format(*formatCmd);
1370 NText= N.
format(*formatCmd);
1384 if(showLabel) box->
AddText(label);
1409 if(hdim != plotVars.
getSize()) {
1418 for(
Int_t index= 0; index < plotVars.
getSize(); index++) {
1423 <<
"\" of type " << var->
ClassName() << endl;
1432 <<
":fillHistogram: WARNING: data does not contain variable: " << realVar->
GetName() << endl;
1437 localVars.
add(*clone);
1440 localVars.
add(*found);
1446 if(0 != cuts && strlen(cuts)) {
1448 if (!select || !select->
ok()) {
1474 << hdim <<
" dimensions" << endl;
1479 vector<string> cutVec ;
1480 if (cutRange && strlen(cutRange)>0) {
1481 if (strchr(cutRange,
',')==0) {
1482 cutVec.push_back(cutRange) ;
1484 const size_t bufSize = strlen(cutRange)+1;
1485 char* buf =
new char[bufSize] ;
1486 strlcpy(buf,cutRange,bufSize) ;
1487 const char* oneRange = strtok(buf,
",") ;
1489 cutVec.push_back(oneRange) ;
1490 oneRange = strtok(0,
",") ;
1501 for(
Int_t i=0; i < nevent; ++i) {
1508 if (select && select->
eval()==0) {
1521 for (icut=0 ; icut<cutVec.size() ; icut++) {
1522 if (arg->
inRange(cutVec[icut].c_str())) {
1523 selectThisArg =
kTRUE ;
1527 if (!selectThisArg) {
1534 if (!selectByRange) {
1561 if (we==0) we =
weight() ;
1580 if(0 != select)
delete select;
1600 <<
" doesn't depend on any variable in this dataset" << endl ;
1619 <<
" is fundamental and does not appear in this dataset" << endl ;
1641 RooRealVar newweight(
"weight",
"weight",-1e9,1e9) ;
1643 subsetVars.
add(newweight) ;
1648 if (createEmptyDataSets) {
1668 if (!propWeightSquared) {
1743 pc.
defineInt(
"nbins",
"BinningSpec",0,100) ;
1748 pc.
defineInt(
"lineColor",
"LineColor",0,-999) ;
1749 pc.
defineInt(
"lineStyle",
"LineStyle",0,-999) ;
1750 pc.
defineInt(
"lineWidth",
"LineWidth",0,-999) ;
1751 pc.
defineInt(
"markerColor",
"MarkerColor",0,-999) ;
1752 pc.
defineInt(
"markerStyle",
"MarkerStyle",0,-999) ;
1754 pc.
defineInt(
"fillColor",
"FillColor",0,-999) ;
1755 pc.
defineInt(
"fillStyle",
"FillStyle",0,-999) ;
1757 pc.
defineInt(
"histInvisible",
"Invisible",0,0) ;
1758 pc.
defineInt(
"refreshFrameNorm",
"RefreshNorm",0,1) ;
1764 pc.
defineMutex(
"DataError",
"Asymmetry",
"Efficiency") ;
1765 pc.
defineMutex(
"Binning",
"BinningName",
"BinningSpec") ;
1806 <<
") INFO: dataset has non-integer weights, auto-selecting SumW2 errors instead of Poisson errors" << endl ;
1812 <<
" to add to in RooPlot" << endl ;
1817 if (!asymCat && !effCat) {
1819 }
else if (asymCat) {
1872 <<
":plotOn: frame does not specify a plot variable" << endl;
1878 histName.
Append(
"_plot");
1892 <<
":plotOn: fillHistogram() failed" << endl;
1909 <<
":plotOn: unable to create a RooHist object" << endl;
1926 coutI(
Plotting) <<
"RooTreeData::plotOn: plotting " << hist->
GetSum() <<
" events out of " << nEnt <<
" total events" << endl ;
1935 coutE(
Plotting) <<
"RooTreeData::plotOn: ERROR Histogram to be added to, '" << o.
addToHistName <<
"',has different binning" << endl ;
2000 <<
":plotAsymOn: frame does not specify a plot variable" << endl;
2006 hist1Name.Append(
"_plot1");
2007 TH1F *hist1, *hist2 ;
2008 hist2Name.
Append(
"_plot2");
2022 assert(0 != hist1 && 0 != hist2);
2036 <<
":plotAsymOn: createHistogram() failed" << endl;
2096 <<
":plotEffOn: frame does not specify a plot variable" << endl;
2102 hist1Name.Append(
"_plot1");
2103 TH1F *hist1, *hist2 ;
2104 hist2Name.
Append(
"_plot2");
2118 assert(0 != hist1 && 0 != hist2);
2132 <<
":plotEffOn: createHistogram() failed" << endl;
2186 <<
" is not in dataset and is also not dependent on data set" << endl ;
2193 coutE(
Plotting) <<
"RooTreeData::table(" <<
GetName() <<
") Couldn't deep-clone table category, abort." << endl ;
2197 ownPlotVar =
kTRUE ;
2204 if (cuts && strlen(cuts)) {
2213 if (cuts && strlen(cuts)) {
2219 for(
Int_t i=0; i < nevent; ++i) {
2222 if (cutVar && cutVar->
getVal()==0)
continue ;
2227 if (ownPlotVar)
delete tableSet ;
2228 if (cutVar)
delete cutVar ;
2249 if (!dynamic_cast<RooRealVar*>(varPtr)) {
2265 if (varPtr->
getVal()<lowest) {
2266 lowest = varPtr->
getVal() ;
2268 if (varPtr->
getVal()>highest) {
2269 highest = varPtr->
getVal() ;
2276 Double_t margin = marginFrac*(highest-lowest) ;
2285 Double_t delta = ((highest-mom1)>(mom1-lowest)?(highest-mom1):(mom1-lowest))*(1+marginFrac) ;
2286 lowest = mom1-delta ;
2287 highest = mom1+delta ;
2311 pruneSet.
add(*
get()) ;
2316 TIterator* vIter =
get()->createIterator() ;
2320 pruneSet.
add(*var) ;
2361 <<
" in dataset are either not used at all, orserving exclusively p.d.f nodes that are now cached, disabling reading of these observables for TTree" << endl ;
2389 return anyClient?ret:
kFALSE ;
2447 void RooAbsData::Streamer(
TBuffer &R__b)
virtual Double_t sumEntries() const =0
virtual const char * GetTitle() const
Returns title of object.
TString * format(const RooCmdArg &formatArg) const
Format contents of RooRealVar for pretty printing on RooPlot parameter boxes.
virtual void SetLineWidth(Width_t lwidth)
virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0)
Return Global bin number corresponding to x,y,z.
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
TObject * findObject(const char *name, const TClass *clas=0) const
Find the named object in our list of items and return a pointer to it.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
void addOwnedComponent(const char *idxlabel, RooAbsData &data)
const TTree * tree() const
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual void SetName(const char *name="")
RooAbsCollection * snapshot(Bool_t deepCopy=kTRUE) const
Take a snap shot of current collection contents: An owning collection is returned containing clones o...
TIterator * valueClientIterator() const
Bool_t hasProcessed(const char *cmdName) const
Return true if RooCmdArg with name 'cmdName' has been processed.
virtual Int_t numBins(const char *rangeName=0) const
virtual Bool_t isDerived() const
virtual void optimizeReadingWithCaching(RooAbsArg &arg, const RooArgSet &cacheList, const RooArgSet &keepObsList)
Prepare dataset for use with cached constant terms listed in 'cacheList' of expression 'arg'...
RooRealVar * dataRealVar(const char *methodname, RooRealVar &extVar) const
Internal method to check if given RooRealVar maps to a RooRealVar in this dataset.
virtual RooAbsReal * lowBoundFunc() const
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
RooAbsData * getSimData(const char *idxstate)
Bool_t defineDouble(const char *name, const char *argName, Int_t doubleNum, Double_t defValue=0.)
Define Double_t property name 'name' mapped to Double_t in slot 'doubleNum' in RooCmdArg with name ar...
virtual Roo1DTable * table(const RooArgSet &catSet, const char *cuts="", const char *opts="") const
Construct table for product of categories in catSet.
void setPlotLabel(const char *label)
Set the label associated with this variable.
RooCmdArg ZVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
void addObject(TObject *obj, Option_t *drawOptions="", Bool_t invisible=kFALSE)
Add a generic object to this plot.
void printMultiline(std::ostream &os, Int_t content, Bool_t verbose, TString indent) const
Detailed printing interface.
const char * getString(const char *name, const char *defaultValue="", Bool_t convEmptyToNull=kFALSE)
Return string property registered with name 'name'.
virtual Int_t defaultPrintContents(Option_t *opt) const
Define default print options, for a given print style.
void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Interface for detailed printing of object.
virtual Int_t GetDimension() const
virtual RooAbsReal * highBoundFunc() const
static std::map< RooAbsData *, int > _dcc
void convertToVectorStore()
Convert tree-based storage to vector-based storage.
virtual void SetName(const char *name)
Change (i.e.
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
virtual Bool_t changeObservableName(const char *from, const char *to)
virtual Bool_t isFundamental() const
void addPlotable(RooPlotable *plotable, Option_t *drawOptions="", Bool_t invisible=kFALSE, Bool_t refreshNorm=kFALSE)
Add the specified plotable object to our plot.
virtual Bool_t changeObservableName(const char *from, const char *to)=0
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
void ToUpper()
Change string to upper case.
Buffer base class used for serializing objects.
RooAbsData::ErrorType etype
const RooAbsBinning & getBinning(const char *name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const
Return binning definition with name.
virtual const RooArgSet * get(Int_t index) const =0
void updateNormVars(const RooArgSet &vars)
Install the given set of observables are reference normalization variables for this frame...
1-D histogram with a float per channel (see TH1 documentation)}
virtual Double_t getMin(const char *name=0) const
void attachBuffers(const RooArgSet &extObs)
virtual TObject * Clone(const char *newName=0) const
Make a clone of an object using the Streamer facility.
static void setDefaultStorageType(StorageType s)
void leafNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with all leaf nodes of the arg tree, starting with ourself as top node...
void setRawEntries(Double_t n)
RooAbsData * reduce(const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg())
Create a reduced copy of this dataset.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
virtual void SetFillStyle(Style_t fstyle)
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
void allowUndefined(Bool_t flag=kTRUE)
virtual void resetCache()
Internal method – Remove cached function values.
TObject * getObject(const char *name, TObject *obj=0)
Return TObject property registered with name 'name'.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
TIterator * _iterator
External variables cached with this data set.
TAttFill * getAttFill(const char *name=0) const
Return a pointer to the fill attributes of the named object in this plot, or zero if the named object...
Bool_t hasIdenticalBinning(const RooHist &other) const
Return kTRUE if binning of this RooHist is identical to that of 'other'.
void attachDataSet(const RooAbsData &set)
Replace server nodes with names matching the dataset variable names with those data set variables...
Double_t standMoment(RooRealVar &var, Double_t order, const char *cutSpec=0, const char *cutRange=0) const
Calculate standardized moment < (X - )^n > / sigma^n, where n = order.
virtual void attachBuffers(const RooArgSet &extObs)=0
Iterator abstract base class.
Double_t getDouble(Int_t idx) const
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Bool_t Replace(const TObject *oldArg, const TObject *newArg)
Replace object 'oldArg' in collection with new object 'newArg'.
virtual Double_t weightSquared() const =0
const char * Data() const
virtual Int_t numEntries() const =0
Bool_t process(const RooCmdArg &arg)
Process given RooCmdArg.
virtual void printName(std::ostream &os) const
Print name of dataset.
virtual void attachCache(const RooAbsArg *newOwner, const RooArgSet &cachedVars)
Internal method – Attach dataset copied with cache contents to copied instances of functions...
virtual RooAbsData * emptyClone(const char *newName=0, const char *newTitle=0, const RooArgSet *vars=0, const char *wgtVarName=0) const =0
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
The TNamed class is the base class for all named ROOT classes.
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
const char * addToHistName
std::map< std::string, std::string >::const_iterator iter
virtual void Draw(Option_t *option="")
Forward draw command to data store.
TIterator * createIterator(Bool_t dir=kIterForward) const
Double_t sigma(RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const
virtual void SetMarkerColor(Color_t mcolor=1)
static Vc_ALWAYS_INLINE Vector< T > abs(const Vector< T > &x)
if on multiple lines(like in C++).**The" * configuration fragment. * * The "import myobject continue
Parses the configuration file.
Bool_t defineString(const char *name, const char *argName, Int_t stringNum, const char *defValue="", Bool_t appendMode=kFALSE)
Define Double_t property name 'name' mapped to Double_t in slot 'stringNum' in RooCmdArg with name ar...
TString & Append(const char *cs)
static void create(const TObject *obj)
Register creation of object 'obj'.
virtual Bool_t isWeighted() const
Int_t getInt(Int_t idx) const
virtual ~RooAbsData()
Destructor.
Double_t getVal(const RooArgSet *set=0) const
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Plot dataset on specified frame.
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
virtual TArrayD * GetSumw2()
Bool_t allInRange(const char *rangeSpec) const
Return true if all contained object report to have their value inside the specified range...
virtual void SetBinError(Int_t bin, Double_t error)
see convention for numbering bins in TH1::GetBin
virtual void add(const RooArgSet &row, Double_t weight=1, Double_t weightError=0)=0
const char * getPlotLabel() const
Get the label associated with the variable.
RooAbsData()
Default constructor.
Bool_t defineInt(const char *name, const char *argName, Int_t intNum, Int_t defValue=0)
Define integer property name 'name' mapped to integer in slot 'intNum' in RooCmdArg with name argName...
The 3-D histogram classes derived from the 1-D histogram classes.
void stripCmdList(RooLinkedList &cmdList, const char *cmdsToPurge)
Utility function that strips command names listed (comma separated) in cmdsToPurge from cmdList...
virtual void resetCache()=0
virtual void SetTextAlign(Short_t align=11)
virtual void setDirtyProp(Bool_t flag)
virtual const RooArgSet * get() const
Roo1DTable * createTable(const char *label) const
Create a table matching the shape of this category.
virtual void setVal(Double_t value)
Set value of variable to 'value'.
virtual void SetLineColor(Color_t lcolor)
virtual void Add(TObject *arg)
virtual void printTitle(std::ostream &os) const
Print title of dataset.
void defineMutex(const char *argName1, const char *argName2)
Define arguments named argName1 and argName2 mutually exclusive.
Int_t getInt(const char *name, Int_t defaultValue=0)
Return integer property registered with name 'name'.
virtual void setArgStatus(const RooArgSet &set, Bool_t active)
Service class for 2-Dim histogram classes.
RooAbsArg * find(const char *name) const
Find object with given name in list.
virtual void attachCache(const RooAbsArg *newOwner, const RooArgSet &cachedVars)=0
virtual void SetFillColor(Color_t fcolor)
void setConstant(Bool_t value=kTRUE)
virtual RooPlot * statOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none())
Add a box with statistics information to the specified frame.
TAttLine * getAttLine(const char *name=0) const
Return a pointer to the line attributes of the named object in this plot, or zero if the named object...
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual Int_t numEntries() const
virtual RooPlot * plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const
Create and fill a histogram with the asymmetry N[+] - N[-] / ( N[+] + N[-] ), where N(+/-) is the num...
RooCmdArg AxisLabel(const char *name)
virtual Bool_t hasFilledCache() const
void SetName(const char *name)
Change (i.e.
char * Form(const char *fmt,...)
static Double_t infinity()
Return internal infinity representation.
virtual const RooAbsBinning & getBinning(const char *name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const =0
virtual const char * GetName() const
Returns name of object.
virtual Bool_t inRange(const char *) const
RooCmdArg AutoBinning(Int_t nbins=100, Double_t marginFactor=0.1)
virtual void SetMarkerStyle(Style_t mstyle=1)
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
virtual RooAbsDataStore * clone(const char *newname=0) const =0
Bool_t ok(Bool_t verbose) const
Return true of parsing was successful.
TH1 * createHistogram(const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset.
TMatrixDSym * corrcovMatrix(const RooArgList &vars, const char *cutSpec, const char *cutRange, Bool_t corr) const
Return covariance matrix from data for given list of observables.
static void indent(ostringstream &buf, int indent_level)
RooAbsDataStore * store()
RooAbsRealLValue * getPlotVar() const
RooRealVar * rmsVar(RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const
Create a RooRealVar containing the RMS of observable 'var' in this dataset.
Double_t corrcov(RooRealVar &x, RooRealVar &y, const char *cutSpec, const char *cutRange, Bool_t corr) const
Internal method to calculate single correlation and covariance elements.
virtual void SetMarkerSize(Size_t msize=1)
virtual RooAbsData * reduceEng(const RooArgSet &varSubset, const RooFormulaVar *cutVar, const char *cutRange=0, Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyCache=kTRUE)=0
Double_t moment(RooRealVar &var, Double_t order, const char *cutSpec=0, const char *cutRange=0) const
Calculate moment < (X - )^n > where n = order.
Bool_t getRange(RooRealVar &var, Double_t &lowest, Double_t &highest, Double_t marginFrac=0, Bool_t symMode=kFALSE) const
Fill Doubles 'lowest' and 'highest' with the lowest and highest value of observable 'var' in this dat...
Bool_t hasMin(const char *name=0) const
virtual void printClassName(std::ostream &os) const
Print class name of dataset.
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
static void destroy(const TObject *obj)
Register deletion of object 'obj'.
RooRealVar * meanVar(RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const
Create a RooRealVar containing the mean of observable 'var' in this dataset.
static StorageType getDefaultStorageType()
A Pave (see TPave) with text, lines or/and boxes inside.
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements...
RooAbsArg * at(Int_t idx) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsDataStore * _dstore
Iterator over cached variables.
Double_t getDouble(const char *name, Double_t defaultValue=0)
Return Double_t property registered with name 'name'.
TMatrixTSym< Double_t > TMatrixDSym
virtual Bool_t isNonPoissonWeighted() const
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
virtual void cacheArgs(const RooAbsArg *owner, RooArgSet &varSet, const RooArgSet *nset=0, Bool_t skipZeroWeights=kFALSE)
Internal method – Cache given set of functions with data.
Double_t getFitRangeBinW() const
TObject * find(const char *name) const
Return pointer to object with given name in collection.
static Bool_t releaseVars(RooAbsData *)
If return value is true variables can be deleted.
virtual void SetLineStyle(Style_t lstyle)
virtual TList * split(const RooAbsCategory &splitCat, Bool_t createEmptyDataSets=kFALSE) const
Split dataset into subsets based on states of given splitCat in this dataset.
virtual RooPlot * plotEffOn(RooPlot *frame, const RooAbsCategoryLValue &effCat, PlotOpt o) const
Create and fill a histogram with the effiency N[1] / ( N[1] + N[0] ), where N(1/0) is the number of d...
virtual TH1 * fillHistogram(TH1 *hist, const RooArgList &plotVars, const char *cuts="", const char *cutRange=0) const
Loop over columns of our tree data and fill the input histogram.
static StorageType defaultStorageType
std::map< std::string, RooAbsData * > _ownedComponents
Mother of all ROOT objects.
TH1 * createHistogram(const char *name, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
virtual Bool_t remove(const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
Remove the specified argument from our list.
virtual Double_t getMax(const char *name=0) const
static void claimVars(RooAbsData *)
virtual void Add(TObject *obj)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual TObject * Next()=0
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
virtual Double_t weight() const =0
virtual void setArgStatus(const RooArgSet &set, Bool_t active)=0
Bool_t dependsOn(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0, Bool_t valueOnly=kFALSE) const
Test whether we depend on (ie, are served by) any object in the specified collection.
Bool_t canSplitFast() const
virtual void checkInit() const
virtual const char * getLabel() const
Return label string of current state.
Bool_t hasFilledCache() const
virtual RooAbsArg * addClone(const RooAbsArg &var, Bool_t silent=kFALSE)
Add clone of specified element to an owning set.
A TTree object has a header with a name and a title.
float type_of_call hi(const int &, const int &)
virtual const TTree * tree() const
Bool_t defineObject(const char *name, const char *argName, Int_t setNum, const TObject *obj=0, Bool_t isArray=kFALSE)
Define TObject property name 'name' mapped to object in slot 'setNum' in RooCmdArg with name argName ...
virtual Double_t weightError(ErrorType etype=Poisson) const
Return error on current weight (dummy implementation returning zero)
void setYAxisLabel(const char *label)
virtual void resetBuffers()=0
TAttMarker * getAttMarker(const char *name=0) const
Return a pointer to the marker attributes of the named object in this plot, or zero if the named obje...
virtual void SetTextSize(Float_t tsize=1)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
virtual Bool_t isShareable() const
virtual Double_t averageBinWidth() const =0
Bool_t recursiveRedirectServers(const RooAbsCollection &newServerList, Bool_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t recurseInNewSet=kTRUE)
virtual Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
virtual void SetTitle(const char *title="")
Change (i.e. set) the title of the TNamed.
virtual void cacheArgs(const RooAbsArg *cacheOwner, RooArgSet &varSet, const RooArgSet *nset=0, Bool_t skipZeroWeights=kFALSE)=0
virtual const Text_t * GetName() const
Returns name of object.
virtual void fill(RooAbsCategory &cat, Double_t weight=1.0)
Increment the counter of the table slot with the name corresponding to that of the current category s...
TIterator * typeIterator() const
Return iterator over all defined states.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add element to non-owning set.
virtual void SetBorderSize(Int_t bordersize=4)
Bool_t allClientsCached(RooAbsArg *, const RooArgSet &)
Utility function that determines if all clients of object 'var' appear in given list of cached nodes...
TIterator * _cacheIter
Iterator over dimension variables.
RooCmdArg Binning(const RooAbsBinning &binning)
Double_t getFitRangeNEvt() const
void setDirtyProp(Bool_t flag)
Control propagation of dirty flags from observables in dataset.
void setError(Double_t value)
Bool_t correctForBinWidth
const RooCatType * lookupType(Int_t index, Bool_t printError=kFALSE) const
Find our type corresponding to the specified index, or return 0 for no match.