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