Logo ROOT  
Reference Guide
RooLognormal.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Project: RooFit *
3 * @(#)root/roofit:$Id$ *
4 * *
5 * RooFit Lognormal PDF *
6 * *
7 * Author: Gregory Schott and Stefan Schmitz *
8 * *
9 *****************************************************************************/
10
11#ifndef ROO_LOGNORMAL
12#define ROO_LOGNORMAL
13
14#include "RooAbsPdf.h"
15#include "RooRealProxy.h"
16
17class RooRealVar;
18
19class RooLognormal : public RooAbsPdf {
20public:
22 RooLognormal(const char *name, const char *title,
23 RooAbsReal& _x, RooAbsReal& _m0, RooAbsReal& _k);
24 RooLognormal(const RooLognormal& other, const char* name=0) ;
25 virtual TObject* clone(const char* newname) const { return new RooLognormal(*this,newname); }
26 inline virtual ~RooLognormal() { }
27
28 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
29 Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
30
31 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
32 void generateEvent(Int_t code);
33
34protected:
35
39
40 Double_t evaluate() const ;
41 RooSpan<double> evaluateBatch(std::size_t begin, std::size_t batchSize) const;
42
43private:
44
45 ClassDef(RooLognormal,1) // log-normal PDF
46};
47
48#endif
double Double_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:89
#define ClassDef(name, id)
Definition: Rtypes.h:322
char name[80]
Definition: TGX11.cxx:109
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:60
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooFit Lognormal PDF.
Definition: RooLognormal.h:19
virtual ~RooLognormal()
Definition: RooLognormal.h:26
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
RooRealProxy k
Definition: RooLognormal.h:38
Double_t evaluate() const
ln(k)<1 would correspond to sigma < 0 in the parameterization resulting by transforming a normal rand...
virtual TObject * clone(const char *newname) const
Definition: RooLognormal.h:25
RooSpan< double > evaluateBatch(std::size_t begin, std::size_t batchSize) const
Evaluate function for a batch of input data points.
void generateEvent(Int_t code)
Interface for generation of an event using the algorithm corresponding to the specified code.
RooRealProxy x
Definition: RooLognormal.h:36
RooRealProxy m0
Definition: RooLognormal.h:37
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:35
A simple container to hold a batch of data values.
Definition: RooSpan.h:32
Mother of all ROOT objects.
Definition: TObject.h:37