File indexing completed on 2025-01-18 10:11:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_GEN_FIT_STUDY
0017 #define ROO_GEN_FIT_STUDY
0018
0019 #include "RooAbsStudy.h"
0020
0021 class RooAbsPdf;
0022 class RooDataSet ;
0023 class RooAbsData ;
0024 class RooFitResult ;
0025 class RooPlot ;
0026 class RooRealVar ;
0027 class RooWorkspace ;
0028 class RooAbsGenContext ;
0029
0030 #include "RooArgSet.h"
0031 #include "RooLinkedList.h"
0032 #include "RooAbsPdf.h"
0033 #include <string>
0034
0035 class RooGenFitStudy : public RooAbsStudy {
0036 public:
0037
0038 RooGenFitStudy(const char* name=nullptr, const char* title=nullptr) ;
0039 RooGenFitStudy(const RooGenFitStudy& other) ;
0040 RooAbsStudy* clone(const char* newname="") const override { return new RooGenFitStudy(newname?newname:GetName(),GetTitle()) ; }
0041
0042 void setGenConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1={},const RooCmdArg& arg2={},const RooCmdArg& arg3={}) ;
0043 void setFitConfig(const char* pdfName, const char* obsName, const RooCmdArg& arg1={},const RooCmdArg& arg2={},const RooCmdArg& arg3={}) ;
0044
0045 bool attach(RooWorkspace& w) override ;
0046 bool initialize() override ;
0047 bool execute() override ;
0048 bool finalize() override ;
0049
0050 void Print(Option_t *options= nullptr) const override;
0051
0052 protected:
0053
0054
0055 std::string _genPdfName ;
0056 std::string _genObsName ;
0057 std::string _fitPdfName ;
0058 std::string _fitObsName ;
0059 RooLinkedList _genOpts ;
0060 RooLinkedList _fitOpts ;
0061
0062 RooAbsPdf* _genPdf = nullptr;
0063 RooArgSet _genObs ;
0064 RooAbsPdf* _fitPdf = nullptr;
0065 RooArgSet _fitObs ;
0066
0067 RooAbsPdf::GenSpec* _genSpec = nullptr;
0068 RooRealVar* _nllVar = nullptr;
0069 RooRealVar* _ngenVar = nullptr;
0070 std::unique_ptr<RooArgSet> _params;
0071 RooArgSet* _initParams= nullptr;
0072
0073 ClassDefOverride(RooGenFitStudy,2)
0074 } ;
0075
0076
0077 #endif
0078