library: libRooFit
#include "RooAddPdf.h"

RooAddPdf


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

class RooAddPdf : public RooAbsPdf

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

    protected:
virtual RooAbsGenContext* genContext(const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t verbose = kFALSE) const virtual void operModeHook() virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) virtual void selectNormalization(const RooArgSet* depSet = 0, Bool_t force = kFALSE) virtual void selectNormalizationRange(const char* rangeName = "0", Bool_t force = kFALSE) void syncCoefProjList(const RooArgSet* nset, const RooArgSet* iset = 0, const char* rangeName = "0") const void syncSuppNormList(const RooArgSet* nset, const char* rangeName) const void updateCoefCache(const RooArgSet* nset, const RooArgSet* snset, const char* rangeName) const public:
RooAddPdf(const char* name, const char* title) RooAddPdf(const char* name, const char* title, RooAbsPdf& pdf1, RooAbsPdf& pdf2, RooAbsReal& coef1) RooAddPdf(const char* name, const char* title, const RooArgList& pdfList) RooAddPdf(const char* name, const char* title, const RooArgList& pdfList, const RooArgList& coefList) RooAddPdf(const RooAddPdf& other, const char* name = "0") virtual ~RooAddPdf() 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 Double_t expectedEvents(const RooArgSet* nset) const virtual Double_t expectedEvents(const RooArgSet& nset) const virtual RooAbsPdf::ExtendMode extendMode() const void fixCoefNormalization(const RooArgSet& refCoefNorm) void fixCoefRange(const char* rangeName) virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName = "0") const virtual TClass* IsA() const const RooArgList& pdfList() const virtual void resetErrorCounters(Int_t resetValue = 10) virtual Bool_t selfNormalized() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
RooSetProxy _refCoefNorm TNamed* _refCoefRangeName Bool_t _projectCoefs RooNormListManager _projListMgr RooArgList* _pdfProjList RooNormListManager _suppListMgr RooArgSet* _lastSupNormSet Double_t* _coefCache RooAICRegistry _codeReg Registry of component analytical integration codes RooListProxy _pdfList List of component PDFs RooListProxy _coefList List of coefficients RooArgList* _snormList List of supplemental normalization factors TIterator* _pdfIter ! Iterator over PDF list TIterator* _coefIter ! Iterator over coefficient list Bool_t _haveLastCoef Flag indicating if last PDFs coefficient was supplied in the ctor Bool_t _allExtendable Flag indicating if all PDF components are extendable Int_t _coefErrCount ! Coefficient error counter

Class Description

RooAddPdf(const char *name, const char *title)
 Dummy constructor
RooAddPdf(const char *name, const char *title, RooAbsPdf& pdf1, RooAbsPdf& pdf2, RooAbsReal& coef1)
 Special constructor with two PDFs and one coefficient (most frequent use case)
RooAddPdf(const char *name, const char *title, const RooArgList& pdfList, const RooArgList& coefList)
 Generic constructor from list of PDFs and list of coefficients.
 Each pdf list element (i) is paired with coefficient list element (i).
 The number of coefficients must be either equal to the number of PDFs,
 in which case extended MLL fitting is enabled, or be one less.

 All PDFs must inherit from RooAbsPdf. All coefficients must inherit from RooAbsReal
RooAddPdf(const char *name, const char *title, const RooArgList& pdfList)
 Generic constructor from list of extended PDFs. There are no coefficients as the expected
 number of events from each components determine the relative weight of the PDFs.

 All PDFs must inherit from RooAbsPdf.
RooAddPdf(const RooAddPdf& other, const char* name)
 Copy constructor
~RooAddPdf()
 Destructor
void fixCoefNormalization(const RooArgSet& refCoefNorm)
void fixCoefRange(const char* rangeName)
void syncCoefProjList(const RooArgSet* nset, const RooArgSet* iset, const char* rangeName)
    cout << "syncCoefProjList called rangeName = " << (rangeName?rangeName:"<null>") << endl ;
void updateCoefCache(const RooArgSet* nset, const RooArgSet* snset, const char* rangeName)
   cout << "RAP::updateCC rangeName = " << (rangeName?rangeName:"<null>") << endl ;
Double_t evaluate()
 Calculate the current value
void resetErrorCounters(Int_t resetValue)
 Reset error counter to given value, limiting the number
 of future error messages for this pdf to 'resetValue'
Bool_t checkObservables(const RooArgSet* nset)
 Check if PDF is valid for given normalization set.
 Coeffient and PDF must be non-overlapping, but pdf-coefficient
 pairs may overlap each other
Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, const RooArgSet* normSet, const char* rangeName)
 Determine which part (if any) of given integral can be performed analytically.
 If any analytical integration is possible, return integration scenario code

 RooAddPdf queries each component PDF for its analytical integration capability of the requested
 set ('allVars'). It finds the largest common set of variables that can be integrated
 by all components. If such a set exists, it reconfirms that each component is capable of
 analytically integrating the common set, and combines the components individual integration
 codes into a single integration code valid for RooAddPdf.
Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName)
 Return analytical integral defined by given scenario code
Double_t expectedEvents(const RooArgSet* nset)
 Return the number of expected events, which is either the sum of all coefficients
 or the sum of the components extended terms
void selectNormalization(const RooArgSet* depSet, Bool_t force)
 Ignore automatic adjustments if an explicit reference normalization has been selected
void selectNormalizationRange(const char* rangeName, Bool_t force)
 Ignore automatic adjustments if an explicit reference range has been selected
RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype, const RooArgSet* auxProto, Bool_t verbose)
void operModeHook()
TObject* clone(const char* newname)
Bool_t selfNormalized()
ExtendMode extendMode()
Double_t expectedEvents(const RooArgSet* nset)
const RooArgList& pdfList()
const RooArgList& coefList()
void syncSuppNormList(const RooArgSet* nset, const char* rangeName)
Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive)

Last update: Tue Jul 11 11:45: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.