Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
NumberCountingPdfFactory.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id$
2 // Author: Kyle Cranmer 28/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_NumberCountingPdfFactory
13 #define RooStats_NumberCountingPdfFactory
14 
15 #include "Rtypes.h"
16 
17 class RooWorkspace;
18 class RooRealVar;
19 
20 namespace RooStats{
21 
22  class NumberCountingPdfFactory {
23 
24  public:
25  // need one for expected and one for observed
26  NumberCountingPdfFactory();
27  virtual ~NumberCountingPdfFactory();
28 
29  void AddModel(Double_t* sigExp, Int_t nchan, RooWorkspace* ws,
30  const char* pdfName = "CombinedPdf", const char* masterSignalName = "masterSignal") ;
31 
32  void AddData(Double_t* mainMeas, Double_t* bkgMeas, Double_t* db,
33  Int_t nbins, RooWorkspace* ws, const char* dsName = "NumberCountingData");
34  void AddExpData(Double_t* sigExp, Double_t* bkgExp, Double_t* db,
35  Int_t nbins, RooWorkspace* ws, const char* dsName = "ExpectedNumberCountingData");
36  void AddExpDataWithSideband(Double_t* sigExp, Double_t* bkgExp, Double_t* tau,
37  Int_t nbins, RooWorkspace* ws, const char* dsName = "NumberCountingData");
38  void AddDataWithSideband(Double_t* mainMeas, Double_t* sideband, Double_t* tau,
39  Int_t nbins, RooWorkspace* ws, const char* dsName = "ExpectedNumberCountingData");
40 
41  private:
42  RooRealVar* SafeObservableCreation(RooWorkspace* ws, const char* varName, Double_t value) ;
43  RooRealVar* SafeObservableCreation(RooWorkspace* ws, const char* varName, Double_t value, Double_t maximum) ;
44 
45 
46  protected:
47  ClassDef(NumberCountingPdfFactory,1) // A factory specific to common number counting problems.
48 
49  };
50 }
51 
52 #endif