Logo ROOT  
Reference Guide
SPlot.h
Go to the documentation of this file.
1// @(#)root/roostats:$Id$
2// Author: Kyle Cranmer 21/07/2008
3
4/*************************************************************************
5 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef RooStats_SPlot
13#define RooStats_SPlot
14
15class RooAbsReal;
16class RooAbsPdf;
17class RooFitResult;
18class RooRealVar;
19class RooSimultaneous;
20
21
22#include "RooMsgService.h"
23
24#include "RooFitResult.h"
25#include "RooRealVar.h"
26#include "RooHist.h"
27#include "RooPlot.h"
28#include "RooDataSet.h"
29
30namespace RooStats{
31
32 class SPlot: public TNamed {
33
34 public:
35
36 ~SPlot();
37 SPlot();
38 SPlot(const SPlot &other);
39 SPlot(const char* name, const char* title);
40 SPlot(const char* name, const char* title, const RooDataSet &data);
41 SPlot(const char* name, const char* title,RooDataSet& data, RooAbsPdf* pdf,
42 const RooArgList &yieldsList,const RooArgSet &projDeps=RooArgSet(),
43 bool includeWeights=kTRUE, bool copyDataSet = kFALSE, const char* newName = "",
44 const RooCmdArg& fitToarg5=RooCmdArg::none(),
45 const RooCmdArg& fitToarg6=RooCmdArg::none(),
46 const RooCmdArg& fitToarg7=RooCmdArg::none(),
47 const RooCmdArg& fitToarg8=RooCmdArg::none());
48
50
51 RooDataSet* GetSDataSet() const;
52
54
56
57 void AddSWeight(RooAbsPdf* pdf, const RooArgList &yieldsTmp,
58 const RooArgSet &projDeps=RooArgSet(), bool includeWeights=kTRUE,
59 const RooCmdArg& fitToarg5=RooCmdArg::none(),
60 const RooCmdArg& fitToarg6=RooCmdArg::none(),
61 const RooCmdArg& fitToarg7=RooCmdArg::none(),
62 const RooCmdArg& fitToarg8=RooCmdArg::none());
63
64 Double_t GetSumOfEventSWeight(Int_t numEvent) const;
65
66 Double_t GetYieldFromSWeight(const char* sVariable) const;
67
68 Double_t GetSWeight(Int_t numEvent, const char* sVariable) const;
69
70
71
72 protected:
73
74 enum {
75 kOwnData = BIT(20)
76 };
77
79
80 // RooListProxy fSWeightVars;
81
83
84 ClassDef(SPlot,1) // Class used for making sPlots
85
86
87 };
88
89}
90#endif
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:326
#define BIT(n)
Definition: Rtypes.h:83
char name[80]
Definition: TGX11.cxx:109
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:59
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:21
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
Definition: RooCmdArg.h:28
static const RooCmdArg & none()
Return reference to null argument.
Definition: RooCmdArg.cxx:52
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:31
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Definition: RooFitResult.h:40
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:35
RooSimultaneous facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
This class calculates sWeights used to create an sPlot.
Definition: SPlot.h:32
void AddSWeight(RooAbsPdf *pdf, const RooArgList &yieldsTmp, const RooArgSet &projDeps=RooArgSet(), bool includeWeights=kTRUE, const RooCmdArg &fitToarg5=RooCmdArg::none(), const RooCmdArg &fitToarg6=RooCmdArg::none(), const RooCmdArg &fitToarg7=RooCmdArg::none(), const RooCmdArg &fitToarg8=RooCmdArg::none())
Method which adds the sWeights to the dataset.
Definition: SPlot.cxx:368
Double_t GetYieldFromSWeight(const char *sVariable) const
Sum the SWeights for a particular species over all events.
Definition: SPlot.cxx:280
Double_t GetSWeight(Int_t numEvent, const char *sVariable) const
Retrieve an s weight.
Definition: SPlot.cxx:200
RooDataSet * fSData
Definition: SPlot.h:82
RooArgList GetSWeightVars() const
Return a RooArgList containing all paramters that have s weights.
Definition: SPlot.cxx:321
SPlot()
Default constructor.
Definition: SPlot.cxx:80
Int_t GetNumSWeightVars() const
Return the number of SWeights In other words, return the number of species that we are trying to extr...
Definition: SPlot.cxx:335
RooDataSet * SetSData(RooDataSet *data)
Set dataset (if not passed in constructor).
Definition: SPlot.cxx:179
RooDataSet * GetSDataSet() const
Retrieve s-weighted data.
Definition: SPlot.cxx:191
RooArgList fSWeightVars
Definition: SPlot.h:78
Double_t GetSumOfEventSWeight(Int_t numEvent) const
Sum the SWeights for a particular event.
Definition: SPlot.cxx:249
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Namespace for the RooStats classes.
Definition: Asimov.h:20