00001 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyHcalEc1.h"
00002 #include "FastShowerUtils/PolyArgs.h"
00003
00004 #include <cmath>
00005 namespace FastShower{
00006
00007 double PeakMeanS0HadEarlyHcalEc1::value(const PolyArgs& pa) const {
00008
00009 double energy = pa.pp()->energy();
00010 double aDelEta = fabs(pa.pp()->delEta());
00011
00012
00013
00014
00015
00016
00017
00018 double p1 = 1.23 + 79.09*std::exp(-0.46*energy) - 0.00876*energy;
00019 double p2 = -0.125*std::exp(-0.205*energy) + 0.05;
00020 double p3 = 0.012*std::exp(-0.076*energy) + 0.0087;
00021
00022 return p1/(1.0 + std::exp((aDelEta - p2)/p3));
00023 }
00024
00025 IFn* PeakMeanS0HadEarlyHcalEc1::clone() const {
00026 return new PeakMeanS0HadEarlyHcalEc1();
00027 }
00028 }
00029
00030