Logo ROOT   6.07/09
Reference Guide
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 #ifndef ROOT_Rtypes
16 #include "Rtypes.h"
17 #endif
18 
19 #ifndef ROOSTATS_ProposalFunction
21 #endif
22 
23 #ifndef ROO_ARG_SET
24 #include "RooArgSet.h"
25 #endif
26 #ifndef ROO_MSG_SERVICE
27 #include "RooMsgService.h"
28 #endif
29 #ifndef ROO_REAL_VAR
30 #include "RooRealVar.h"
31 #endif
32 #ifndef ROOT_TIterator
33 #include "TIterator.h"
34 #endif
35 
36 namespace RooStats {
37 
38  /**
39  \ingroup Roostats
40 
41  UniformProposal is a concrete implementation of the ProposalFunction interface
42  for use with a Markov Chain Monte Carlo algorithm. This proposal function is
43  a uniformly random distribution over the parameter space. The proposal
44  ignores the current point when it proposes a new point. The proposal
45  function is symmetric, though it may not cause a MetropolisHastings run to
46  converge as quickly as other proposal functions.
47 
48  */
49 
51 
52  public:
54 
55  /// Populate xPrime with a new proposed point
56  virtual void Propose(RooArgSet& xPrime, RooArgSet& x);
57 
58  /// Determine whether or not the proposal density is symmetric for
59  /// points x1 and x2 - that is, whether the probabilty of reaching x2
60  /// from x1 is equal to the probability of reaching x1 from x2
62 
63  /// Return the probability of proposing the point x1 given the starting
64  /// point x2
66 
67  virtual ~UniformProposal() {}
68 
69  ClassDef(UniformProposal,1) /// A concrete implementation of ProposalFunction, that uniformly samples the parameter space.
70  };
71 }
72 
73 #endif
ProposalFunction is an interface for all proposal functions that would be used with a Markov Chain Mo...
UniformProposal is a concrete implementation of the ProposalFunction interface for use with a Markov ...
bool Bool_t
Definition: RtypesCore.h:59
static const double x2[5]
Double_t x[n]
Definition: legend1.C:17
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void Propose(RooArgSet &xPrime, RooArgSet &x)
Populate xPrime with a new proposed point.
virtual Bool_t IsSymmetric(RooArgSet &x1, RooArgSet &x2)
Determine whether or not the proposal density is symmetric for points x1 and x2 - that is...
Namespace for the RooStats classes.
Definition: Asimov.h:20
static const double x1[5]
double Double_t
Definition: RtypesCore.h:55
virtual Double_t GetProposalDensity(RooArgSet &x1, RooArgSet &x2)
Return the probability of proposing the point x1 given the starting point x2.