00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_GEN_FIT_STUDY
00017 #define ROO_GEN_FIT_STUDY
00018
00019 #include "RooAbsStudy.h"
00020
00021 class RooAbsPdf;
00022 class RooDataSet ;
00023 class RooAbsData ;
00024 class RooFitResult ;
00025 class RooPlot ;
00026 class RooRealVar ;
00027 class RooWorkspace ;
00028 class RooAbsGenContext ;
00029
00030 #include "RooArgSet.h"
00031 #include "RooLinkedList.h"
00032 #include "RooAbsPdf.h"
00033
00034
00035 class RooGenFitStudy : public RooAbsStudy {
00036 public:
00037
00038 RooGenFitStudy(const char* name=0, const char* title=0) ;
00039 RooGenFitStudy(const RooGenFitStudy& other) ;
00040 virtual ~RooGenFitStudy() ;
00041
00042 void setGenConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ;
00043 void setFitConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ;
00044
00045 virtual Bool_t attach(RooWorkspace& w) ;
00046 virtual Bool_t initialize() ;
00047 virtual Bool_t execute() ;
00048 virtual Bool_t finalize() ;
00049
00050 void Print(Option_t *options= 0) const;
00051
00052 protected:
00053
00054
00055 std::string _genPdfName ;
00056 std::string _genObsName ;
00057 std::string _fitPdfName ;
00058 std::string _fitObsName ;
00059 RooLinkedList _genOpts ;
00060 RooLinkedList _fitOpts ;
00061
00062 RooAbsPdf* _genPdf ;
00063 RooArgSet _genObs ;
00064 RooAbsPdf* _fitPdf ;
00065 RooArgSet _fitObs ;
00066
00067 RooAbsPdf::GenSpec* _genSpec ;
00068 RooRealVar* _nllVar ;
00069 RooRealVar* _ngenVar ;
00070 RooArgSet* _params ;
00071 RooArgSet* _initParams;
00072
00073 ClassDef(RooGenFitStudy,1)
00074 } ;
00075
00076
00077 #endif
00078