2 #include <CLHEP/Random/RandGaussQ.h> 10 isMC_(isMC), synchronization_(synchronization),
12 _correctionRetriever(correctionFile)
38 float smear = 0.0,
scale = 1.0;
45 double newEcalEnergy, newEcalEnergyError;
67 <<
"XXXXXXX requires the RandomNumberGeneratorService\n" 68 "which is not present in the configuration file. You must add the service\n" 69 "in the configuration file or remove the modules that require it.";
71 CLHEP::RandGaussQ gaussDistribution(rng->
getEngine(
id), 0.0, 1.0);
72 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)
et
define resolution functions of each parameter
void calibrate(SimplePhoton &photon, edm::StreamID const &id=edm::StreamID::invalidStreamID()) const
void writeTo(reco::Photon &out) const