00001 #include "FastShowerUtils/Samplers/PeakMeanS0EmEcalEc1.h"
00002 #include "FastShowerUtils/PolyArgs.h"
00003 #include <cmath>
00004 namespace FastShower{
00005
00006 double PeakMeanS0EmEcalEc1::value(const PolyArgs& pa) const {
00007
00008 double energy = pa.pp()->energy();
00009 double aDelEta = fabs(pa.pp()->delEta());
00010
00011 double p1 = 0.053445;
00012 double p2 = 0.003315;
00013 double p3 = 0.9572;
00014 double p4 = 318.1*std::exp(-0.09965*energy) + 1158.0;
00015
00016 return p3/(1.+ std::exp((aDelEta-p1)/p2)) - p4*std::pow(aDelEta,3);
00017 }
00018
00019 IFn* PeakMeanS0EmEcalEc1::clone() const {return new PeakMeanS0EmEcalEc1();}
00020 }
00021
00022