![]() |
![]()
|
RooResolutionModelclass description - source file - inheritance tree (.pdf) class RooResolutionModel : public RooAbsPdf
This is an abstract class, constructors will not be documented. Look at the header to check for available constructors.
protected:
Data Members
protected:
Class DescriptionRooResolutionModel is the base class of for PDFs that represent a resolution model that can be convoluted with physics a physics model of the form Phys(x,a,b) = Sum_k coef_k(a) * basis_k(x,b) where basis_k are a limited number of functions in terms of the variable to be convoluted and coef_k are coefficients independent of the convolution variable. Classes derived from RooResolutionModel implement _ _ _ _ R_k(x,b,c) = Int(dx') basis_k(x',b) * resModel(x-x',c) which RooAbsAnaConvPdf uses to construct the pdf for [ Phys (x) R ] : _ _ _ _ _ _ PDF(x,a,b,c) = Sum_k coef_k(a) * R_k(x,b,c) A minimal implementation of a RooResolutionModel consists of a Int_t basisCode(const char* name) function indication which basis functions this resolution model supports, and Double_t evaluate() Implementing the resolution model, optionally convoluted with one of the supported basis functions. RooResolutionModel objects can be used as regular PDFs (They inherit from RooAbsPdf), or as resolution model convoluted with a basis function. The implementation of evaluate() can identify the requested from of use from the basisCode() function. If zero, the regular PDF value should be calculated. If non-zero, the models value convoluted with the basis function identified by the code should be calculated. Optionally, analytical integrals can be advertised and implemented, in the same way as done for regular PDFS (see RooAbsPdf for further details). Also in getAnalyticalIntegral()/analyticalIntegral() the implementation should use basisCode() to determine for which scenario the integral is requested. The choice of basis returned by basisCode() is guaranteed not to change of the lifetime of a RooResolutionModel object. ~RooResolutionModel() Destructor RooResolutionModel* convolution(RooFormulaVar* basis, RooAbsArg* owner) const Instantiate a clone of this resolution model representing a convolution with given basis function. The owners object name is incorporated in the clones name to avoid multiple convolution objects with the same name in complex PDF structures. void changeBasis(RooFormulaVar* basis) Change the basis function we convolute with. For one-time use by convolution() only. const RooRealVar& basisConvVar() const Return the convolution variable of the selection basis function. This is, by definition, the first parameter of the basis function RooRealVar& convVar() const Return the convolution variable of the resolution model Double_t getVal(const RooArgSet* nset) const Modified version of RooAbsPdf::getVal(). If used as regular PDF, call RooAbsPdf::getVal(), otherwise return unnormalized value regardless of specified normalization set Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t /*isRecursive*/) Forward redirectServers call to our basis function, which is not connected to either resolution model or the physics model. Bool_t traceEvalHook(Double_t value) const Floating point error checking and tracing for given float value void normLeafServerList(RooArgSet& list) const Return the list of servers used by our normalization integral Double_t getNorm(const RooArgSet* nset) const Return the integral of this PDF over all elements of 'nset'. void printToStream(ostream& os, PrintOption opt, TString indent) const Print info about this object to the specified stream. In addition to the info from RooAbsArg::printToStream() we add: Shape : value, units, plot range Verbose : default binning and print label Bool_t syncNormalizationPreHook(RooAbsReal*,const RooArgSet*) const Inline Functions
TObject* clone(const char* newname) const
Bool_t isBasisSupported(const char* name) const
Int_t basisCode(const char* name) const
const RooFormulaVar& basis() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
|
|
Page maintained by Wouter Verkerke and David Kirkby |
|


Docs