00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015
00016
00017
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
00031 #include "RooRarFit/RooLass.hh"
00032
00033
00034 #include "RooRarFit/rarLass.hh"
00035
00036 ClassImp(rarLass)
00037 ;
00038
00042 rarLass::rarLass()
00043 : rarBasePdf(),
00044 _x(0), _mean(0), _width(0), _effRange(0), _scatlen(0), _turnOffVal(0)
00045 {
00046 init();
00047 }
00048
00061 rarLass::rarLass(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), _width(0), _effRange(0), _scatlen(0), _turnOffVal(0)
00068 {
00069 init();
00070 }
00071
00072 rarLass::~rarLass()
00073 {
00074 }
00075
00081 void rarLass::init()
00082 {
00083 cout<<"init of rarLass for "<<GetName()<<":"<<endl;
00084
00085 _x=createAbsReal("x", "observable"); assert(_x);
00086 RooRealVar *x=(RooRealVar *)RooArgList(_obsSet).at(0); assert(x);
00087
00088 _mean=createAbsReal("mean", "#mu", (x->getMin()+x->getMax())/2,
00089 x->getMin(), x->getMax(), _x->getUnit());
00090
00091
00092
00093 _width = createAbsReal("width", "#Lambda", 0.279, 0, 1000);
00094 _effRange = createAbsReal("effRange", "R", 1.76, 0, 1000);
00095 _scatlen = createAbsReal("scatlen", "s", 1.95, 0, 1000);
00096
00097 _turnOffVal = createAbsReal("turnOffVal", "t", 1.825, 0, 1000);
00098 _params.Print("v");
00099
00100 _thePdf = new RooLass(Form("the_%s", GetName()),_pdfType+" "+GetTitle(),
00101 *_x, *_mean, *_width, *_effRange, *_scatlen, *_turnOffVal);
00102
00103 }