00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef RooStats_SPlot
00013 #define RooStats_SPlot
00014
00015 class RooAbsReal;
00016 class RooAbsPdf;
00017 class RooFitResult;
00018 class RooRealVar;
00019 class RooSimultaneous;
00020
00021
00022 #ifndef ROO_MSG_SERVICE
00023 #include "RooMsgService.h"
00024 #endif
00025
00026 #include "RooFitResult.h"
00027 #include "RooRealVar.h"
00028 #include "RooHist.h"
00029 #include "RooPlot.h"
00030 #include "RooDataSet.h"
00031
00032 namespace RooStats{
00033
00034 class SPlot: public TNamed {
00035
00036 public:
00037
00038 ~SPlot();
00039 SPlot();
00040 SPlot(const SPlot &other);
00041 SPlot(const char* name, const char* title);
00042 SPlot(const char* name, const char* title, const RooDataSet &data);
00043 SPlot(const char* name, const char* title,RooDataSet& data, RooAbsPdf* pdf,
00044 const RooArgList &yieldsList,const RooArgSet &projDeps=RooArgSet(),
00045 bool includeWeights=kTRUE, bool copyDataSet = kFALSE, const char* newName = "");
00046
00047 RooDataSet* SetSData(RooDataSet* data);
00048
00049 RooDataSet* GetSDataSet() const;
00050
00051 RooArgList GetSWeightVars() const;
00052
00053 Int_t GetNumSWeightVars() const;
00054
00055 void AddSWeight(RooAbsPdf* pdf, const RooArgList &yieldsTmp,
00056 const RooArgSet &projDeps=RooArgSet(), bool includeWeights=kTRUE);
00057
00058 Double_t GetSumOfEventSWeight(Int_t numEvent) const;
00059
00060 Double_t GetYieldFromSWeight(const char* sVariable) const;
00061
00062 Double_t GetSWeight(Int_t numEvent, const char* sVariable) const;
00063
00064
00065 protected:
00066
00067 RooArgList fSWeightVars;
00068
00069
00070
00071 RooDataSet* fSData;
00072
00073 ClassDef(SPlot,1)
00074
00075
00076 };
00077
00078 }
00079 #endif