139 RooAbsArg(
name,title), _plotMin(0), _plotMax(0), _plotBins(100),
140 _value(0), _unit(unit), _forceNumInt(
kFALSE), _specIntegratorConfig(0), _treeVar(
kFALSE), _selectComp(
kTRUE), _lastNSet(0)
153 Double_t inMaxVal,
const char *unit) :
154 RooAbsArg(
name,title), _plotMin(inMinVal), _plotMax(inMaxVal), _plotBins(100),
155 _value(0), _unit(unit), _forceNumInt(
kFALSE), _specIntegratorConfig(0), _treeVar(
kFALSE), _selectComp(
kTRUE), _lastNSet(0)
169 RooAbsArg(other,
name), _plotMin(other._plotMin), _plotMax(other._plotMax),
170 _plotBins(other._plotBins), _value(other._value), _unit(other._unit), _label(other._label),
171 _forceNumInt(other._forceNumInt), _treeVar(other._treeVar), _selectComp(other._selectComp), _lastNSet(0)
197 return (
getVal()==value) ;
217 if (!assumeSameType) {
233 if(appendUnit && 0 != strlen(
getUnit())) {
300 <<
"): validation failed: " << value << endl ;
320 const RooArgSet* ,
const char* rangeName)
const
351 if (code==0)
return getVal(normSet) ;
365 coutF(
Eval) <<
"RooAbsReal::analyticalIntegral(" <<
GetName() <<
") code " << code <<
" not implemented" << endl ;
426 os << indent <<
"--- RooAbsReal ---" << endl;
428 if(!unit.IsNull()) unit.Prepend(
' ');
430 os << endl << indent <<
" Plot label is \"" <<
getPlotLabel() <<
"\"" << endl;
510 pc.defineString(
"rangeName",
"RangeWithName",0,
"",
kTRUE) ;
511 pc.defineObject(
"normSet",
"NormSet",0,0) ;
512 pc.defineObject(
"numIntConfig",
"NumIntConfig",0,0) ;
515 pc.process(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
521 const char* rangeName =
pc.getString(
"rangeName",0,
kTRUE) ;
546 if (!rangeName || strchr(rangeName,
',')==0) {
554 TObjArray* oa = TString(rangeName).Tokenize(
",");
560 components.
add(*compIntegral) ;
565 title.Prepend(
"Integral of ") ;
594 title.Prepend(
"Integral of ") ;
618 TString title(integrand->
GetTitle()) ;
619 title.Prepend(
"Integral of ") ;
628 if (integrand !=
this) {
636 if (integrand ==
this && iset.
getSize()>0) {
637 coutI(
Integration) <<
GetName() <<
" : multidimensional integration over observables with parameterized ranges in terms of other integrated observables detected, using recursive integration strategy to construct final integral" << endl ;
641 integrand = integral ;
649 coutE(
Integration) <<
GetName() <<
" : ERROR while defining recursive integral over observables with parameterized integration ranges, please check that integration rangs specify uniquely defined integral " << endl;
658 if (cacheParamsStr && strlen(cacheParamsStr)) {
666 if (cacheParams->
getSize()>0) {
668 <<
"-dim value cache for integral over " << iset2 <<
" as a function of " << *cacheParams <<
" in range " << (rangeName?rangeName:
"<none>") << endl ;
678 integral = cachedIntegral ;
724 obsWithParamRange.
add(*aarg) ;
725 obsWithFixedRange.
remove(*aarg) ;
726 obsServingAsRangeParams.
add(*loBoundObs,
kFALSE) ;
727 obsServingAsRangeParams.
add(*hiBoundObs,
kFALSE) ;
737 RooArgSet obsWithFixedRangeNP(obsWithFixedRange) ;
738 obsWithFixedRangeNP.
remove(obsServingAsRangeParams) ;
741 RooArgSet obsWithParamRangeNP(obsWithParamRange) ;
742 obsWithParamRangeNP.
remove(obsServingAsRangeParams) ;
746 innerObs.
add(obsWithFixedRangeNP) ;
747 innerObs.
add(obsWithParamRangeNP) ;
764 name.Append(
"_Int[") ;
779 name.Append(rangeName) ;
782 }
else if (!omitEmpty) {
783 name.Append(
"_Int[]") ;
786 if (nset && nset->
getSize()>0 ) {
791 name.Append(
"_Norm[") ;
882 assert(0 != dependentIterator);
887 <<
"\" of wrong type: " << arg->
ClassName() << endl;
888 delete dependentIterator;
895 <<
"\" is not a dependent and will be ignored." << endl;
900 leafNodes.
replace(*found,*arg);
902 leafNodes.
add(*arg) ;
912 leafNodes.
add(*lvs) ;
921 if(0 != projectedVars && projectedVars->
find(arg->
GetName())) {
923 <<
"\" cannot be both a dependent and a projected variable." << endl;
924 delete dependentIterator;
930 if(0 != projectedVars) leafNodes.
remove(*projectedVars,
kTRUE);
935 coutE(
Plotting) <<
"RooAbsPdf::createPlotProjection(" <<
GetName() <<
") Couldn't deep-clone PDF, abort," << endl ;
948 delete plotLeafNodes ;
952 if(0 != projectedVars) normSet.
add(*projectedVars);
961 if(0 == projectedVars) projectedVars= ∅
967 title.Prepend(
"Projection of ");
972 if(0 == projected || !projected->
isValid()) {
976 if(0 != projected)
delete projected;
977 delete dependentIterator;
992 delete dependentIterator;
1028 if(hdim != plotVars.
getSize()) {
1037 for(
Int_t index= 0; index < plotVars.
getSize(); index++) {
1042 <<
"\" of type " << var->
ClassName() << endl;
1047 <<
":fillHistogram: WARNING: variable is not an explicit dependent: " << realVar->
GetName() << endl;
1063 if (projectedVars) {
1064 allDeps.
add(*projectedVars) ;
1078 Int_t xbins(0),ybins(1),zbins(1);
1090 assert(0 != zvar && 0 != zaxis);
1091 if (scaleForDensity) {
1099 assert(0 != yvar && 0 != yaxis);
1100 if (scaleForDensity) {
1108 assert(0 != xvar && 0 != xaxis);
1109 if (scaleForDensity) {
1115 << hdim <<
" dimensions" << endl;
1122 Int_t xbin(0),ybin(0),zbin(0);
1123 Int_t bins= xbins*ybins*zbins;
1124 for(
Int_t bin= 0; bin < bins; bin++) {
1127 if(bin % (xbins*ybins) == 0) {
1133 if(bin % xbins == 0) {
1134 ybin= (ybin%ybins) + 1;
1139 xbin= (xbin%xbins) + 1;
1149 coutW(
Plotting) <<
"WARNING: Function evaluation error(s) at coordinates [x]=" << xvar->
getVal() ;
1222 if (showProgress && (i%onePct==0)) {
1226 Double_t binVal = theClone->
getVal(normSet?normSet:obs)*scaleFactor ;
1227 if (correctForBinSize) {
1259 strlcpy(buf,varNameList,1024) ;
1260 char* varName = strtok(buf,
",:") ;
1265 varName = strtok(0,
",") ;
1267 varName = strtok(0,
",") ;
1359 pc.defineInt(
"scaling",
"Scaling",0,1) ;
1360 pc.defineInt(
"intBinning",
"IntrinsicBinning",0,2) ;
1361 pc.defineInt(
"extended",
"Extended",0,2) ;
1363 pc.defineObject(
"compSet",
"SelectCompSet",0) ;
1364 pc.defineString(
"compSpec",
"SelectCompSpec",0) ;
1365 pc.defineSet(
"projObs",
"ProjectedObservables",0,0) ;
1366 pc.defineObject(
"yvar",
"YVar",0,0) ;
1367 pc.defineObject(
"zvar",
"ZVar",0,0) ;
1368 pc.defineMutex(
"SelectCompSet",
"SelectCompSpec") ;
1369 pc.defineMutex(
"IntrinsicBinning",
"Binning") ;
1370 pc.defineMutex(
"IntrinsicBinning",
"BinningName") ;
1371 pc.defineMutex(
"IntrinsicBinning",
"BinningSpec") ;
1372 pc.allowUndefined() ;
1375 pc.process(argList) ;
1393 Bool_t doScaling =
pc.getInt(
"scaling") ;
1394 Int_t doIntBinning =
pc.getInt(
"intBinning") ;
1395 Int_t doExtended =
pc.getInt(
"extended") ;
1399 if (!pdfSelf && doExtended>0) {
1400 coutW(
InputArguments) <<
"RooAbsReal::createHistogram(" <<
GetName() <<
") WARNING extended mode requested for a non-pdf object, ignored" << endl ;
1404 coutW(
InputArguments) <<
"RooAbsReal::createHistogram(" <<
GetName() <<
") WARNING extended mode requested for a non-extendable pdf, ignored" << endl ;
1407 if (pdfSelf && doExtended==2) {
1411 const char* compSpec =
pc.getString(
"compSpec") ;
1413 Bool_t haveCompSel = ( (compSpec && strlen(compSpec)>0) || compSet) ;
1416 if (doIntBinning>0) {
1421 if (doIntBinning==1) {
1423 <<
") WARNING, intrinsic model binning requested for histogram, but model does not define bin boundaries, reverting to default binning"<< endl ;
1426 if (doIntBinning==2) {
1428 <<
") INFO: Model has intrinsic binning definition, selecting that binning for the histogram"<< endl ;
1431 for (list<double>::iterator it=bl->begin() ; it!=bl->end() ; ++it) { ba[i++] = *it ; }
1432 intBinning =
new RooBinning(bl->size()-1,ba) ;
1438 pc.stripCmdList(argListCreate,
"Scaling,ProjectedObservables,IntrinsicBinning,SelectCompSet,SelectCompSpec,Extended") ;
1443 argListCreate.
Add(&tmp) ;
1462 branchNodeSet.
remove(*arg) ;
1473 if (dirSelNodes->
getSize()>0) {
1474 coutI(
Plotting) <<
"RooAbsPdf::createHistogram(" <<
GetName() <<
") directly selected PDF components: " << *dirSelNodes << endl ;
1480 coutE(
Plotting) <<
"RooAbsPdf::createHistogram(" <<
GetName() <<
") ERROR: component selection set " << *compSet <<
" does not match any components of p.d.f." << endl ;
1482 coutE(
Plotting) <<
"RooAbsPdf::createHistogram(" <<
GetName() <<
") ERROR: component selection expression '" << compSpec <<
"' does not select any components of p.d.f." << endl ;
1486 delete dirSelNodes ;
1525 branchNodeSet.
remove(*arg) ;
1566 selNodes->
add(tmp) ;
1567 coutI(
Plotting) <<
"RooAbsPdf::plotOn(" <<
GetName() <<
") indirectly selected PDF components: " << tmp << endl ;
1703 if (rcmd && TString(rcmd->
getString(0)).Contains(
",")) {
1707 argList.
Add(&rnorm) ;
1709 list<string> rlist ;
1714 char* oneRange = strtok(buf,
",") ;
1716 rlist.push_back(oneRange) ;
1717 oneRange = strtok(0,
",") ;
1720 for (list<string>::iterator riter=rlist.begin() ; riter!=rlist.end() ; ++riter) {
1731 pc.defineString(
"drawOption",
"DrawOption",0,
"L") ;
1732 pc.defineString(
"projectionRangeName",
"ProjectionRange",0,
"",
kTRUE) ;
1733 pc.defineString(
"curveNameSuffix",
"CurveNameSuffix",0,
"") ;
1734 pc.defineString(
"sliceCatState",
"SliceCat",0,
"",
kTRUE) ;
1735 pc.defineDouble(
"scaleFactor",
"Normalization",0,1.0) ;
1736 pc.defineObject(
"sliceSet",
"SliceVars",0) ;
1737 pc.defineObject(
"sliceCatList",
"SliceCat",0,0,
kTRUE) ;
1738 pc.defineObject(
"projSet",
"Project",0) ;
1739 pc.defineObject(
"asymCat",
"Asymmetry",0) ;
1740 pc.defineDouble(
"precision",
"Precision",0,1
e-3) ;
1741 pc.defineDouble(
"evalErrorVal",
"EvalErrorValue",0,0) ;
1742 pc.defineInt(
"doEvalError",
"EvalErrorValue",0,0) ;
1743 pc.defineInt(
"shiftToZero",
"ShiftToZero",0,0) ;
1744 pc.defineObject(
"projDataSet",
"ProjData",0) ;
1745 pc.defineObject(
"projData",
"ProjData",1) ;
1746 pc.defineObject(
"errorFR",
"VisualizeError",0) ;
1747 pc.defineDouble(
"errorZ",
"VisualizeError",0,1.) ;
1748 pc.defineSet(
"errorPars",
"VisualizeError",0) ;
1749 pc.defineInt(
"linearMethod",
"VisualizeError",0,0) ;
1750 pc.defineInt(
"binProjData",
"ProjData",0,0) ;
1751 pc.defineDouble(
"rangeLo",
"Range",0,-999.) ;
1752 pc.defineDouble(
"rangeHi",
"Range",1,-999.) ;
1753 pc.defineInt(
"numee",
"PrintEvalErrors",0,10) ;
1754 pc.defineInt(
"rangeAdjustNorm",
"Range",0,0) ;
1755 pc.defineInt(
"rangeWNAdjustNorm",
"RangeWithName",0,0) ;
1756 pc.defineInt(
"VLines",
"VLines",0,2) ;
1757 pc.defineString(
"rangeName",
"RangeWithName",0,
"") ;
1758 pc.defineString(
"normRangeName",
"NormRange",0,
"") ;
1759 pc.defineInt(
"lineColor",
"LineColor",0,-999) ;
1760 pc.defineInt(
"lineStyle",
"LineStyle",0,-999) ;
1761 pc.defineInt(
"lineWidth",
"LineWidth",0,-999) ;
1762 pc.defineInt(
"fillColor",
"FillColor",0,-999) ;
1763 pc.defineInt(
"fillStyle",
"FillStyle",0,-999) ;
1764 pc.defineString(
"curveName",
"Name",0,
"") ;
1765 pc.defineInt(
"curveInvisible",
"Invisible",0,0) ;
1766 pc.defineInt(
"showProg",
"ShowProgress",0,0) ;
1767 pc.defineInt(
"numCPU",
"NumCPU",0,1) ;
1768 pc.defineInt(
"interleave",
"NumCPU",1,0) ;
1769 pc.defineString(
"addToCurveName",
"AddTo",0,
"") ;
1770 pc.defineDouble(
"addToWgtSelf",
"AddTo",0,1.) ;
1771 pc.defineDouble(
"addToWgtOther",
"AddTo",1,1.) ;
1772 pc.defineInt(
"moveToBack",
"MoveToBack",0,0) ;
1773 pc.defineMutex(
"SliceVars",
"Project") ;
1774 pc.defineMutex(
"AddTo",
"Asymmetry") ;
1775 pc.defineMutex(
"Range",
"RangeWithName") ;
1776 pc.defineMutex(
"VisualizeError",
"VisualizeErrorData") ;
1779 pc.process(argList) ;
1789 Bool_t linMethod =
pc.getInt(
"linearMethod") ;
1795 o.
numee =
pc.getInt(
"numee") ;
1804 o.
eeval =
pc.getDouble(
"evalErrorVal") ;
1814 const char* sliceCatState =
pc.getString(
"sliceCatState",0,
kTRUE) ;
1815 const RooLinkedList& sliceCatList =
pc.getObjectList(
"sliceCatList") ;
1816 if (sliceCatState) {
1825 strlcpy(buf,sliceCatState,1024) ;
1826 const char* slabel = strtok(buf,
",") ;
1838 slabel = strtok(0,
",") ;
1845 Int_t vlines =
pc.getInt(
"VLines");
1846 if (
pc.hasProcessed(
"Range")) {
1850 if (vlines==2) vlines=0 ;
1851 }
else if (
pc.hasProcessed(
"RangeWithName")) {
1856 if (vlines==2) vlines=0 ;
1861 if (
pc.hasProcessed(
"NormRange")) {
1882 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") Preprocessing: have slice " << *sliceSet << endl ;
1892 projectedVars.
remove(*arg) ;
1895 << sliceArg->
GetName() <<
" was not projected anyway" << endl ;
1899 }
else if (projSet) {
1900 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") Preprocessing: have projSet " << *projSet << endl ;
1903 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") Preprocessing: have neither sliceSet nor projSet " << endl ;
1908 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") Preprocessing: projectedVars = " << projectedVars << endl ;
1923 Int_t lineColor =
pc.getInt(
"lineColor") ;
1924 Int_t lineStyle =
pc.getInt(
"lineStyle") ;
1925 Int_t lineWidth =
pc.getInt(
"lineWidth") ;
1926 Int_t fillColor =
pc.getInt(
"fillColor") ;
1927 Int_t fillStyle =
pc.getInt(
"fillStyle") ;
1935 if (
pc.getInt(
"moveToBack") && frame->
numItems()>1) {
1974 projDataVars.
add(*tmp) ;
1997 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") frame->getNormVars() that are also observables = " << *sliceSetTmp << endl ;
2010 << frame->
getPlotVar()->
GetName() <<
" represents a slice in " << *sliceSetTmp << endl ;
2012 sliceSet.
add(*sliceSetTmp) ;
2013 delete sliceSetTmp ;
2019 cxcoutD(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") projectedVars = " << projectedVars <<
" sliceSet = " << sliceSet << endl ;
2032 if (!plotCloneSet) {
2033 coutE(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") Couldn't deep-clone self, abort," << endl ;
2039 if (projectedVars.
getSize()) {
2041 <<
" integrates over variables " << projectedVars
2044 if (projDataNeededVars && projDataNeededVars->
getSize()>0) {
2046 <<
" averages using data variables " << *projDataNeededVars << endl ;
2054 if (projDataNeededVars) {
2058 deps->
add(*plotVar) ;
2064 coutE(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") error in checkObservables, abort" << endl ;
2066 delete plotCloneSet ;
2067 if (projDataNeededVars)
delete projDataNeededVars ;
2082 fullNormSet.
add(projectedVars) ;
2083 if (projDataNeededVars && projDataNeededVars->
getSize()>0) {
2084 fullNormSet.
add(*projDataNeededVars) ;
2100 if (o.
projData && projDataNeededVars && projDataNeededVars->
getSize()>0) {
2110 if (sliceDataSet->
getSize()>0) {
2116 cutString.Append(
"&&") ;
2131 delete sliceDataSet ;
2133 if (!cutString.IsNull()) {
2135 coutI(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") reducing given projection dataset to entries with " << cutString << endl ;
2140 <<
") only the following components of the projection data will be used: " << *projDataNeededVars << endl ;
2156 coutI(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") unbinned projection dataset consist only of discrete variables,"
2157 <<
" performing projection with binned copy for optimization." << endl ;
2165 if (projDataSel!=o.
projData)
delete projDataSel ;
2172 projection->
getVal(projDataSel->
get()) ;
2192 TString curveName(projection->
GetName()) ;
2209 curve->
SetName(curveName.Data()) ;
2230 if (projDataSel!=o.
projData)
delete projDataSel ;
2270 TString curveName(projection->
GetName()) ;
2278 curve->
SetName(curveName.Data()) ;
2299 if (projDataNeededVars)
delete projDataNeededVars ;
2301 delete projectionCompList ;
2302 delete plotCloneSet ;
2324 projectedVars.
remove(*arg) ;
2327 << sliceArg->
GetName() <<
" was not projected anyway" << endl ;
2370 projDataVars.
add(*tmp) ;
2380 <<
") function doesn't depend on asymmetry category " << asymCat.
GetName() << endl ;
2387 <<
") asymmetry category must have 2 or 3 states with index values -1,0,1" << endl ;
2411 << frame->
getPlotVar()->
GetName() <<
" represents a slice in " << *sliceSetTmp << endl ;
2413 sliceSet.
add(*sliceSetTmp) ;
2414 delete sliceSetTmp ;
2438 if (projectedVars.
getSize()) {
2440 <<
" projects variables " << projectedVars << endl ;
2442 if (projDataNeededVars && projDataNeededVars->
getSize()>0) {
2444 <<
" averages using data variables "<< *projDataNeededVars << endl ;
2463 RooArgSet *posProjCompList, *negProjCompList ;
2469 depPos.
add(projDataVars) ;
2470 depNeg.
add(projDataVars) ;
2474 if (!posProj || !negProj) {
2475 coutE(
Plotting) <<
"RooAbsReal::plotAsymOn(" <<
GetName() <<
") Unable to create projections, abort" << endl ;
2481 asymName.Append(
"_Asym[") ;
2482 asymName.Append(asymCat.
GetName()) ;
2483 asymName.Append(
"]") ;
2484 TString asymTitle(asymCat.
GetName()) ;
2485 asymTitle.Append(
" Asymmetry of ") ;
2498 if (sliceDataSet->
getSize()>0) {
2504 cutString.Append(
"&&") ;
2519 delete sliceDataSet ;
2521 if (!cutString.IsNull()) {
2524 <<
") reducing given projection dataset to entries with " << cutString << endl ;
2529 <<
") only the following components of the projection data will be used: " << *projDataNeededVars << endl ;
2539 ((
RooAbsReal*)posProj)->attachDataSet(*projDataSel) ;
2540 ((
RooAbsReal*)negProj)->attachDataSet(*projDataSel) ;
2551 TString curveName(funcAsym->
GetName()) ;
2574 if (projDataSel!=o.
projData)
delete projDataSel ;
2593 TString curveName(funcAsym->
GetName()) ;
2601 curve->
SetName(curveName.Data()) ;
2613 delete posProjCompList ;
2614 delete negProjCompList ;
2646 fpf_stripped.
add(*frv);
2660 vector<int> fpf_idx;
2664 paramList.
add(*par);
2665 fpf_idx.push_back(i);
2669 vector<Double_t> plusVar, minusVar ;
2676 for (
Int_t ivar=0 ; ivar<paramList.
getSize() ; ivar++) {
2684 ((
RooRealVar*)paramList.
at(ivar))->setVal(cenVal+errVal) ;
2685 plusVar.push_back(cloneFunc->
getVal(nset)) ;
2688 ((
RooRealVar*)paramList.
at(ivar))->setVal(cenVal-errVal) ;
2689 minusVar.push_back(cloneFunc->
getVal(nset)) ;
2695 vector<double> errVec(paramList.
getSize()) ;
2696 for (
int i=0 ; i<paramList.
getSize() ; i++) {
2697 errVec[i] =
sqrt(V(i,i)) ;
2698 for (
int j=i ; j<paramList.
getSize() ; j++) {
2699 C(i,j) = V(i,j)/
sqrt(V(i,i)*V(j,j)) ;
2706 for (
unsigned int j=0 ; j<plusVar.size() ; j++) {
2707 F[j] = (plusVar[j]-minusVar[j])/2 ;
2714 delete errorParams ;
2766 pc.stripCmdList(plotArgListTmp,
"VisualizeError,MoveToBack") ;
2773 if (std::string(
"Normalization")==cmd->
GetName()) {
2776 plotArgList.
Add(cmd) ;
2779 plotArgList.
Add(cmd) ;
2806 coutI(
Plotting) <<
"RooAbsReal::plotOn(" <<
GetName() <<
") INFO: visualizing " << Z <<
"-sigma uncertainties in parameters "
2807 << *errorParams <<
" from fit result " << fr.
GetName() <<
" using " <<
n <<
" samplings." << endl ;
2813 vector<RooCurve*> cvec ;
2814 for (
int i=0 ; i<
d->numEntries() ; i++) {
2815 *cloneParams = (*
d->get(i)) ;
2817 cloneFunc->
plotOn(frame,tmp2) ;
2818 cvec.push_back(frame->
getCurve()) ;
2831 for (vector<RooCurve*>::iterator i=cvec.begin() ; i!=cvec.end() ; ++i) {
2853 fpf_stripped.
add(*frv);
2866 vector<int> fpf_idx ;
2870 paramList.add(*par) ;
2871 fpf_idx.push_back(i) ;
2875 vector<RooCurve*> plusVar, minusVar ;
2884 for (
Int_t ivar=0 ; ivar<paramList.getSize() ; ivar++) {
2892 ((
RooRealVar*)paramList.at(ivar))->setVal(cenVal+Z*errVal) ;
2896 cloneFunc->
plotOn(frame,tmp2) ;
2897 plusVar.push_back(frame->
getCurve()) ;
2902 ((
RooRealVar*)paramList.at(ivar))->setVal(cenVal-Z*errVal) ;
2904 cloneFunc->
plotOn(frame,tmp3) ;
2905 minusVar.push_back(frame->
getCurve()) ;
2908 ((
RooRealVar*)paramList.at(ivar))->setVal(cenVal) ;
2912 vector<double> errVec(paramList.getSize()) ;
2913 for (
int i=0 ; i<paramList.getSize() ; i++) {
2914 errVec[i] =
sqrt(V(i,i)) ;
2915 for (
int j=i ; j<paramList.getSize() ; j++) {
2916 C(i,j) = V(i,j)/
sqrt(V(i,i)*V(j,j)) ;
2926 for (vector<RooCurve*>::iterator i=plusVar.begin() ; i!=plusVar.end() ; ++i) {
2929 for (vector<RooCurve*>::iterator i=minusVar.begin() ; i!=minusVar.end() ; ++i) {
2936 if (!band)
return frame ;
2939 pc.defineString(
"drawOption",
"DrawOption",0,
"F") ;
2940 pc.defineString(
"curveNameSuffix",
"CurveNameSuffix",0,
"") ;
2941 pc.defineInt(
"lineColor",
"LineColor",0,-999) ;
2942 pc.defineInt(
"lineStyle",
"LineStyle",0,-999) ;
2943 pc.defineInt(
"lineWidth",
"LineWidth",0,-999) ;
2944 pc.defineInt(
"fillColor",
"FillColor",0,-999) ;
2945 pc.defineInt(
"fillStyle",
"FillStyle",0,-999) ;
2946 pc.defineString(
"curveName",
"Name",0,
"") ;
2947 pc.defineInt(
"curveInvisible",
"Invisible",0,0) ;
2948 pc.defineInt(
"moveToBack",
"MoveToBack",0,0) ;
2949 pc.allowUndefined() ;
2952 pc.process(argList) ;
2958 frame->
addPlotable(band,
pc.getString(
"drawOption"),
pc.getInt(
"curveInvisible")) ;
2962 Int_t lineColor =
pc.getInt(
"lineColor") ;
2963 Int_t lineStyle =
pc.getInt(
"lineStyle") ;
2964 Int_t lineWidth =
pc.getInt(
"lineWidth") ;
2965 Int_t fillColor =
pc.getInt(
"fillColor") ;
2966 Int_t fillStyle =
pc.getInt(
"fillStyle") ;
2974 if (
pc.getString(
"curveName",0,
kTRUE)) {
2976 }
else if (
pc.getString(
"curveNameSuffix",0,
kTRUE)) {
2978 name.Append(
pc.getString(
"curveNameSuffix",0,
kTRUE)) ;
2983 if (
pc.getInt(
"moveToBack") && frame->
numItems()>1) {
3009 <<
":plotOn: frame does not specify a plot variable" << endl;
3044 <<
" allVars = " << (allVars?(*allVars):
RooArgSet()) << endl ;
3047 if (!allVars) return ;
3050 projectedVars.
add(*allVars) ;
3055 projectedVars.
remove(*found);
3065 <<
" from projection set because it a server of " << plotVar->
GetName() << endl ;
3066 projectedVars.
remove(*tmp) ;
3070 delete plotServers ;
3074 <<
") WARNING: cannot project out frame variable ("
3075 << found->
GetName() <<
"), ignoring" << endl ;
3087 <<
") function doesn't depend on projection variable "
3088 << arg->
GetName() <<
", ignoring" << endl ;
3127 if(binding && !binding->
isValid()) {
3151 }
else if (source->
getAttribute(
"INTEGER_TREE_BRANCH")) {
3157 }
else if (source->
getAttribute(
"SIGNEDBYTE_TREE_BRANCH")) {
3159 }
else if (source->
getAttribute(
"UNSIGNED_INTEGER_TREE_BRANCH")) {
3197 TBranch* branch = t.GetBranch(cleanName) ;
3208 <<
" is an array and cannot be attached to a RooAbsReal" << endl ;
3214 if (!typeName.CompareTo(
"Float_t")) {
3216 <<
" will be converted to double precision" << endl ;
3220 }
else if (!typeName.CompareTo(
"Int_t")) {
3222 <<
" will be converted to double precision" << endl ;
3225 t.SetBranchAddress(cleanName,&
_intValue) ;
3226 }
else if (!typeName.CompareTo(
"UChar_t")) {
3228 <<
" will be converted to double precision" << endl ;
3232 }
else if (!typeName.CompareTo(
"Bool_t")) {
3234 <<
" will be converted to double precision" << endl ;
3238 }
else if (!typeName.CompareTo(
"Char_t")) {
3240 <<
" will be converted to double precision" << endl ;
3244 }
else if (!typeName.CompareTo(
"UInt_t")) {
3246 <<
" will be converted to double precision" << endl ;
3250 }
else if (!typeName.CompareTo(
"Double_t")) {
3251 t.SetBranchAddress(cleanName,&
_value) ;
3253 coutE(
InputArguments) <<
"RooAbsReal::attachToTree(" <<
GetName() <<
") data type " << typeName <<
" is not supported" << endl ;
3265 TString format(cleanName);
3266 format.Append(
"/D");
3267 branch = t.Branch(cleanName, &
_value, (
const Text_t*)format, bufSize);
3425 const TList &nameList)
const
3434 matched.
add(*found);
3448 if(isMatched) matchedArgs.
add(matched);
3497 if (config)
return config ;
3510 if (config)
return config ;
3622 if (inLogEvalError) {
3625 inLogEvalError =
kTRUE ;
3630 if (serverValueString) {
3635 oocoutE((
TObject*)0,
Eval) <<
"RooAbsReal::logEvalError(" <<
"<STATIC>" <<
") evaluation error, " << endl
3636 <<
" origin : " << origName << endl
3637 <<
" message : " << ee.
_msg << endl
3638 <<
" server values: " << ee.
_srvval << endl ;
3645 inLogEvalError =
kFALSE ;
3677 if (inLogEvalError) {
3680 inLogEvalError =
kTRUE ;
3685 if (serverValueString) {
3705 ostringstream oss2 ;
3709 coutE(
Eval) <<
"RooAbsReal::logEvalError(" <<
GetName() <<
") evaluation error, " << endl
3710 <<
" origin : " << oss2.str() << endl
3711 <<
" message : " << ee.
_msg << endl
3712 <<
" server values: " << ee.
_srvval << endl ;
3721 <<
") delayed evaluation error, " << endl
3722 <<
" origin : " << oss2.str() << endl
3723 <<
" message : " << oee.
_msg << endl
3724 <<
" server values: " << oee.
_srvval << endl ;
3731 inLogEvalError =
kFALSE ;
3767 if (maxPerNode<0) return ;
3769 map<const RooAbsArg*,pair<string,list<EvalError> > >::iterator iter =
_evalErrorList.begin() ;
3772 if (maxPerNode==0) {
3775 os << iter->second.first ;
3777 os <<
" has " << iter->second.second.size() <<
" errors" << endl ;
3782 os << iter->second.first << endl ;
3786 std::list<EvalError>::iterator iter2 = iter->second.second.begin() ;
3787 for(;iter2!=iter->second.second.end() ; ++iter2, i++) {
3788 os <<
" " << iter2->_msg <<
" @ " << iter2->_srvval << endl ;
3790 os <<
" ... (remaining " << iter->second.second.size() - maxPerNode <<
" messages suppressed)" << endl ;
3810 map<const RooAbsArg*,pair<string,list<EvalError> > >::iterator iter =
_evalErrorList.begin() ;
3812 ntot += iter->second.second.size() ;
3887 orderedObs.
add(obs) ;
3945 pc.defineObject(
"supNormSet",
"SupNormSet",0,0) ;
3946 pc.defineInt(
"numScanBins",
"ScanParameters",0,1000) ;
3947 pc.defineInt(
"intOrder",
"ScanParameters",1,2) ;
3948 pc.defineInt(
"doScanNum",
"ScanNum",0,1) ;
3949 pc.defineInt(
"doScanAll",
"ScanAll",0,0) ;
3950 pc.defineInt(
"doScanNon",
"ScanNone",0,0) ;
3951 pc.defineMutex(
"ScanNum",
"ScanAll",
"ScanNone") ;
3954 pc.process(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
3965 Int_t numScanBins =
pc.getInt(
"numScanBins") ;
3966 Int_t intOrder =
pc.getInt(
"intOrder") ;
3967 Int_t doScanNum =
pc.getInt(
"doScanNum") ;
3968 Int_t doScanAll =
pc.getInt(
"doScanAll") ;
3969 Int_t doScanNon =
pc.getInt(
"doScanNon") ;
3984 coutI(
NumIntegration) <<
"RooAbsPdf::createRunningIntegral(" <<
GetName() <<
") integration over observable(s) " << iset <<
" involves numeric integration," << endl
3985 <<
" constructing cdf though numeric integration of sampled pdf in " << numScanBins <<
" bins and applying order "
3986 << intOrder <<
" interpolation on integrated histogram." << endl
3987 <<
" To override this choice of technique use argument ScanNone(), to change scan parameters use ScanParameters(nbins,order) argument" << endl ;
4005 ivar->
setBins(numScanBins,
"numcdf") ;
4049 cloneList.
add(*cloneArg) ;
4055 loList.
add(*cloneLo) ;
4088 coutE(
InputArguments) <<
"RooAbsReal::functor(" <<
GetName() <<
") ERROR: one or more specified observables are not variables of this p.d.f" << endl ;
4094 coutE(
InputArguments) <<
"RooAbsReal::functor(" <<
GetName() <<
") ERROR: one or more specified parameters are not variables of this p.d.f" << endl ;
4115 coutE(
InputArguments) <<
"RooAbsReal::functor(" <<
GetName() <<
") ERROR: one or more specified observables are not variables of this p.d.f" << endl ;
4121 coutE(
InputArguments) <<
"RooAbsReal::functor(" <<
GetName() <<
") ERROR: one or more specified parameters are not variables of this p.d.f" << endl ;
4129 for (
int i=0 ; i<obs.
getSize() ; i++) {
4135 for (
int i=0 ; i<pars.
getSize() ; i++) {
4169 <<
" observables specified, but a ROOT TFx can only have 1,2 or 3 observables" << endl ;
4174 for (
int i=0 ; i<pars.
getSize() ; i++) {
4204 return new RooDerivative(
name.c_str(),title.c_str(),*
this,obs,normSet,order,eps) ;
4219 string title=
Form(
"%sMoment of order %d of %s w.r.t %s ",(central?
"Central ":
""),order,
GetName(),obs.
GetName()) ;
4221 if (order==2)
return new RooSecondMoment(
name.c_str(),title.c_str(),*
this,obs,central,takeRoot) ;
4222 return new RooMoment(
name.c_str(),title.c_str(),*
this,obs,order,central,takeRoot) ;
4238 string title=
Form(
"%sMoment of order %d of %s w.r.t %s ",(central?
"Central ":
""),order,
GetName(),obs.
GetName()) ;
4240 if (order==1)
return new RooFirstMoment(
name.c_str(),title.c_str(),*
this,obs,normObs,intNormObs) ;
4241 if (order==2)
return new RooSecondMoment(
name.c_str(),title.c_str(),*
this,obs,normObs,central,takeRoot,intNormObs) ;
4242 return new RooMoment(
name.c_str(),title.c_str(),*
this,obs,normObs,order,central,takeRoot,intNormObs) ;
4342 RooLinkedList chi2CmdList =
pc.filterCmdList(fitCmdList,
"Range,RangeWithName,NumCPU,Optimize") ;
4375 return new RooChi2Var(
name.c_str(),
name.c_str(),*
this,
data,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
4400 return createChi2(
data,*cmds[0],*cmds[1],*cmds[2],*cmds[3],*cmds[4],*cmds[5],*cmds[6],*cmds[7]) ;
4466 RooLinkedList chi2CmdList =
pc.filterCmdList(fitCmdList,
"YVar,Integrate") ;
4515 pc.defineInt(
"integrate",
"Integrate",0,0) ;
4516 pc.defineObject(
"yvar",
"YVar",0,0) ;
4519 pc.process(cmdList) ;
4525 Bool_t integrate =
pc.getInt(
"integrate") ;
4550 pc.defineString(
"fitOpt",
"FitOptions",0,
"") ;
4552 pc.defineInt(
"optConst",
"Optimize",0,1) ;
4553 pc.defineInt(
"verbose",
"Verbose",0,0) ;
4554 pc.defineInt(
"doSave",
"Save",0,0) ;
4555 pc.defineInt(
"doTimer",
"Timer",0,0) ;
4556 pc.defineInt(
"plevel",
"PrintLevel",0,1) ;
4557 pc.defineInt(
"strat",
"Strategy",0,1) ;
4558 pc.defineInt(
"initHesse",
"InitialHesse",0,0) ;
4559 pc.defineInt(
"hesse",
"Hesse",0,1) ;
4560 pc.defineInt(
"minos",
"Minos",0,0) ;
4561 pc.defineInt(
"ext",
"Extended",0,2) ;
4562 pc.defineInt(
"numee",
"PrintEvalErrors",0,10) ;
4563 pc.defineInt(
"doWarn",
"Warnings",0,1) ;
4564 pc.defineString(
"mintype",
"Minimizer",0,
"Minuit") ;
4565 pc.defineString(
"minalg",
"Minimizer",1,
"minuit") ;
4566 pc.defineObject(
"minosSet",
"Minos",0,0) ;
4568 pc.defineMutex(
"FitOptions",
"Verbose") ;
4569 pc.defineMutex(
"FitOptions",
"Save") ;
4570 pc.defineMutex(
"FitOptions",
"Timer") ;
4571 pc.defineMutex(
"FitOptions",
"Strategy") ;
4572 pc.defineMutex(
"FitOptions",
"InitialHesse") ;
4573 pc.defineMutex(
"FitOptions",
"Hesse") ;
4574 pc.defineMutex(
"FitOptions",
"Minos") ;
4577 pc.process(cmdList) ;
4583 const char* fitOpt =
pc.getString(
"fitOpt",0,
kTRUE) ;
4584#ifdef __ROOFIT_NOROOMINIMIZER
4585 const char* minType =0 ;
4587 const char* minType =
pc.getString(
"mintype",
"Minuit") ;
4588 const char* minAlg =
pc.getString(
"minalg",
"minuit") ;
4590 Int_t optConst =
pc.getInt(
"optConst") ;
4591 Int_t verbose =
pc.getInt(
"verbose") ;
4592 Int_t doSave =
pc.getInt(
"doSave") ;
4593 Int_t doTimer =
pc.getInt(
"doTimer") ;
4594 Int_t plevel =
pc.getInt(
"plevel") ;
4595 Int_t strat =
pc.getInt(
"strat") ;
4596 Int_t initHesse=
pc.getInt(
"initHesse") ;
4597 Int_t hesse =
pc.getInt(
"hesse") ;
4598 Int_t minos =
pc.getInt(
"minos") ;
4599 Int_t numee =
pc.getInt(
"numee") ;
4600 Int_t doWarn =
pc.getInt(
"doWarn") ;
4605#ifdef __ROOFIT_NOROOMINIMIZER
4608 if (
"OldMinuit" ==
string(minType)) {
4617 m.setPrintEvalErrors(numee) ;
4619 m.setPrintLevel(plevel) ;
4624 m.optimizeConst(optConst);
4630 ret =
m.fit(fitOpt) ;
4645 m.setStrategy(strat) ;
4664 m.minos(*minosSet) ;
4673 string title =
Form(
"Result of fit of %s ",
GetName()) ;
4674 ret =
m.save(
name.c_str(),title.c_str()) ;
4679#ifndef __ROOFIT_NOROOMINIMIZER
4682 m.setMinimizerType(minType);
4688 m.setPrintEvalErrors(numee) ;
4690 m.setPrintLevel(plevel) ;
4695 m.optimizeConst(optConst);
4701 ret =
m.fit(fitOpt) ;
4716 m.setStrategy(strat) ;
4725 m.minimize(minType, minAlg) ;
4735 m.minos(*minosSet) ;
4744 string title =
Form(
"Result of fit of %s ",
GetName()) ;
4745 ret =
m.save(
name.c_str(),title.c_str()) ;
4787 while((arg=iter.
next())) {
4790 <<
") function does not depend on listed parameter " << arg->
GetName() <<
", ignoring" << endl ;
4793 if (plist.size()>0) plist +=
":" ;
static RooMathCoreReg dummy
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
virtual Bool_t checkObservables(const RooArgSet *nset) const
Overloadable function in which derived classes can implement consistency checks of the variables.
virtual RooAbsArg * cloneTree(const char *newname=0) const
Clone tree expression of objects.
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
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.
void setStringAttribute(const Text_t *key, const Text_t *value)
Associate string 'value' to this object under key 'key'.
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.
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Implement multi-line detailed printing.
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
virtual Bool_t isFundamental() const
const Text_t * getStringAttribute(const Text_t *key) const
Get string attribute mapped under key 'key'.
void treeNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t doBranch=kTRUE, Bool_t doLeaf=kTRUE, Bool_t valueOnly=kFALSE, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with nodes of the arg tree, following all server links, starting with ourself as t...
RooArgSet * getParameters(const RooAbsData *data, Bool_t stripDisconnected=kTRUE) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
void setAttribute(const Text_t *name, Bool_t value=kTRUE)
Set (default) or clear a named boolean attribute of this object.
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE)
Change cache operation mode to given mode.
Bool_t addOwnedComponents(const RooArgSet &comps)
Take ownership of the contents of 'comps'.
TString cleanBranchName() const
Construct a mangled name from the actual name that is free of any math symbols that might be interpre...
Int_t numProxies() const
Return the number of registered proxies.
void setShapeDirty() const
Bool_t getAttribute(const Text_t *name) const
Check if a named attribute is set. By default, all attributes are unset.
friend class RooCustomizer
Bool_t dependsOnValue(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0) const
RooAbsProxy * getProxy(Int_t index) const
Return the nth proxy from the proxy list.
Bool_t isValueDirtyAndClear() const
RooArgSet * getComponents() const
void branchNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with all branch nodes of the arg tree starting with ourself as top node.
void setValueDirty() const
Bool_t recursiveRedirectServers(const RooAbsCollection &newServerList, Bool_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t recurseInNewSet=kTRUE)
void attachDataSet(const RooAbsData &set)
Replace server nodes with names matching the dataset variable names with those data set variables,...
void SetName(const char *name)
Set the name of the TNamed.
OperMode operMode() const
RooAbsBinning is the abstract base class for RooRealVar binning definitions This class defines the in...
virtual Bool_t isParameterized() const
virtual RooAbsReal * highBoundFunc() const
virtual RooAbsReal * lowBoundFunc() const
void setInterpolationOrder(Int_t order)
Set interpolation order of RooHistFunct representing cache histogram.
RooAbsCategoryLValue is the common abstract base class for objects that represent a discrete value th...
virtual Bool_t setIndex(Int_t index, Bool_t printError=kTRUE)=0
virtual Int_t getIndex() const
Return index number of current state.
Bool_t isSignType(Bool_t mustHaveZero=kFALSE) const
Determine if category has 2 or 3 states with index values -1,0,1.
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
RooAbsCollection * selectCommon(const RooAbsCollection &refColl) const
Create a subset of the current collection, consisting only of those elements that are contained as we...
virtual Bool_t replace(const RooAbsArg &var1, const RooAbsArg &var2)
Replace var1 with var2 and return kTRUE for success.
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
RooFIter fwdIterator() const
void sort(Bool_t ascend=kTRUE)
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
RooAbsArg * first() const
RooAbsCollection * selectByName(const char *nameList, Bool_t verbose=kFALSE) const
Create a subset of the current collection, consisting only of those elements with names matching the ...
Bool_t overlaps(const RooAbsCollection &otherColl) const
Check if this and other collection have common entries.
std::string contentsString() const
Return comma separated list of contained object names as STL string.
virtual Bool_t remove(const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
Remove the specified argument from our list.
TIterator * createIterator(Bool_t dir=kIterForward) const
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooAbsData is the common abstract base class for binned and unbinned datasets.
virtual const RooArgSet * get() const
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.
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
Abstract base class for objects that are lvalues, i.e.
RooAbsMoment represents the first, second, or third order derivative of any RooAbsReal as calculated ...
void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlsoTrackingOpt=kTRUE)
Driver function to propagate constant term optimizations in test statistic.
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
const char * normRange() const
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return expected number of events from this p.d.f for use in extended likelihood calculations.
virtual ExtendMode extendMode() const
RooAbsProxy is the abstact interface for proxy classes.
virtual void print(std::ostream &os, Bool_t addContents=kFALSE) const
Print proxy name.
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
virtual Double_t getMax(const char *name=0) const
virtual const RooAbsBinning & getBinning(const char *name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) const =0
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 Double_t getMin(const char *name=0) const
void setServerValues(const char *tmp)
void setMessage(const char *tmp)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
void plotOnCompSelect(RooArgSet *selNodes) const
Helper function for plotting of composite p.d.fs.
RooGenFunction * iGenFunction(RooRealVar &x, const RooArgSet &nset=RooArgSet())
virtual RooPlot * plotSliceOn(RooPlot *frame, const RooArgSet &sliceSet, Option_t *drawOptions="L", Double_t scaleFactor=1.0, ScaleType stype=Relative, const RooAbsData *projData=0) const
virtual Bool_t readFromStream(std::istream &is, Bool_t compact, Bool_t verbose=kFALSE)
Read object contents from stream (dummy for now)
virtual Bool_t isIdentical(const RooAbsArg &other, Bool_t assumeSameType=kFALSE)
TH1 * fillHistogram(TH1 *hist, const RooArgList &plotVars, Double_t scaleFactor=1, const RooArgSet *projectedVars=0, Bool_t scaling=kTRUE, const RooArgSet *condObs=0, Bool_t setError=kTRUE) const
Fill the ROOT histogram 'hist' with values sampled from this function at the bin centers.
virtual void selectNormalizationRange(const char *rangeName=0, Bool_t force=kFALSE)
Interface function to force use of a given normalization range to interpret function value.
TString getTitle(Bool_t appendUnit=kFALSE) const
Return this variable's title string.
static Int_t numEvalErrorItems()
static void setHideOffset(Bool_t flag)
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
virtual Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=0) const
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
friend class RooRealBinding
RooAbsReal * createScanRI(const RooArgSet &iset, const RooArgSet &nset, Int_t numScanBins, Int_t intOrder)
Utility function for createRunningIntegral that construct an object implementing the numeric scanning...
UChar_t _byteValue
Transient cache for bool values from tree branches.
Bool_t isSelectedComp() const
If true, the current pdf is a selected component (for use in plotting)
virtual RooAbsReal * createChi2(RooDataHist &data, const RooLinkedList &cmdList)
Create a variable from a histogram and this function.
RooDerivative * derivative(RooRealVar &obs, Int_t order=1, Double_t eps=0.001)
Return function representing first, second or third order derivative of this function.
virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) const
Interface function to check if given value is a valid value for this object.
static Bool_t _cacheCheck
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg(), 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(), const RooCmdArg &arg9=RooCmdArg(), const RooCmdArg &arg10=RooCmdArg()) const
Plot (project) PDF on specified frame.
void setParameterizeIntegral(const RooArgSet ¶mVars)
static Bool_t hideOffset()
virtual Double_t evaluate() const =0
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
virtual void setTreeBranchStatus(TTree &t, Bool_t active)
(De)Activate associated tree branch
virtual RooAbsReal * createProfile(const RooArgSet ¶msOfInterest)
Create a RooProfileLL object that eliminates all nuisance parameters in the present function.
TString integralNameSuffix(const RooArgSet &iset, const RooArgSet *nset=0, const char *rangeName=0, Bool_t omitEmpty=kFALSE) const
Construct string with unique suffix name to give to integral object that encodes integrated observabl...
virtual Double_t getValV(const RooArgSet *set=0) const
Return value of object.
Double_t traceEval(const RooArgSet *set) const
Calculate current value of object, with error tracing wrapper.
Int_t _intValue
Transient cache for floating point values from tree branches.
Double_t getPropagatedError(const RooFitResult &fr, const RooArgSet &nset=RooArgSet())
Calculate error on self by propagated errors on parameters with correlations as given by fit result T...
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache.
virtual void fixAddCoefRange(const char *rangeName=0, Bool_t force=kTRUE)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
TH1 * createHistogram(const char *varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const
Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function for the variables w...
static EvalErrorIter evalErrorIter()
Double_t findRoot(RooRealVar &x, Double_t xmin, Double_t xmax, Double_t yval)
Return value of x (in range xmin,xmax) at which function equals yval.
RooAbsReal * createIntRI(const RooArgSet &iset, const RooArgSet &nset=RooArgSet())
Utility function for createRunningIntegral that construct an object implementing the standard (analyt...
TF1 * asTF(const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
Return a ROOT TF1,2,3 object bound to this RooAbsReal with given definition of observables and parame...
virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
virtual void attachToVStore(RooVectorDataStore &vstore)
static RooNumIntConfig * defaultIntegratorConfig()
Returns the default numeric integration configuration for all RooAbsReals.
RooFitResult * chi2FitDriver(RooAbsReal &fcn, RooLinkedList &cmdList)
Internal driver function for chi2 fits.
virtual std::list< Double_t > * binBoundaries(RooAbsRealLValue &, Double_t, Double_t) const
virtual void attachToTree(TTree &t, Int_t bufSize=32000)
Attach object to a branch of given TTree.
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooNumIntConfig * _specIntegratorConfig
virtual RooPlot * plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const
static ErrorLoggingMode evalErrorLoggingMode()
Return current evaluation error logging mode.
void setIntegratorConfig()
Remove the specialized numeric integration configuration associated with this object.
static void setCacheCheck(Bool_t flag)
Activate cache validation mode.
virtual void selectNormalization(const RooArgSet *depSet=0, Bool_t force=kFALSE)
Interface function to force use of a given set of observables to interpret function value.
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Structure printing.
friend class RooRealIntegral
RooAbsMoment * moment(RooRealVar &obs, Int_t order, Bool_t central, Bool_t takeRoot)
Return function representing moment of function of given order.
static ErrorLoggingMode _evalErrorMode
static Int_t _evalErrorCount
virtual Bool_t isValid() const
Check if current value is valid.
static void globalSelectComp(Bool_t flag)
Global switch controlling the activation of the selectComp() functionality.
RooAbsArg * createFundamental(const char *newname=0) const
Create a RooRealVar fundamental object with our properties.
Double_t getVal(const RooArgSet *set=0) const
Evaluate object. Returns either cached value or triggers a recalculation.
std::map< constRooAbsArg *, std::pair< std::string, std::list< EvalError > > >::const_iterator EvalErrorIter
virtual Double_t maxVal(Int_t code) const
Return maximum value for set of observables identified by code assigned in getMaxVal.
static Bool_t _globalSelectComp
Component selection flag for RooAbsPdf::plotCompOn.
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, 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 an object that represents the integral of the function over one or more observables listed in ...
RooNumIntConfig * specialIntegratorConfig() const
Returns the specialized integrator configuration for this RooAbsReal.
RooAbsReal * createIntObj(const RooArgSet &iset, const RooArgSet *nset, const RooNumIntConfig *cfg, const char *rangeName) const
Utility function for createIntegral that creates the actual integreal object.
static std::map< const RooAbsArg *, std::pair< std::string, std::list< EvalError > > > _evalErrorList
Bool_t plotSanityChecks(RooPlot *frame) const
Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operatio...
Char_t _sbyteValue
Transient cache for byte values from tree branches.
const char * getPlotLabel() const
Get the label associated with the variable.
virtual RooFitResult * chi2FitTo(RooDataHist &data, 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())
Perform a fit to given histogram.
virtual void fillTreeBranch(TTree &t)
Fill the tree branch that associated with this object with its current value.
Bool_t operator==(Double_t value) const
Equality operator comparing to a Double_t.
RooAbsFunc * bindVars(const RooArgSet &vars, const RooArgSet *nset=0, Bool_t clipInvalid=kFALSE) const
Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order).
static Int_t numEvalErrors()
Return the number of logged evaluation errors since the last clearing.
static void setEvalErrorLoggingMode(ErrorLoggingMode m)
Set evaluation error logging mode.
Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const
Check if allArgs contains matching elements for each name in nameList.
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
virtual void preferredObservableScanOrder(const RooArgSet &obs, RooArgSet &orderedObs) const
Interface method for function objects to indicate their prefferred order of observables for scanning ...
void findInnerMostIntegration(const RooArgSet &allObs, RooArgSet &innerObs, const char *rangeName) const
Utility function for createIntObj() that aids in the construct of recursive integrals over functions ...
static Bool_t _hideOffset
const Text_t * getUnit() const
virtual void printValue(std::ostream &os) const
Print object value.
const RooNumIntConfig * getIntegratorConfig() const
Return the numeric integration configuration used for this object.
Bool_t _boolValue
Transient cache for integer values from tree branches.
RooPlot * plotOnWithErrorBand(RooPlot *frame, const RooFitResult &fr, Double_t Z, const RooArgSet *params, const RooLinkedList &argList, Bool_t method1) const
Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given ...
static void printEvalErrors(std::ostream &os=std::cout, Int_t maxPerNode=10000000)
Print all outstanding logged evaluation error on the given ostream.
virtual void fixAddCoefNormalization(const RooArgSet &addNormSet=RooArgSet(), Bool_t force=kTRUE)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
void logEvalError(const char *message, const char *serverValueString=0) const
Log evaluation error message.
static void clearEvalErrorLog()
Clear the stack of evaluation error messages.
RooFunctor * functor(const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
Return a RooFunctor object bound to this RooAbsReal with given definition of observables and paramete...
UInt_t _uintValue
Transient cache for signed byte values from tree branches.
void makeProjectionSet(const RooAbsArg *plotVar, const RooArgSet *allVars, RooArgSet &projectedVars, Bool_t silent) const
Utility function for plotOn() that constructs the set of observables to project when plotting ourselv...
void setPlotLabel(const char *label)
Set the label associated with this variable.
virtual ~RooAbsReal()
Destructor.
virtual Int_t getMaxVal(const RooArgSet &vars) const
Advertise capability to determine maximum value of function for given set of observables.
virtual void writeToStream(std::ostream &os, Bool_t compact) const
Write object contents to stream (dummy for now)
const RooAbsReal * createPlotProjection(const RooArgSet &depVars, const RooArgSet &projVars) const
Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a Roo...
RooDataHist * fillDataHist(RooDataHist *hist, const RooArgSet *nset, Double_t scaleFactor, Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) const
Fill a RooDataHist with values sampled from this function at the bin centers.
virtual Double_t offset() const
RooAbsReal * createRunningIntegral(const RooArgSet &iset, const RooArgSet &nset=RooArgSet())
Calls createRunningIntegral(const RooArgSet&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&,...
RooAddition calculates the sum of a set of RooAbsReal terms, or when constructed with two sets,...
RooAbsArg * at(Int_t idx) const
RooArgProxy is the abstact interface for RooAbsArg proxy classes.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t addOwned(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling addOwned() for each element in the source...
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
virtual void addClone(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling addOwned() for each element in the source...
Class RooBinning is an implements RooAbsBinning in terms of an array of boundary values,...
Implement the abstract 1-dimensional root finding interface using the Brent-Decker method.
virtual Bool_t findRoot(Double_t &result, Double_t xlo, Double_t xhi, Double_t value=0) const
Do the root finding using the Brent-Decker method.
RooCachedReal is an implementation of RooAbsCachedReal that can cache any external RooAbsReal input f...
void setCacheSource(Bool_t flag)
RooCategory represents a fundamental (non-derived) discrete value object.
virtual Bool_t setLabel(const char *label, Bool_t printError=kTRUE)
Set value by specifying the name of the desired state If printError is set, a message will be printed...
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
static const RooCmdArg & none()
Return reference to null argument.
const char * getString(Int_t idx) const
void setString(Int_t idx, const char *value)
virtual TObject * Clone(const char *newName=0) const
Make a clone of an object using the Streamer facility.
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
A RooCurve is a one-dimensional graphical representation of a real-valued function.
RooCurve * makeErrorBand(const std::vector< RooCurve * > &variations, Double_t Z=1) const
Construct filled RooCurve represented error band that captures alpha% of the variations of the curves...
void setCloneBranchSet(RooArgSet &cloneBranchSet)
Install the input RooArgSet as container in which all cloned branches will be stored.
void replaceArg(const RooAbsArg &orig, const RooAbsArg &subst)
Replace any occurence of arg 'orig' with arg 'subst'.
void setOwning(Bool_t flag)
RooAbsArg * build(const char *masterCatState, Bool_t verbose=kFALSE)
Build a clone of the prototype executing all registered 'replace' rules and 'split' rules for the mas...
RooDataSet is a container class to hold N-dimensional binned data.
void set(Double_t weight, Double_t wgtErr=-1)
Increment the weight of the bin enclosing the coordinates given by 'row' by the specified amount.
virtual Int_t numEntries() const
Return the number of bins.
virtual const RooArgSet * get() const
Double_t binVolume() const
RooDataSet is a container class to hold unbinned data.
Class RooDataWeightedAverage calculate a weighted average of a function or p.d.f given a dataset with...
RooDerivative represents the first, second, or third order derivative of any RooAbsReal as calculated...
RooFirstMoment represents the first, second, or third order derivative of any RooAbsReal as calculate...
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
const TMatrixDSym & covarianceMatrix() const
Return covariance matrix.
TMatrixDSym reducedCovarianceMatrix(const RooArgList ¶ms) const
Return a reduced covariance matrix (Note that Vred is a simple sub-matrix of V, row/columns are order...
const RooArgList & floatParsFinal() const
RooAbsPdf * createHessePdf(const RooArgSet ¶ms) const
Return a p.d.f that represents the fit result as a multi-variate probability densisty function on the...
Lightweight interface adaptor that exports a RooAbsPdf as a functor.
Lightweight interface adaptor that exports a RooAbsReal as a ROOT::Math::IGenFunction.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
TIterator * MakeIterator(Bool_t dir=kTRUE) const
Return an iterator over this list.
RooFIter fwdIterator() const
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual void Add(TObject *arg)
RooMinimizer is a wrapper class around ROOT::Fit:Fitter that provides a seamless interface between th...
RooMinuit is a wrapper class around TFitter/TMinuit that provides a seamless interface between the MI...
RooMoment represents the first, second, or third order derivative of any RooAbsReal as calculated (nu...
Lightweight interface adaptor that exports a RooAbsReal as a ROOT::Math::IMultiGenFunction.
RooNameSet is a utility class that stores the names the objects in a RooArget.
RooArgSet * select(const RooArgSet &list) const
Construct a RooArgSet of objects in input 'list' whose names match to those in the internal name list...
void setNameList(const char *givenList)
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
static RooNumIntConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
Class RooNumRunningInt is an implementation of RooAbsCachedReal that represents a running integral.
Class RooParamBinning is an implementation of RooAbsBinning that constructs a binning with a range de...
A RooPlot is a plot frame and a container for graphics objects within that frame.
Bool_t drawBefore(const char *before, const char *target)
Change the order in which our contained objects are drawn so that the target object is drawn just bef...
Double_t GetMinimum(Double_t minval=-FLT_MAX) const
const RooArgSet * getNormVars() const
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...
virtual void SetMinimum(Double_t minimum=-1111)
Set minimum value of Y axis.
TObject * getObject(Int_t idx) const
Return the name of the object at slot 'idx' in this RooPlot.
RooAbsRealLValue * getPlotVar() const
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...
Double_t GetMaximum(Double_t maxval=FLT_MAX) 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 void SetMaximum(Double_t maximum=-1111)
Set maximum value of Y axis.
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.
RooCurve * getCurve(const char *name=0) const
Return a RooCurve pointer of the named object in this plot, or zero if the named object does not exis...
void remove(const char *name=0, Bool_t deleteToo=kTRUE)
Remove object with given name, or last object added if no name is given.
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
Class RooProfileLL implements the profile likelihood estimator for a given likelihood and set of para...
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects.
const RooArgSet & numIntRealVars() const
RooRealVar represents a fundamental (non-derived) real valued object.
void setBins(Int_t nBins, const char *name=0)
void setRange(const char *name, Double_t min, Double_t max)
Set range named 'name to [min,max].
void removeRange(const char *name=0)
Double_t getError() const
void setBinning(const RooAbsBinning &binning, const char *name=0)
Add given binning under name 'name' with this variable.
virtual TObject * clone(const char *newname) const
virtual void setVal(Double_t value)
Set value of variable to 'value'.
Lightweight RooAbsFunction implementation that applies a constant scale factor to another RooAbsFunc.
RooSecondMoment represents the first, second, or third order derivative of any RooAbsReal as calculat...
void setBuffer(RooAbsReal *real, Double_t *newBuf)
RooVectorDataStore is the abstract base class for data collection that use a TTree as internal storag...
RealVector * addReal(RooAbsReal *real)
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Class to manage histogram axis.
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
A TTree is a list of TBranches.
Int_t GetCompressionLevel() const
TObjArray * GetListOfLeaves()
void SetCompressionLevel(Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
Set compression level.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
virtual void SetParName(Int_t ipar, const char *name)
Set name of parameter number ipar.
virtual void SetParameter(Int_t param, Double_t value)
A 2-Dim function with parameters.
A 3-Dim function with parameters.
virtual void SetName(const char *name="")
Set graph name.
virtual Int_t GetNbinsY() const
virtual Int_t GetNbinsZ() const
virtual Int_t GetDimension() const
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
virtual Int_t GetNbinsX() const
virtual void SetBinError(Int_t bin, Double_t error)
Set the bin Error Note that this resets the bin eror option to be of Normal Type and for the non-empt...
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
Iterator abstract base class.
virtual TObject * Next()=0
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
virtual const char * GetTypeName() const
virtual TLeaf * GetLeafCounter(Int_t &countval) const
Return a pointer to the counter of this leaf (if any) or store the number of elements that the leaf c...
virtual void Add(TObject *obj)
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const
Return a list iterator.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const
Collectable string class.
const TString & GetString() const
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
RooCmdArg Binning(const RooAbsBinning &binning)
RooCmdArg NormRange(const char *rangeNameList)
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
RooCmdArg ZVar(const RooAbsRealLValue &var, const RooCmdArg &arg=RooCmdArg::none())
RooCmdArg SupNormSet(const RooArgSet &nset)
static constexpr double second
static constexpr double pc
static constexpr double ps
Double_t Erfc(Double_t x)
Compute the complementary error function erfc(x).
@ kUseGlobal
Use the global compression setting for this process; may be affected by rootrc.
Bool_t postRangeFracScale
const char * normRangeName
RooFit::MPSplit interleave
const char * projectionRangeName
const RooArgSet * projDataSet
const char * curveNameSuffix
const char * addToCurveName
const RooArgSet * projSet
const RooAbsData * projData
static long int sum(long int i)