Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
UpperLimitMCSModule.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id$
2 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke, Nils Ruthmann
3 /*************************************************************************
4  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 
11 
12 #ifndef UPPER_LIMIT_MCS_MODULE
13 #define UPPER_LIMIT_MCS_MODULE
14 
15 #include "RooAbsMCStudyModule.h"
16 #include <string>
17 
18 class RooArgSet;
19 class RooDataSet;
20 class RooRealVar;
21 class RooAbsPdf;
22 
23 namespace RooStats {
24 
25  class ProfileLikelihoodCalculator;
26 
27 class UpperLimitMCSModule : public RooAbsMCStudyModule {
28 public:
29 
30 
31  UpperLimitMCSModule(const RooArgSet* poi, Double_t CL=0.95) ;
32  UpperLimitMCSModule(const UpperLimitMCSModule& other) ;
33  virtual ~UpperLimitMCSModule() ;
34 
35  Bool_t initializeInstance() ;
36 
37  Bool_t initializeRun(Int_t /*numSamples*/) ;
38  RooDataSet* finalizeRun() ;
39 
40  //Bool_t processAfterFit(Int_t /*sampleNum*/) ;
41  Bool_t processBetweenGenAndFit(Int_t /*sampleNum*/) ;
42 
43 private:
44 
45  std::string _parName ; // Name of Nsignal parameter
46  RooStats::ProfileLikelihoodCalculator* _plc;
47  RooRealVar* _ul ;
48 
49  const RooArgSet* _poi; // parameters of interest
50  RooDataSet* _data ; // Summary dataset to store results
51  Double_t _cl;
52  RooAbsPdf* _model;
53 
54  ClassDef(UpperLimitMCSModule,0) // MCStudy module to calculate upper limit of a given poi
55 };
56 
57 }
58 
59 #endif
60