Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:29:46

0001 // @(#)root/roostats:$Id$
0002 // Authors: Kevin Belasco        17/06/2009
0003 // Authors: Kyle Cranmer         17/06/2009
0004 /*************************************************************************
0005  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOSTATS_UniformProposal
0013 #define ROOSTATS_UniformProposal
0014 
0015 #include "Rtypes.h"
0016 
0017 #include "RooStats/ProposalFunction.h"
0018 
0019 #include "RooArgSet.h"
0020 #include "RooMsgService.h"
0021 #include "RooRealVar.h"
0022 
0023 namespace RooStats {
0024 
0025    class UniformProposal : public ProposalFunction {
0026 
0027    public:
0028       UniformProposal() = default;
0029 
0030       /// Populate xPrime with a new proposed point
0031       void Propose(RooArgSet& xPrime, RooArgSet& x) override;
0032 
0033       /// Determine whether or not the proposal density is symmetric for
0034       /// points x1 and x2 - that is, whether the probability of reaching x2
0035       /// from x1 is equal to the probability of reaching x1 from x2
0036       bool IsSymmetric(RooArgSet& x1, RooArgSet& x2) override;
0037 
0038       /// Return the probability of proposing the point x1 given the starting
0039       /// point x2
0040       double GetProposalDensity(RooArgSet& x1, RooArgSet& x2) override;
0041 
0042       ClassDefOverride(UniformProposal,1) // A concrete implementation of ProposalFunction, that uniformly samples the parameter space.
0043    };
0044 }
0045 
0046 #endif