library: libRooFit #include "RooRealIntegral.h"

# RooRealIntegral

class description - source file - inheritance tree (.pdf)

## class RooRealIntegral : public RooAbsReal

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`RooPrintable`
| <- | `RooAbsArg`
| <- | `RooAbsReal`
| <- | `RooRealIntegral` |

        protected:

                      void autoSelectDirtyMode()
          virtual Double_t evaluate() const
                    Bool_t initNumIntegrator() const
          virtual Double_t integrate() const
            virtual Bool_t isValidReal(Double_t value, Bool_t printError = kFALSE) const
          virtual Double_t jacobianProduct() const
                      void prepareACleanFunc() const
            virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive)
                      void restoreACleanFunc() const
                    Bool_t servesExclusively(const RooAbsArg* server, const RooArgSet& exclLVBranches) const
          virtual Double_t sum() const

        public:

                           RooRealIntegral()
                           RooRealIntegral(const char* name, const char* title, const RooAbsReal& function, const RooArgSet& depList, const RooArgSet* funcNormSet = 0, const RooNumIntConfig* config = 0, const char* rangeName = "0")
                           RooRealIntegral(const RooRealIntegral& other, const char* name = "0")
                   virtual ~RooRealIntegral()
            static TClass* Class()
          virtual TObject* clone(const char* newname) const
           virtual TClass* IsA() const
            virtual Bool_t isValid() const
              virtual void printToStream(ostream& stream, RooPrintable::PrintOption opt = Standard, TString indent = ) const
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

                             Bool_t _valid
                        RooSetProxy _sumList
                        RooSetProxy _intList
                        RooSetProxy _anaList
                        RooSetProxy _jacList
                        RooSetProxy _facList
                          RooArgSet _facListOwned
                         TIterator* _facListIter           ! do not persist
                         TIterator* _jacListIter           ! do not persist
                       RooRealProxy _function              must after set proxies
                         RooArgSet* _funcNormSet
                   RooNumIntConfig* _iconfig
                          RooArgSet _funcBranchList
                          RooArgSet _funcACleanBranchList
                         TIterator* _funcACleanBranchIter  !
                              Int_t _mode
          RooRealIntegral::OperMode _operMode
                             Bool_t _restartNumIntEngine   ! do not persist
                  RooAbsIntegrator* _numIntEngine          ! do not persist
                        RooAbsFunc* _numIntegrand          ! do not persist
                            TNamed* _rangeName

        public:

          static const RooRealIntegral::OperMode Hybrid
          static const RooRealIntegral::OperMode Analytic
          static const RooRealIntegral::OperMode PassThrough

## Class Description

void autoSelectDirtyMode()

     If any of our servers are is forcedDirty or a projectedDependent, then we need to be ADirty

Bool_t servesExclusively(const RooAbsArg* server,const RooArgSet& exclLVBranches) const

     Determine if given server serves exclusively exactly one of the given nodes in exclLVBranches

Bool_t initNumIntegrator() const

     (Re)Initialize numerical integration engine if necessary. Return kTRUE if
     successful, or otherwise kFALSE.

RooRealIntegral(const RooRealIntegral& other, const char* name) : RooAbsReal(other,name), _valid(other._valid), _sumList("sumList",this,other._sumList), _intList("intList",this,other._intList), _anaList("anaList",this,other._anaList), _jacList("jacList",this,other._jacList), _facList("facList","Variables independent of function",this,kFALSE,kTRUE), _facListIter(_facList.createIterator()), _jacListIter(_jacList.createIterator()), _function("function",this,other._function), _iconfig(other._iconfig), _funcACleanBranchIter(_funcACleanBranchList.createIterator()), _mode(other._mode), _operMode(other._operMode), _restartNumIntEngine(kFALSE), _numIntEngine(0), _numIntegrand(0), _rangeName(other._rangeName)

     Copy constructor

~RooRealIntegral() // Destructor

Double_t evaluate() const

void prepareACleanFunc() const

     Make function branch list, if not cached

void restoreACleanFunc() const

     Restore formerly AClean branches to their AClean state

Double_t jacobianProduct() const

     Return product of jacobian terms originating from analytical integration

Double_t sum() const

     Perform summation of list of category dependents to be integrated

Double_t integrate() const

     Perform hybrid numerical/analytical integration over all real-valued dependents

Bool_t redirectServersHook(const RooAbsCollection& /*newServerList*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive*/)

Bool_t isValidReal(Double_t /*value*/, Bool_t /*printError*/) const

     Check if current value is valid

void printToStream(ostream& os, PrintOption opt, TString indent) const

     Print the state of this object to the specified output stream.

### Inline Functions

            RooRealIntegral RooRealIntegral(const char* name, const char* title, const RooAbsReal& function, const RooArgSet& depList, const RooArgSet* funcNormSet = 0, const RooNumIntConfig* config = 0, const char* rangeName = "0")
            RooRealIntegral RooRealIntegral(const RooRealIntegral& other, const char* name = "0")
                   TObject* clone(const char* newname) const
                     Bool_t isValid() const
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)

Last update: Tue Jun 28 18:14:47 2005
Copyright (c) 2000-2005, Regents of the University of California *