28 ClassImp(RooStats::SequentialProposal);
34 SequentialProposal::SequentialProposal(
double divisor) :
43 void SequentialProposal::Propose(RooArgSet& xPrime, RooArgSet& x )
45 RooStats::SetParameters(&x, &xPrime);
46 RooLinkedListIter it(xPrime.iterator());
48 int n = xPrime.getSize();
49 int j = int( floor(RooRandom::uniform()*n) );
50 for (
int i = 0; (var = (RooRealVar*)it.Next()) != NULL; ++i) {
52 double val = var->getVal(), max = var->getMax(), min = var->getMin(), len = max - min;
53 val += RooRandom::gaussian() * len * fDivisor;
54 while (val > max) val -= len;
55 while (val < min) val += len;
66 Bool_t SequentialProposal::IsSymmetric(RooArgSet& , RooArgSet& ) {
70 Double_t SequentialProposal::GetProposalDensity(RooArgSet& ,