Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooGenFitStudy.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_GEN_FIT_STUDY
17 #define ROO_GEN_FIT_STUDY
18 
19 #include "RooAbsStudy.h"
20 
21 class RooAbsPdf;
22 class RooDataSet ;
23 class RooAbsData ;
24 class RooFitResult ;
25 class RooPlot ;
26 class RooRealVar ;
27 class RooWorkspace ;
28 class RooAbsGenContext ;
29 
30 #include "RooArgSet.h"
31 #include "RooLinkedList.h"
32 #include "RooAbsPdf.h"
33 
34 
35 class RooGenFitStudy : public RooAbsStudy {
36 public:
37 
38  RooGenFitStudy(const char* name=0, const char* title=0) ;
39  RooGenFitStudy(const RooGenFitStudy& other) ;
40  virtual ~RooGenFitStudy() ;
41  virtual RooAbsStudy* clone(const char* newname="") const { return new RooGenFitStudy(newname?newname:GetName(),GetTitle()) ; }
42 
43  void setGenConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ;
44  void setFitConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg()) ;
45 
46  virtual Bool_t attach(RooWorkspace& w) ;
47  virtual Bool_t initialize() ;
48  virtual Bool_t execute() ;
49  virtual Bool_t finalize() ;
50 
51  void Print(Option_t *options= 0) const;
52 
53  protected:
54 
55 
56  std::string _genPdfName ;
57  std::string _genObsName ;
58  std::string _fitPdfName ;
59  std::string _fitObsName ;
60  RooLinkedList _genOpts ;
61  RooLinkedList _fitOpts ;
62 
63  RooAbsPdf* _genPdf ; //!
64  RooArgSet _genObs ; //!
65  RooAbsPdf* _fitPdf ; //!
66  RooArgSet _fitObs ; //!
67 
68  RooAbsPdf::GenSpec* _genSpec ; //!
69  RooRealVar* _nllVar ; //!
70  RooRealVar* _ngenVar ; //!
71  RooArgSet* _params ; //!
72  RooArgSet* _initParams; //!
73 
74  ClassDef(RooGenFitStudy,1) // Generate-and-Fit study module
75 } ;
76 
77 
78 #endif
79