Ok, my eyes didn't trigger on the difference between  "minimize" and
"improve" in that piece of code....

     Giovanni


On Fri, Sep 20, 2013 at 4:44 PM, nckw <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;
> > +      }
>
> 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.
> … <#1413bd41aa9b3c32_>
> 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>
> .
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit/pull/43/files#r6488208>
> .
>