2 #include <CLHEP/Random/RandGaussQ.h>
10 isMC_(isMC), synchronization_(synchronization),
12 _correctionRetriever(correctionFile)
30 float smear = 0.0,
scale = 1.0;
37 double newEcalEnergy, newEcalEnergyError;
59 <<
"XXXXXXX requires the RandomNumberGeneratorService\n"
60 "which is not present in the configuration file. You must add the service\n"
61 "in the configuration file or remove the modules that require it.";
63 CLHEP::RandGaussQ gaussDistribution(rng->
getEngine(
id), 0.0, 1.0);
64 return gaussDistribution.fire();
float getSmearingSigma(int runNumber, bool isEBEle, float R9Ele, float etaSCEle, float EtEle, paramSmear_t par, float nSigma=0.) const
double getNewEnergy() const
void setNewEnergyError(double newEnergyError)
float ScaleCorrection(unsigned int runNumber, bool isEBEle, double R9Ele, double etaSCEle, double EtEle) const
method to get energy scale corrections
~PhotonEnergyCalibratorRun2()
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
Abs< T >::type abs(const T &t)
double getNewEnergyError() const
double gauss(edm::StreamID const &id) const
void setNewEnergy(double newEnergy)
PhotonEnergyCalibratorRun2()
EnergyScaleCorrection_class _correctionRetriever
void initPrivateRng(TRandom *rnd)
void calibrate(SimplePhoton &photon, edm::StreamID const &id=edm::StreamID::invalidStreamID()) const
void writeTo(reco::Photon &out) const