2 #include <CLHEP/Random/RandGaussQ.h>
12 epCombinationTool_(&combinator),
13 isMC_(isMC), synchronization_(synchronization),
15 _correctionRetriever(correctionFile)
43 float smear = 0.0,
scale = 1.0;
50 double newEcalEnergy, newEcalEnergyError;
73 <<
"XXXXXXX requires the RandomNumberGeneratorService\n"
74 "which is not present in the configuration file. You must add the service\n"
75 "in the configuration file or remove the modules that require it.";
77 CLHEP::RandGaussQ gaussDistribution(rng->
getEngine(
id), 0.0, 1.0);
78 return gaussDistribution.fire();
float getSmearingSigma(int runNumber, bool isEBEle, float R9Ele, float etaSCEle, float EtEle, paramSmear_t par, float nSigma=0.) const
void setNewEnergyError(double newEnergyError)
edm::Service< edm::RandomNumberGenerator > rng
ElectronEnergyCalibratorRun2()
~ElectronEnergyCalibratorRun2()
void setNewEnergy(double newEnergy)
EpCombinationTool * epCombinationTool_
double gauss(edm::StreamID const &id) const
float ScaleCorrection(unsigned int runNumber, bool isEBEle, double R9Ele, double etaSCEle, double EtEle) const
method to get energy scale corrections
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
double getNewEnergy() const
void initPrivateRng(TRandom *rnd)
void calibrate(SimpleElectron &electron, edm::StreamID const &id=edm::StreamID::invalidStreamID()) const
unsigned int getRunNumber() const
double getNewEnergyError() const
void writeTo(reco::GsfElectron &out) const
EnergyScaleCorrection_class _correctionRetriever
Abs< T >::type abs(const T &t)