cms-sw/cmssw — pull request #3623 by Dr15Jones (2014-04-30 20:49:04+00:00)
Title: Reverted modules using TGraph::Fit back to legacy edm::Producer

ROOT's underlying implementation of TGraph::Fit is not thread safe
so we must avoid having more than one module calling it at one time.
The static analyzer determined the following code paths linking modules
to TGraph::Fit
ESRecHitProducer::produce(); ESRecHitWorkerBaseClass::run(); ESRecHitWorker::run(); ESRecHitFitAlgo::reconstruct() const; ESRecHitFitAlgo::EvalAmplitude() const; TGraph::Fit();
EcalUncalibRecHitProducer::produce(); EcalUncalibRecHitWorkerBaseClass::run(); EcalUncalibRecHitWorkerAnalFit::run(); EcalUncalibRecHitRecAnalFitAlgo::makeRecHit(); TGraph::Fit();
in both cases, the module is linked to TGraph::Fit via a class which inherits
from a base class which the module uses. To fix this problem we either
1) wait till ROOT makes TGraph::Fit thread safe
2) drop the use of the inheriting class using TGraph::Fit.