33 class RooAbsCategoryLValue ;
 
   36 class RooNumIntConfig ;
 
   39 class RooGenFunction ;
 
   40 class RooMultiGenFunction ;
 
   44 class RooVectorDataStore ;
 
   45 namespace RooHelpers {
 
   46 class BatchInterfaceAccessor;
 
   59 class RooAbsReal : 
public RooAbsArg {
 
   63   RooAbsReal(
const char *name, 
const char *title, 
const char *unit= 
"") ;
 
   64   RooAbsReal(
const char *name, 
const char *title, Double_t minVal, Double_t maxVal, 
 
   65         const char *unit= 
"") ;
 
   66   RooAbsReal(
const RooAbsReal& other, 
const char* name=0);
 
   67   RooAbsReal& operator=(
const RooAbsReal& other);
 
   68   virtual ~RooAbsReal();
 
   87   inline Double_t getVal(
const RooArgSet* normalisationSet = 
nullptr)
 const {
 
   88 #ifdef ROOFIT_CHECK_CACHED_VALUES 
   89     return _DEBUG_getVal(normalisationSet);
 
   93     return (_fast && !_inhibitDirty) ? _value : getValV(normalisationSet) ;
 
   95     return (_fast && !inhibitDirty()) ? _value : getValV(normalisationSet) ;
 
  102   inline  Double_t getVal(
const RooArgSet& normalisationSet)
 const { 
return _fast ? _value : getValV(&normalisationSet) ; }
 
  104   virtual Double_t getValV(
const RooArgSet* normalisationSet = 
nullptr) 
const ;
 
  106   virtual RooSpan<const double> getValBatch(std::size_t begin, std::size_t maxSize, 
const RooArgSet* normSet = 
nullptr) 
const;
 
  108   Double_t getPropagatedError(
const RooFitResult &fr, 
const RooArgSet &nset = RooArgSet()) 
const;
 
  110   Bool_t operator==(Double_t value) 
const ;
 
  111   virtual Bool_t operator==(
const RooAbsArg& other) ;
 
  112   virtual Bool_t isIdentical(
const RooAbsArg& other, Bool_t assumeSameType=kFALSE)  ;
 
  115   inline const Text_t *getUnit()
 const { 
 
  119   inline void setUnit(
const char *unit) { 
 
  123   TString getTitle(Bool_t appendUnit= kFALSE) 
const;
 
  126   RooAbsFunc *bindVars(
const RooArgSet &vars, 
const RooArgSet* nset=0, Bool_t clipInvalid=kFALSE) 
const;
 
  129   RooAbsArg *createFundamental(
const char* newname=0) 
const;
 
  132   virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, 
const RooArgSet* normSet, 
const char* rangeName=0) 
const ;
 
  133   virtual Double_t analyticalIntegralWN(Int_t code, 
const RooArgSet* normSet, 
const char* rangeName=0) 
const ;
 
  134   virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, 
const char* rangeName=0) 
const ;
 
  135   virtual Double_t analyticalIntegral(Int_t code, 
const char* rangeName=0) 
const ;
 
  136   virtual Bool_t forceAnalyticalInt(
const RooAbsArg& )
 const { 
 
  141   virtual void forceNumInt(Bool_t flag=kTRUE) { 
 
  144     _forceNumInt = flag ; 
 
  146   Bool_t getForceNumInt()
 const { 
return _forceNumInt ; }
 
  149   virtual RooFitResult* chi2FitTo(RooDataHist& data, 
const RooCmdArg& arg1=RooCmdArg::none(),  
const RooCmdArg& arg2=RooCmdArg::none(),  
 
  150                               const RooCmdArg& arg3=RooCmdArg::none(),  
const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),  
 
  151                               const RooCmdArg& arg6=RooCmdArg::none(),  
const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  152   virtual RooFitResult* chi2FitTo(RooDataHist& data, 
const RooLinkedList& cmdList) ;
 
  154   virtual RooAbsReal* createChi2(RooDataHist& data, 
const RooLinkedList& cmdList) ;
 
  155   virtual RooAbsReal* createChi2(RooDataHist& data, 
const RooCmdArg& arg1=RooCmdArg::none(),  
const RooCmdArg& arg2=RooCmdArg::none(),  
 
  156              const RooCmdArg& arg3=RooCmdArg::none(),  
const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),  
 
  157              const RooCmdArg& arg6=RooCmdArg::none(),  
const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  160   virtual RooFitResult* chi2FitTo(RooDataSet& xydata, 
const RooCmdArg& arg1=RooCmdArg::none(),  
const RooCmdArg& arg2=RooCmdArg::none(),  
 
  161                               const RooCmdArg& arg3=RooCmdArg::none(),  
const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),  
 
  162                               const RooCmdArg& arg6=RooCmdArg::none(),  
const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  163   virtual RooFitResult* chi2FitTo(RooDataSet& xydata, 
const RooLinkedList& cmdList) ;
 
  165   virtual RooAbsReal* createChi2(RooDataSet& data, 
const RooLinkedList& cmdList) ;
 
  166   virtual RooAbsReal* createChi2(RooDataSet& data, 
const RooCmdArg& arg1=RooCmdArg::none(),  
const RooCmdArg& arg2=RooCmdArg::none(),  
 
  167                const RooCmdArg& arg3=RooCmdArg::none(),  
const RooCmdArg& arg4=RooCmdArg::none(), 
const RooCmdArg& arg5=RooCmdArg::none(),  
 
  168                const RooCmdArg& arg6=RooCmdArg::none(),  
const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  171   virtual RooAbsReal* createProfile(
const RooArgSet& paramsOfInterest) ;
 
  174   RooAbsReal* createIntegral(
const RooArgSet& iset, 
const RooCmdArg& arg1, 
const RooCmdArg& arg2=RooCmdArg::none(),
 
  175                              const RooCmdArg& arg3=RooCmdArg::none(), 
const RooCmdArg& arg4=RooCmdArg::none(), 
 
  176               const RooCmdArg& arg5=RooCmdArg::none(), 
const RooCmdArg& arg6=RooCmdArg::none(), 
 
  177               const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) 
const ;
 
  180   RooAbsReal* createIntegral(
const RooArgSet& iset, 
const char* rangeName)
 const { 
 
  181     return createIntegral(iset,0,0,rangeName) ; 
 
  184   RooAbsReal* createIntegral(
const RooArgSet& iset, 
const RooArgSet& nset, 
const char* rangeName=0)
 const { 
 
  185     return createIntegral(iset,&nset,0,rangeName) ; 
 
  189   RooAbsReal* createIntegral(
const RooArgSet& iset, 
const RooArgSet& nset, 
const RooNumIntConfig& cfg, 
const char* rangeName=0)
 const {
 
  190     return createIntegral(iset,&nset,&cfg,rangeName) ; 
 
  193   RooAbsReal* createIntegral(
const RooArgSet& iset, 
const RooNumIntConfig& cfg, 
const char* rangeName=0)
 const { 
 
  194     return createIntegral(iset,0,&cfg,rangeName) ; 
 
  196   virtual RooAbsReal* createIntegral(
const RooArgSet& iset, 
const RooArgSet* nset=0, 
const RooNumIntConfig* cfg=0, 
const char* rangeName=0) 
const ;  
 
  199   void setParameterizeIntegral(
const RooArgSet& paramVars) ;
 
  202   RooAbsReal* createRunningIntegral(
const RooArgSet& iset, 
const RooArgSet& nset=RooArgSet()) ;
 
  203   RooAbsReal* createRunningIntegral(
const RooArgSet& iset, 
const RooCmdArg& arg1, 
const RooCmdArg& arg2=RooCmdArg::none(),
 
  204          const RooCmdArg& arg3=RooCmdArg::none(), 
const RooCmdArg& arg4=RooCmdArg::none(), 
 
  205          const RooCmdArg& arg5=RooCmdArg::none(), 
const RooCmdArg& arg6=RooCmdArg::none(), 
 
  206          const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) ;
 
  207   RooAbsReal* createIntRI(
const RooArgSet& iset, 
const RooArgSet& nset=RooArgSet()) ;
 
  208   RooAbsReal* createScanRI(
const RooArgSet& iset, 
const RooArgSet& nset, Int_t numScanBins, Int_t intOrder) ;
 
  212   virtual Int_t getMaxVal(
const RooArgSet& vars) 
const ;
 
  213   virtual Double_t maxVal(Int_t code) 
const ;
 
  214   virtual Int_t minTrialSamples(
const RooArgSet& )
 const { 
return 0 ; }
 
  218   void setPlotLabel(
const char *label);
 
  219   const char *getPlotLabel() 
const;
 
  221   virtual Double_t defaultErrorLevel()
 const { 
 
  226   const RooNumIntConfig* getIntegratorConfig() 
const ;
 
  227   RooNumIntConfig* getIntegratorConfig() ;
 
  228   static RooNumIntConfig* defaultIntegratorConfig()  ;
 
  229   RooNumIntConfig* specialIntegratorConfig() 
const ;
 
  230   RooNumIntConfig* specialIntegratorConfig(Bool_t createOnTheFly) ;
 
  231   void setIntegratorConfig() ;
 
  232   void setIntegratorConfig(
const RooNumIntConfig& config) ;
 
  234   virtual void fixAddCoefNormalization(
const RooArgSet& addNormSet=RooArgSet(),Bool_t force=kTRUE) ;
 
  235   virtual void fixAddCoefRange(
const char* rangeName=0,Bool_t force=kTRUE) ;
 
  237   virtual void preferredObservableScanOrder(
const RooArgSet& obs, RooArgSet& orderedObs) 
const ;
 
  240   virtual RooPlot* plotOn(RooPlot* frame, 
 
  241            const RooCmdArg& arg1=RooCmdArg(), 
const RooCmdArg& arg2=RooCmdArg(),
 
  242            const RooCmdArg& arg3=RooCmdArg(), 
const RooCmdArg& arg4=RooCmdArg(),
 
  243            const RooCmdArg& arg5=RooCmdArg(), 
const RooCmdArg& arg6=RooCmdArg(),
 
  244            const RooCmdArg& arg7=RooCmdArg(), 
const RooCmdArg& arg8=RooCmdArg(),
 
  245            const RooCmdArg& arg9=RooCmdArg(), 
const RooCmdArg& arg10=RooCmdArg()
 
  249   enum ScaleType { Raw, Relative, NumEvent, RelativeExpected } ;
 
  252   virtual RooPlot *plotSliceOn(RooPlot *frame, 
const RooArgSet& sliceSet, Option_t* drawOptions=
"L", 
 
  253                 Double_t scaleFactor=1.0, ScaleType stype=Relative, 
const RooAbsData* projData=0) 
const;
 
  256   TH1 *fillHistogram(TH1 *hist, 
const RooArgList &plotVars,
 
  257            Double_t scaleFactor= 1, 
const RooArgSet *projectedVars= 0, Bool_t scaling=kTRUE,
 
  258            const RooArgSet* condObs=0, Bool_t setError=kTRUE) 
const;
 
  261   TH1 *createHistogram(
const char* varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) 
const ;
 
  262   TH1* createHistogram(
const char *name, 
const RooAbsRealLValue& xvar, RooLinkedList& argList) 
const ;
 
  263   TH1 *createHistogram(
const char *name, 
const RooAbsRealLValue& xvar,
 
  264                        const RooCmdArg& arg1=RooCmdArg::none(), 
const RooCmdArg& arg2=RooCmdArg::none(), 
 
  265                        const RooCmdArg& arg3=RooCmdArg::none(), 
const RooCmdArg& arg4=RooCmdArg::none(), 
 
  266                        const RooCmdArg& arg5=RooCmdArg::none(), 
const RooCmdArg& arg6=RooCmdArg::none(), 
 
  267                        const RooCmdArg& arg7=RooCmdArg::none(), 
const RooCmdArg& arg8=RooCmdArg::none()) 
const ;
 
  270   RooDataHist* fillDataHist(RooDataHist *hist, 
const RooArgSet* nset, Double_t scaleFactor,
 
  271              Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) 
const ;
 
  274   virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
 
  275   virtual void writeToStream(std::ostream& os, Bool_t compact) 
const ;
 
  278   virtual void printValue(std::ostream& os) 
const ;
 
  279   virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent=
"") 
const ;
 
  281   static void setCacheCheck(Bool_t flag) ;
 
  287     EvalError(
const EvalError& other) : _msg(other._msg), _srvval(other._srvval) { }
 
  288     void setMessage(
const char* tmp) { std::string s(tmp); s.swap(_msg); }
 
  289     void setServerValues(
const char* tmp) { std::string s(tmp); s.swap(_srvval); }
 
  294   enum ErrorLoggingMode { PrintErrors, CollectErrors, CountErrors, Ignore } ;
 
  295   static ErrorLoggingMode evalErrorLoggingMode() ;
 
  296   static void setEvalErrorLoggingMode(ErrorLoggingMode m) ;
 
  297   void logEvalError(
const char* message, 
const char* serverValueString=0) 
const ;
 
  298   static void logEvalError(
const RooAbsReal* originator, 
const char* origName, 
const char* message, 
const char* serverValueString=0) ;
 
  299   static void printEvalErrors(std::ostream&os=std::cout, Int_t maxPerNode=10000000) ;
 
  300   static Int_t numEvalErrors() ;
 
  301   static Int_t numEvalErrorItems() ;
 
  304   typedef std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalError> > >::const_iterator EvalErrorIter ; 
 
  305   static EvalErrorIter evalErrorIter() ;
 
  307   static void clearEvalErrorLog() ;
 
  309   virtual Bool_t isBinnedDistribution(
const RooArgSet& )
 const { 
return kFALSE ; }
 
  310   virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& , Double_t , Double_t )
 const { 
return 0 ; }
 
  311   virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& , Double_t , Double_t )
 const { 
 
  317   RooGenFunction* iGenFunction(RooRealVar& x, 
const RooArgSet& nset=RooArgSet()) ;
 
  318   RooMultiGenFunction* iGenFunction(
const RooArgSet& observables, 
const RooArgSet& nset=RooArgSet()) ;
 
  320   RooFunctor* functor(
const RooArgList& obs, 
const RooArgList& pars=RooArgList(), 
const RooArgSet& nset=RooArgSet()) 
const ;
 
  321   TF1* asTF(
const RooArgList& obs, 
const RooArgList& pars=RooArgList(), 
const RooArgSet& nset=RooArgSet()) 
const ;
 
  323   RooDerivative* derivative(RooRealVar& obs, Int_t order=1, Double_t eps=0.001) ;
 
  324   RooDerivative* derivative(RooRealVar& obs, 
const RooArgSet& normSet, Int_t order, Double_t eps=0.001) ; 
 
  326   RooAbsMoment* moment(RooRealVar& obs, Int_t order, Bool_t central, Bool_t takeRoot) ;
 
  327   RooAbsMoment* moment(RooRealVar& obs, 
const RooArgSet& normObs, Int_t order, Bool_t central, Bool_t takeRoot, Bool_t intNormObs) ;
 
  329   RooAbsMoment* mean(RooRealVar& obs) { 
return moment(obs,1,kFALSE,kFALSE) ; }
 
  330   RooAbsMoment* mean(RooRealVar& obs, 
const RooArgSet& nset) { 
return moment(obs,nset,1,kFALSE,kFALSE,kTRUE) ; }
 
  331   RooAbsMoment* sigma(RooRealVar& obs) { 
return moment(obs,2,kTRUE,kTRUE) ; }
 
  332   RooAbsMoment* sigma(RooRealVar& obs, 
const RooArgSet& nset) { 
return moment(obs,nset,2,kTRUE,kTRUE,kTRUE) ; }
 
  334   Double_t findRoot(RooRealVar& x, Double_t xmin, Double_t xmax, Double_t yval) ;
 
  337   virtual Bool_t setData(RooAbsData& , Bool_t =kTRUE) { 
return kTRUE ; }
 
  339   virtual void enableOffsetting(Bool_t) {} ;
 
  340   virtual Bool_t isOffsetting()
 const { 
return kFALSE ; }
 
  341   virtual Double_t offset()
 const { 
return 0 ; }
 
  343   static void setHideOffset(Bool_t flag);
 
  344   static Bool_t hideOffset() ;
 
  348   virtual void selectNormalization(
const RooArgSet* depSet=0, Bool_t force=kFALSE) ;
 
  349   virtual void selectNormalizationRange(
const char* rangeName=0, Bool_t force=kFALSE) ;
 
  352   Bool_t plotSanityChecks(RooPlot* frame) 
const ;
 
  353   void makeProjectionSet(
const RooAbsArg* plotVar, 
const RooArgSet* allVars, 
 
  354           RooArgSet& projectedVars, Bool_t silent) 
const ;
 
  356   TString integralNameSuffix(
const RooArgSet& iset, 
const RooArgSet* nset=0, 
const char* rangeName=0, Bool_t omitEmpty=kFALSE) 
const ;
 
  359   Bool_t isSelectedComp() 
const ;
 
  363   const RooAbsReal* createPlotProjection(
const RooArgSet& depVars, 
const RooArgSet& projVars) 
const ;
 
  364   const RooAbsReal* createPlotProjection(
const RooArgSet& depVars, 
const RooArgSet& projVars, RooArgSet*& cloneSet) 
const ;
 
  365   const RooAbsReal *createPlotProjection(
const RooArgSet &dependentVars, 
const RooArgSet *projectedVars,
 
  366                      RooArgSet *&cloneSet, 
const char* rangeName=0, 
const RooArgSet* condObs=0) 
const;
 
  369   RooFitResult* chi2FitDriver(RooAbsReal& fcn, RooLinkedList& cmdList) ;
 
  371   void plotOnCompSelect(RooArgSet* selNodes) 
const ;
 
  372   RooPlot* plotOnWithErrorBand(RooPlot* frame,
const RooFitResult& fr, Double_t Z, 
const RooArgSet* params, 
const RooLinkedList& argList, Bool_t method1) 
const ;
 
  377   Bool_t matchArgs(
const RooArgSet& allDeps, RooArgSet& numDeps, 
 
  378          const RooArgProxy& a) 
const ;
 
  379   Bool_t matchArgs(
const RooArgSet& allDeps, RooArgSet& numDeps, 
 
  380          const RooArgProxy& a, 
const RooArgProxy& b) 
const ;
 
  381   Bool_t matchArgs(
const RooArgSet& allDeps, RooArgSet& numDeps, 
 
  382          const RooArgProxy& a, 
const RooArgProxy& b, 
const RooArgProxy& c) 
const ;
 
  383   Bool_t matchArgs(
const RooArgSet& allDeps, RooArgSet& numDeps, 
 
  384          const RooArgProxy& a, 
const RooArgProxy& b,        
 
  385          const RooArgProxy& c, 
const RooArgProxy& d) 
const ;
 
  387   Bool_t matchArgs(
const RooArgSet& allDeps, RooArgSet& numDeps, 
 
  388          const RooArgSet& set) 
const ;
 
  391   RooAbsReal* createIntObj(
const RooArgSet& iset, 
const RooArgSet* nset, 
const RooNumIntConfig* cfg, 
const char* rangeName) 
const ;
 
  392   void findInnerMostIntegration(
const RooArgSet& allObs, RooArgSet& innerObs, 
const char* rangeName) 
const ;
 
  396   virtual Bool_t isValid() 
const ;
 
  397   virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) 
const ;
 
  400   Double_t traceEval(
const RooArgSet* set) 
const ;
 
  403   virtual Double_t evaluate() 
const = 0;
 
  404   virtual RooSpan<double> evaluateBatch(std::size_t begin, std::size_t maxSize) 
const;
 
  408   friend class RooHelpers::BatchInterfaceAccessor;
 
  409   void clearBatchMemory() {
 
  411     for (
auto arg : _serverList) {
 
  413       auto absReal = 
dynamic_cast<RooAbsReal*
>(arg);
 
  415         absReal->clearBatchMemory();
 
  420   void checkBatchComputation(std::size_t evtNo, 
const RooArgSet* normSet = 
nullptr, 
double relAccuracy = 1.E-13) 
const;
 
  422   const BatchHelpers::BatchData& batchData()
 const {
 
  427   Double_t _DEBUG_getVal(
const RooArgSet* normalisationSet) 
const;
 
  433   friend class RooRealIntegral ;
 
  434   friend class RooVectorDataStore ;
 
  435   virtual void syncCache(
const RooArgSet* set=0) { getVal(set) ; }
 
  436   virtual void copyCache(
const RooAbsArg* source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE) ;
 
  437   virtual void attachToTree(TTree& t, Int_t bufSize=32000) ;
 
  438   virtual void attachToVStore(RooVectorDataStore& vstore) ;
 
  439   virtual void setTreeBranchStatus(TTree& t, Bool_t active) ;
 
  440   virtual void fillTreeBranch(TTree& t) ;
 
  442   friend class RooRealBinding ;
 
  446   mutable Double_t _value ; 
 
  447   mutable BatchHelpers::BatchData _batchData; 
 
  450   Bool_t   _forceNumInt ;   
 
  452   mutable Float_t _floatValue{0.}; 
 
  453   mutable Int_t   _intValue{0};    
 
  454   mutable Bool_t  _boolValue{
false}; 
 
  455   mutable UChar_t _byteValue{
'\0'};  
 
  456   mutable Char_t  _sbyteValue{
'\0'}; 
 
  457   mutable UInt_t  _uintValue{0u};  
 
  459   friend class RooAbsPdf ;
 
  460   friend class RooAbsAnaConvPdf ;
 
  462   RooNumIntConfig* _specIntegratorConfig ; 
 
  466   friend class RooDataProjBinding ;
 
  467   friend class RooAbsOptGoodnessOfFit ;
 
  470    PlotOpt() : drawOptions(
"L"), scaleFactor(1.0), stype(Relative), projData(0), binProjData(kFALSE), projSet(0), precision(1e-3), 
 
  471                shiftToZero(kFALSE),projDataSet(0),normRangeName(0),rangeLo(0),rangeHi(0),postRangeFracScale(kFALSE),wmode(RooCurve::Extended),
 
  472                projectionRangeName(0),curveInvisible(kFALSE), curveName(0),addToCurveName(0),addToWgtSelf(1.),addToWgtOther(1.),
 
  473                numCPU(1),interleave(RooFit::Interleave),curveNameSuffix(
""), numee(10), eeval(0), doeeval(kFALSE), progress(kFALSE), errorFR(0) {} ;
 
  474    Option_t* drawOptions ;
 
  475    Double_t scaleFactor ;   
 
  477    const RooAbsData* projData ;
 
  479    const RooArgSet* projSet ;
 
  482    const RooArgSet* projDataSet ;
 
  483    const char* normRangeName ;
 
  486    Bool_t postRangeFracScale ;
 
  487    RooCurve::WingMode wmode ;
 
  488    const char* projectionRangeName ;
 
  489    Bool_t curveInvisible ;
 
  490    const char* curveName ;
 
  491    const char* addToCurveName ;
 
  492    Double_t addToWgtSelf ;
 
  493    Double_t addToWgtOther ;
 
  495    RooFit::MPSplit interleave ;
 
  496    const char* curveNameSuffix ; 
 
  501    const RooFitResult* errorFR ;
 
  505   virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) 
const;
 
  509   virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) 
const ;
 
  512   virtual RooPlot *plotAsymOn(RooPlot *frame, 
const RooAbsCategoryLValue& asymCat, PlotOpt o) 
const;
 
  517   static ErrorLoggingMode _evalErrorMode ;
 
  518   static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalError> > > _evalErrorList ;
 
  519   static Int_t _evalErrorCount ;
 
  521   Bool_t matchArgsByName(
const RooArgSet &allArgs, RooArgSet &matchedArgs, 
const TList &nameList) 
const;
 
  526   friend class RooRealSumPdf ;
 
  527   friend class RooRealSumFunc;
 
  528   friend class RooAddPdf ;
 
  529   friend class RooAddModel ;
 
  530   void selectComp(Bool_t flag) { 
 
  534   static void globalSelectComp(Bool_t flag) ;
 
  536   static Bool_t _globalSelectComp ;  
 
  539   struct GlobalSelectComponentRAII {
 
  540       GlobalSelectComponentRAII(
bool state) :
 
  541       _oldState{_globalSelectComp} {
 
  542         if (state != RooAbsReal::_globalSelectComp)
 
  543           RooAbsReal::_globalSelectComp = state;
 
  546       ~GlobalSelectComponentRAII() {
 
  547         if (RooAbsReal::_globalSelectComp != _oldState)
 
  548           RooAbsReal::_globalSelectComp = _oldState;
 
  555   mutable RooArgSet* _lastNSet ; 
 
  556   static Bool_t _hideOffset ; 
 
  558   ClassDef(RooAbsReal,2)