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