cms-sw/cmssw — pull request #5367 by cmsbuild (2014-09-17 19:18:13+00:00)
Title: Ecal multifit optimized

Move to Eigen for vectors/matrices, remove std::set, and some optimizations of the algorithm itself (avoid explicit matrix inversion and make some of required matrix solve operations less complex)

Didn't manage to run igprof yet, but based on a test of an earlier eigen version which @VinInn did there shouldn't be anything very bad here.

Output should be strictly identical down to numerical precision. (Verified on one event that all rechits are the same down to 5 decimal places, but there can be smaller numerical differences clearly.)

Speedup of the EcalUncalibRecHitMultiFitAlgo is just short of a factor of 3. (~800ms -> ~280ms for pu40bx25 photon gun)

The EcalUncalibRecHitProducer has also been made a stream module.

@emanueledimarco @argiro @lgray
Automatically ported from CMSSW_7_2_X #5321