Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

EmHcalLeakageBar.cxx

Go to the documentation of this file.
00001 #include "FastShowerUtils/Normalisers/EmHcalLeakageBar.h"
00002 
00003 #include "FastShowerUtils/ParticleParameters.h"
00004 
00005 #include "CLHEP/Random/RandFlat.h"
00006 
00007 #include <cmath>
00008 
00009 namespace FastShower{
00010 
00011   std::pair<double, double> 
00012   EmHcalLeakageBar::value(const ParticleParameters& pp) const{
00013   
00014     double energy = pp.energy();
00015 
00016 
00017     double p1 = 0.1932*std::exp(0.01054*energy) - 0.2260;
00018     double p2 = (energy>55.0) ?  0.0400 : 0.03234 - 0.00001126*energy;
00019     double p3 = 0.5564 - 0.003748*energy;
00020     
00021     double base = p1 - p2*std::log(1.0/RandFlat::shoot() - 1.0);
00022     double leakage = (base>0.) ? std::pow(base,(1.0/p3)) : 0.;
00023 
00024     std::pair<double, double> ehFracs;
00025     ehFracs.first = 1.0 - leakage;
00026     ehFracs.second = leakage;
00027 
00028     return ehFracs;
00029   }
00030   //
00031   IFnOfParticleParameters2* EmHcalLeakageBar::clone() const {
00032     return new EmHcalLeakageBar(*this);
00033   }
00034 }//namespace
00035 
00036 
00037 

Generated on Tue Mar 18 11:49:56 2003 for FastShowerUtils by doxygen1.3-rc1