#include <SmearElectron.h>
Inheritance diagram for FastShower::SmearElectron:
Public Methods | |
SmearElectron () | |
virtual double | value (const ParticleParameters &) const |
virtual IFnOfParticleParameters * | clone () const |
UML: IDistributionClass.unm
Definition at line 25 of file SmearElectron.h.
|
Definition at line 27 of file SmearElectron.h. Referenced by clone().
00027 : IFnOfParticleParameters(), DebugBase("SmearElectron"){} |
|
Implements FastShower::IFnOfParticleParameters. Definition at line 13 of file SmearElectron.cxx. References FastShower::ParticleParameters::eta(), FastShower::ParticleParameters::rawEnergy(), and FastShower::ProcessedNormal::sample().
00013 { 00014 00015 double energy = pp.rawEnergy(); 00016 double aEta = fabs(pp.eta()); 00017 00018 energy = max((float)energy,FLT_EPSILON); 00019 00020 double pt = energy*std::sin(2*std::atan(std::exp(aEta))); 00021 double sigmaSquared = 0.0144/energy; 00022 if (aEta<1.4){ 00023 sigmaSquared = sigmaSquared + 0.060025/pt/pt; 00024 }else{ 00025 sigmaSquared = sigmaSquared 00026 + std::pow((0.306*((2.4-aEta)+0.228)/energy),2); 00027 } 00028 sigmaSquared = sigmaSquared + 0.000049; 00029 00030 double sigma; 00031 ProcessedNormal normal; 00032 do {sigma = normal.sample()*std::sqrt(sigmaSquared);} 00033 while (sigma<-1.0); 00034 00035 return 1.0 + sigma; 00036 } |
|
Implements FastShower::IFnOfParticleParameters. Definition at line 38 of file SmearElectron.cxx. References SmearElectron().
00038 { 00039 return new SmearElectron(*this); 00040 } |