Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
UniformProposal.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id$
2 // Authors: Kevin Belasco 17/06/2009
3 // Authors: Kyle Cranmer 17/06/2009
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_UniformProposal
13 #define ROOSTATS_UniformProposal
14 
15 #include "Rtypes.h"
16 
18 
19 #include "RooArgSet.h"
20 #include "RooMsgService.h"
21 #include "RooRealVar.h"
22 #include "TIterator.h"
23 
24 namespace RooStats {
25 
26  class UniformProposal : public ProposalFunction {
27 
28  public:
29  UniformProposal() : ProposalFunction() {}
30 
31  /// Populate xPrime with a new proposed point
32  virtual void Propose(RooArgSet& xPrime, RooArgSet& x);
33 
34  /// Determine whether or not the proposal density is symmetric for
35  /// points x1 and x2 - that is, whether the probability of reaching x2
36  /// from x1 is equal to the probability of reaching x1 from x2
37  virtual Bool_t IsSymmetric(RooArgSet& x1, RooArgSet& x2);
38 
39  /// Return the probability of proposing the point x1 given the starting
40  /// point x2
41  virtual Double_t GetProposalDensity(RooArgSet& x1, RooArgSet& x2);
42 
43  virtual ~UniformProposal() {}
44 
45  ClassDef(UniformProposal,1) /// A concrete implementation of ProposalFunction, that uniformly samples the parameter space.
46  };
47 }
48 
49 #endif