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