00001 #include "FastShowerUtils/Samplers/TailFracANHadEarlyEcalEc1.h"
00002 #include "FastShowerUtils/PolyArgs.h"
00003 #include <cmath>
00004 namespace FastShower{
00005
00006 double TailFracANHadEarlyEcalEc1::value(const PolyArgs& pa) const {
00007 double energy = pa.pp()->energy();
00008 double snFrac = pa.cs()->cellSN();
00009 if (snFrac<0.05) {
00010 return 0.57 - 0.002*energy;
00011 }else if (snFrac<0.10) {
00012 return 0.405*std::exp(-0.039*energy) + 0.158;
00013 }else if (snFrac<0.15) {
00014 return 0.46*std::exp(-0.055*energy) + 0.098;
00015 }
00016 return 0.0;
00017 }
00018
00019 IFn* TailFracANHadEarlyEcalEc1::clone() const {
00020 return new TailFracANHadEarlyEcalEc1();
00021 }
00022 }
00023
00024