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

FastShower::SmearHardPhoton Class Reference

resolution for hard photons (E > 1.5 GeV). More...

#include <SmearHardPhoton.h>

Inheritance diagram for FastShower::SmearHardPhoton:

Inheritance graph
[legend]
Collaboration diagram for FastShower::SmearHardPhoton:

Collaboration graph
[legend]
List of all members.

Public Methods

 SmearHardPhoton ()
virtual double value (const ParticleParameters &) const
virtual IFnOfParticleParametersclone () const

Detailed Description

resolution for hard photons (E > 1.5 GeV).

UML: IDistributionClass.unm

Definition at line 25 of file SmearHardPhoton.h.


Constructor & Destructor Documentation

FastShower::SmearHardPhoton::SmearHardPhoton   [inline]
 

Definition at line 27 of file SmearHardPhoton.h.

Referenced by clone().

00027 : IFnOfParticleParameters(), DebugBase("SmearHardPhoton"){}

Member Function Documentation

double FastShower::SmearHardPhoton::value const ParticleParameters   const [virtual]
 

Implements FastShower::IFnOfParticleParameters.

Definition at line 13 of file SmearHardPhoton.cxx.

References FastShower::ParticleParameters::eta(), FastShower::ParticleParameters::rawEnergy(), and FastShower::ProcessedNormal::sample().

00013                                                                  {
00014   
00015     double energy = pp.rawEnergy();
00016     double aEta = fabs(pp.eta());
00017 
00018     energy = max((float)energy,FLT_EPSILON);
00019 
00020     double pt = energy*std::sin(2*std::atan(std::exp(aEta)));
00021     double sigmaSquared = 0.01/energy;
00022     if (aEta<1.4){
00023       sigmaSquared = sigmaSquared + 0.060025/pt/pt;
00024     }else{
00025       sigmaSquared = sigmaSquared 
00026                     +  std::pow((0.306*((2.4-aEta)+0.228)/energy),2);
00027     }
00028     sigmaSquared = sigmaSquared + 0.000049;
00029     
00030     double sigma;
00031     ProcessedNormal normal;
00032     do {sigma = normal.sample()*std::sqrt(sigmaSquared);}
00033      while (sigma<-1.0);
00034     
00035     return  1.0 + sigma;
00036   }

IFnOfParticleParameters * FastShower::SmearHardPhoton::clone   const [virtual]
 

Implements FastShower::IFnOfParticleParameters.

Definition at line 38 of file SmearHardPhoton.cxx.

References SmearHardPhoton().

00038                                                         {
00039     return new SmearHardPhoton(*this);
00040   }

The documentation for this class was generated from the following files:
Generated on Tue Mar 18 11:56:42 2003 for FastShowerUtils by doxygen1.3-rc1