rarCBShape.cc

Go to the documentation of this file.
00001 /*****************************************************************************
00002 * Project: BaBar detector at the SLAC PEP-II B-factory
00003 * Package: RooRarFit
00004  *    File: $Id: rarCBShape.cc,v 1.5 2011/06/16 13:18:49 fwilson Exp $
00005  * Authors: Lei Zhang
00006  * History:
00007  * 
00008  * Copyright (C) 2005-2012, University of California, Riverside
00009  *****************************************************************************/
00010 
00011 // -- CLASS DESCRIPTION [RooRarFit] --
00012 // This class provides CBShape Pdf class for RooRarFit
00014 //
00015 // BEGIN_HTML
00016 // This class provides CBShape Pdf class for RooRarFit
00017 // END_HTML
00018 //
00019 
00020 #include "RooRarFit/rarVersion.hh"
00021 
00022 #include "Riostream.h"
00023 
00024 #include "RooFitCore/RooArgList.hh"
00025 #include "RooFitCore/RooDataSet.hh"
00026 #include "RooFitCore/RooProdPdf.hh"
00027 #include "RooFitCore/RooRealVar.hh"
00028 #include "RooFitCore/RooStringVar.hh"
00029 
00030 #include "RooFitModels/RooCBShape.hh"
00031 
00032 #include "RooRarFit/rarCBShape.hh"
00033 
00034 ClassImp(rarCBShape)
00035   ;
00036 
00040 rarCBShape::rarCBShape()
00041   : rarBasePdf(),
00042     _x(0), _mean(0), _sigma(0), _alpha(0), _n(0)
00043 {
00044   init();
00045 }
00046 
00061 rarCBShape::rarCBShape(const char *configFile, const char *configSec,
00062                        const char *configStr,
00063                        rarDatasets *theDatasets, RooDataSet *theData,
00064                        const char *name, const char *title)
00065   : rarBasePdf(configFile, configSec, configStr,
00066                theDatasets, theData, name, title),
00067     _x(0), _mean(0), _sigma(0), _alpha(0), _n(0)
00068 {
00069   init();
00070 }
00071 
00072 rarCBShape::~rarCBShape()
00073 {
00074 }
00075 
00081 void rarCBShape::init()
00082 {
00083   cout<<"init of rarCBShape for "<<GetName()<<":"<<endl;
00084   
00085   // first get its dependent/observable
00086   _x=createAbsReal("x", "observable"); assert(_x);
00087   RooRealVar *x=(RooRealVar *)RooArgList(_obsSet).at(0); assert(x);
00088   // Config pdf params
00089   _mean=createAbsReal("mean", "#mu", (x->getMin()+x->getMax())/2,
00090                       x->getMin(), x->getMax(), _x->getUnit());
00091   _sigma=createAbsReal("sigma", "#sigma", .1, 0., 1., _x->getUnit());
00092   _alpha=createAbsReal("alpha", "#alpha", .9);
00093   _n=createAbsReal("n", "n", 10, 0.1, 200.);  
00094   _params.Print("v");
00095   
00096   // create pdf
00097   _thePdf=new RooCBShape(Form("the_%s", GetName()), _pdfType+" "+GetTitle(),
00098                          *_x, *_mean, *_sigma, *_alpha, *_n);
00099 }

Generated on 30 Oct 2013 for RooRarFit by  doxygen 1.4.7