In the case where there are no discrete parameters, the two are the same.
If there are discrete parameters, then minimize() must be called to invoke
the loop over the values of the discrete parameter.



On Fri, Sep 20, 2013 at 3:35 PM, gpetruc <notifications@github.com> wrote:

> In src/Asymptotic.cc:
>
> > @@ -250,7 +258,11 @@ double Asymptotic::getCLs(RooRealVar &r, double rVal, bool getAlsoExpected, doub
> >    r.setVal(rVal);
> >    r.setConstant(true);
> >    if (hasFloatParams_) {
> > -      if (!minimD.improve(verbose-2) && picky_) return -999;
> > +      if (hasDiscreteParams_) {
> > +        if (!minimD.minimize(verbose-2) && picky_) return -999;
> > +      } else {
> > +	if (!minimD.improve(verbose-2) && picky_) return -999;
> > +      }
>
> I don't understand: aren't the two pieces of code doing the same thing?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/pull/43/files#r6488000>
> .
>