library: libRooFit
#include "RooRealSumPdf.h"

RooRealSumPdf


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

class RooRealSumPdf : public RooAbsPdf

Inheritance Chart:
TObject
<-
TNamed
RooPrintable
<-
RooAbsArg
<-
RooAbsReal
<-
RooAbsPdf
<-
RooRealSumPdf

    protected:
void syncFuncIntList(const RooArgSet* intSet) const void syncFuncNormList(const RooArgSet* normSet) const public:
RooRealSumPdf(const char* name, const char* title) RooRealSumPdf(const char* name, const char* title, RooAbsReal& func1, RooAbsReal& func2, RooAbsReal& coef1) RooRealSumPdf(const char* name, const char* title, const RooArgList& funcList, const RooArgList& coefList) RooRealSumPdf(const RooRealSumPdf& other, const char* name = "0") virtual ~RooRealSumPdf() virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName = "0") const virtual Bool_t checkObservables(const RooArgSet* nset) const static TClass* Class() virtual TObject* clone(const char* newname) const const RooArgList& coefList() const virtual Double_t evaluate() const virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const const RooArgList& funcList() const virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName = "0") const virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
RooAICRegistry _codeReg Registry of component analytical integration codes RooArgSet* _lastFuncIntSet RooArgSet* _lastFuncNormSet RooArgList* _funcIntList ! RooArgList* _funcNormList ! Bool_t _haveLastCoef RooListProxy _funcList List of component FUNCs RooListProxy _coefList List of coefficients TIterator* _funcIter ! Iterator over FUNC list TIterator* _coefIter ! Iterator over coefficient list

Class Description

RooRealSumPdf(const char *name, const char *title)
 Dummy constructor
RooRealSumPdf(const char *name, const char *title, RooAbsReal& func1, RooAbsReal& func2, RooAbsReal& coef1)
 Special constructor with two functions and one coefficient
RooRealSumPdf(const char *name, const char *title, const RooArgList& funcList, const RooArgList& coefList)
 Constructor from list of functions and list of coefficients.
 Each func list element (i) is paired with coefficient list element (i).
 The number of coefficients must be one less than to the number of functions,

 All functions and coefficients must inherit from RooAbsReal.
RooRealSumPdf(const RooRealSumPdf& other, const char* name)
 Copy constructor
~RooRealSumPdf()
 Destructor
Double_t evaluate()
 Calculate the current value
Bool_t checkObservables(const RooArgSet* nset)
 Check if FUNC is valid for given normalization set.
 Coeffient and FUNC must be non-overlapping, but func-coefficient
 pairs may overlap each other

 For the moment, coefficients may not be dependents or derive
 from dependents
Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, const RooArgSet* normSet2, const char* /*rangeName*/)
{
 Handle trivial no-integration scenario
if (allVars.getSize()==0) return 0 ;
if (_forceNumInt) return 0 ;

 Select subset of allVars that are actual dependents
RooArgSet* allDeps = getObservables(allVars) ;
RooArgSet* normSet = normSet2 ? getObservables(normSet2) : 0 ;

_funcIter->Reset() ;
_coefIter->Reset() ;

   cout << "allDeps = " << allDeps << " " ; allDeps->Print("1") ;
   cout << "normSet = " ; if (normSet) normSet->Print("1") ; else cout << "<none>" << endl ;
void syncFuncIntList(const RooArgSet* intSet)
void syncFuncNormList(const RooArgSet* normSet)
TObject* clone(const char* newname)
Bool_t forceAnalyticalInt(const RooAbsArg&)
Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0)
const RooArgList& funcList()
const RooArgList& coefList()

Last update: Tue Jul 11 11:46:14 2006
Copyright (c) 2000-2005, Regents of the University of California *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.