rarGaussian Class Reference

RooGaussian/RooBreitWigner PDF builder. More...

#include <rarGaussian.hh>

Inheritance diagram for rarGaussian:

rarBasePdf rarConfig List of all members.

Public Member Functions

 rarGaussian ()
 Trivial ctor.
 rarGaussian (const char *configFile, const char *configSec, const char *configStr, rarDatasets *theDatasets, RooDataSet *theData, const char *name, const char *title)
 Default ctor.
virtual ~rarGaussian ()

Protected Member Functions

void init ()
 Initial function called by ctor.

Protected Attributes

RooAbsReal * _x
 Default obs.
RooAbsReal * _mean
 Mean of PDF.
RooAbsReal * _sigma
 Sigma of PDF.
RooAbsReal * _scale
 Scale of the sigma.
RooAbsReal * _shift
 Shift of the mean.

Private Member Functions

 rarGaussian (const rarGaussian &)
 ClassDef (rarGaussian, 0)

Detailed Description

RooGaussian/RooBreitWigner PDF builder.

Build RooGaussian / RooBreitWigner Pdf.

Config Directives:
/// configStr = Gaussian ["<Optional Title>"]
/// configStr = BreitWigner ["<Optional Title>"]
/// x = AbsReal Def
/// mean = AbsReal Def
/// sigma = AbsReal Def
x is the default observable. mean is the mean of the PDF. sigma is the sigma of the PDF. All the variables can be RooRealVar or RooFormulaVar.

Definition at line 38 of file rarGaussian.hh.


Constructor & Destructor Documentation

rarGaussian::rarGaussian (  ) 

Trivial ctor.

Usually the objects should be created using other ctors.

Definition at line 42 of file rarGaussian.cc.

References init().

00043   : rarBasePdf(),
00044     _x(0), _mean(0), _sigma(0),
00045     _scale(0), _shift(0)
00046 {
00047   init();
00048 }

rarGaussian::rarGaussian ( const char *  configFile,
const char *  configSec,
const char *  configStr,
rarDatasets theDatasets,
RooDataSet *  theData,
const char *  name,
const char *  title 
)

Default ctor.

Parameters:
configFile The config file
configSec The config section
configStr The config string
theDatasets Available datasets
theData Default dataset for this PDF
name The name
title The title
The default ctor first initializes data members, and then calls init.

Definition at line 62 of file rarGaussian.cc.

References init().

00066   : rarBasePdf(configFile, configSec, configStr,
00067                theDatasets, theData, name, title),
00068     _x(0), _mean(0), _sigma(0),
00069     _scale(0), _shift(0)
00070 {
00071   init();
00072 }

rarGaussian::~rarGaussian (  )  [virtual]

Definition at line 74 of file rarGaussian.cc.

00075 {
00076 }

rarGaussian::rarGaussian ( const rarGaussian  )  [private]


Member Function Documentation

rarGaussian::ClassDef ( rarGaussian  ,
 
) [private]

void rarGaussian::init (  )  [protected, virtual]

Initial function called by ctor.

init is called by the ctor. It first creates the parameters by calling createAbsReal, and finally it builds RooGaussian/RooBreitWigner PDF with _pdfType being Gaussian/BreitWigner, respectively.

Reimplemented from rarBasePdf.

Definition at line 84 of file rarGaussian.cc.

References _mean, rarBasePdf::_obsSet, rarBasePdf::_params, rarBasePdf::_pdfType, _scale, _shift, _sigma, rarBasePdf::_thePdf, _x, rarConfig::createAbsReal(), rarConfig::createAbsVar(), rarBasePdf::getVarSec(), and rarConfig::readConfStr().

Referenced by rarGaussian().

00085 {
00086   cout<<"init of rarGaussian for "<<GetName()<<":"<<endl;
00087   
00088   // first get its dependent/observable
00089   _x=createAbsReal("x", "observable"); assert(_x);
00090   RooRealVar *x=(RooRealVar *)RooArgList(_obsSet).at(0); assert(x);
00091   // Config pdf params
00092   _mean=createAbsReal("mean", "#mu", (x->getMin()+x->getMax())/2,
00093                       x->getMin(), x->getMax(), _x->getUnit());
00094   if ("notSet"!=readConfStr("shift", "notSet", getVarSec())) { // use shift
00095     _shift=createAbsReal("shift", "d#mu", 0.);
00096     _mean=(RooAbsReal*)
00097       createAbsVar(Form("%s %s", "meanS RooFormulaVar","@0+@1 mean shift"));
00098   }
00099   _sigma=createAbsReal("sigma", "#sigma", .1, 0., 1., _x->getUnit());
00100   if ("notSet"!=readConfStr("scale", "notSet", getVarSec())) { // use scale
00101     _scale=createAbsReal("scale", "S#sigma_{C}", 1.);
00102     _sigma=(RooAbsReal*)
00103       createAbsVar(Form("%s %s","sigmaS RooFormulaVar","@0*@1 sigma scale"));
00104   }
00105   _params.Print("v");
00106   
00107   // create pdf
00108   if("BreitWigner"==_pdfType) {
00109     _thePdf=new RooBreitWigner(Form("the_%s", GetName()),
00110                                _pdfType+" "+GetTitle(), *_x, *_mean, *_sigma);
00111   } else if ("Landau"==_pdfType) {
00112     _thePdf=new RooLandau(Form("the_%s", GetName()),
00113                           _pdfType+" "+GetTitle(), *_x, *_mean, *_sigma);
00114   } else { // default
00115     _thePdf=new RooGaussian(Form("the_%s", GetName()), _pdfType+" "+GetTitle(),
00116                             *_x, *_mean, *_sigma);
00117   }
00118 }


Member Data Documentation

RooAbsReal* rarGaussian::_mean [protected]

Mean of PDF.

Definition at line 51 of file rarGaussian.hh.

Referenced by init().

RooAbsReal* rarGaussian::_scale [protected]

Scale of the sigma.

Definition at line 53 of file rarGaussian.hh.

Referenced by init().

RooAbsReal* rarGaussian::_shift [protected]

Shift of the mean.

Definition at line 54 of file rarGaussian.hh.

Referenced by init().

RooAbsReal* rarGaussian::_sigma [protected]

Sigma of PDF.

Definition at line 52 of file rarGaussian.hh.

Referenced by init().

RooAbsReal* rarGaussian::_x [protected]

Default obs.

Definition at line 50 of file rarGaussian.hh.

Referenced by init().


The documentation for this class was generated from the following files:
Generated on 30 Oct 2013 for RooRarFit by  doxygen 1.4.7