Docs | All | Real | Category | PDF | DataSet | Plot | Container | Misc | Aux | User

RooFit Toolkit for Data Modeling
#include "RooRealIntegral.hh"

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

 RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects
 The class performs none of the actual integration, but only manages the logic
 of what variables can be integrated analytically, accounts for eventual jacobian
 terms and defines what numerical integrations needs to be done to complement the
 analytical integral.

 The actual analytical integrations (if any) are done in the PDF themselves, the numerical
 integration is performed in the various implemenations of the RooAbsIntegrator base class.

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 CVS Update: v 1.84 2005/06/23 15:08:56 wverkerke Top
Copyright © 2000-2005 University of California, Stanford University

Page maintained by Wouter Verkerke and David Kirkby

SourceForge.net Logo