Speed improvements for ECAL multifit

Roughly 30% faster in offline mode on a Xeon X5650. 
There is probably room for more speedup but it will require substantial work.
Not a factor of 10 but it's something.

Main sources of improvement are:
- turning off debug for Eigen :-)
- removing use of eigen "views" that seems to not work. Should probably report to eigen people.

There are a few places where non-unrollable views are used because of the eigen interface, but that's life.

No differences expected/observed.

@VinInn @bendavid 

On 01 Oct 2014, at 10:46, StoyanStoynev <notifications@github.com> wrote:

> In RecoLocalCalo/EcalRecAlgos/src/PulseChiSqSNNLS.cc:
> 
> > +  case 1:
> > +    {
> > +      Matrix<double,1,1> temp = mat.topLeftCorner<1,1>();
> > +      LLT<Matrix<double,1,1> > decomp;
> > +      decomp.compute(temp);
> > +      outvec.head<1>() = decomp.matrixL().solve(invec.head<1>());
> > +    }
> > +    break;
> > +  default:
> > +    throw cms::Exception("MultFitWeirdState")
> > +      << "Weird number of pulses encountered in multifit!”;

I suggest that we put the signal to zero and log an error instead of throwing an exception (which most likely will not be handled and will result in CMSSW halting)


> > +  }
> > +}
> > +*/
> > +
> > +
> 
> I get the compiler will not resolve this for you?
> 
> —
> Reply to this email directly or view it on GitHub.
>