CMS 3D CMS Logo

Functions

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/FastSimulation/MaterialEffects/src/PetrukhinModel.cc File Reference

#include <fstream>
#include "TF1.h"
#include "FastSimulation/MaterialEffects/interface/PetrukhinModel.h"
#include <math.h>

Go to the source code of this file.

Functions

double PetrukhinFunc (double *x, double *p)

Function Documentation

double PetrukhinFunc ( double *  x,
double *  p 
)

Definition at line 22 of file PetrukhinModel.cc.

References funct::A, alpha, delta, f, funct::pow(), and Gflash::Z.

Referenced by MuonBremsstrahlungSimulator::compute().

                                             {
 
   //Function independent variable 
   double nu = x[0]; //fraction of muon's energy transferred to the photon
   
  // Parameters
   double E=p[0]; //Muon Energy (in GeV)
   double A=p[1];// Atomic weight
   double Z=p[2];// Atomic number

 /*

//Function of Muom Brem using  nuclear screening correction
//Ref: http://pdg.lbl.gov/2008/AtomicNuclearProperties/adndt.pdf

   //Physical constants
   double B = 182.7;
   double ee = sqrt(2.7181) ; // sqrt(e)
   double ZZ=  pow( Z,-1./3.); // Z^-1/3
  double emass = 0.0005109990615;  // electron mass (GeV/c^2)
  double mumass = 0.105658367;//mu mass  (GeV/c^2)

   double re = 2.817940285e-13;// Classical electron radius (Units: cm)
   double alpha = 1./137.03599976; // fine structure constant
   double Dn = 1.54* (pow(A,0.27));
   double constant =  pow((2.0 * Z * emass/mumass * re ),2.0);
   
   double delta = (mumass * mumass * nu) /(2.* E * (1.- nu)); 
    
   double Delta_n = TMath::Log(Dn / (1.+ delta *( Dn * ee -2.)/ mumass)); //nuclear screening correction 
    
   double Phi = TMath::Log((B * mumass * ZZ / emass)/ (1.+ delta * ee * B * ZZ  / emass)) - Delta_n;//phi(delta)
   
    //Diff. Cross Section for Muon Brem from a screened nuclear (Equation 16: REF: LBNL-44742)
   double f = alpha * constant *(4./3.-4./3.*nu + nu*nu)*Phi/nu;
*/

// Function for Muon Brem Xsec from G4
//Physical constants
   double B = 183.;
   double Bl= 1429.;
   double ee = 1.64872 ; // sqrt(e)
   double Z13=  pow( Z,-1./3.); // Z^-1/3
   double Z23=  pow( Z,-2./3.); // Z^-2/3

   //Original values of paper
   double emass = 0.0005109990615;  // electron mass (GeV/c^2)
   double mumass = 0.105658367;     // muon mass  (GeV/c^2)
   // double re = 2.817940285e-13;     // Classical electron radius (Units: cm)
   double alpha =  0.00729735;      // 1./137.03599976; // fine structure constant
   double constant = 1.85736e-30;   // pow( ( emass / mumass * re ) , 2.0);

   double Dn = 1.54*(pow(A,0.27));
   double Dnl= pow(Dn,(1.-1./Z));

   double delta = (mumass * mumass * nu)/(2.* E * (1.- nu)); 
    
    
   double Phi_n = TMath::Log( B * Z13 *( mumass + delta * ( Dnl * ee -2 ))
                  / ( Dnl * ( emass + delta * ee * B * Z13 ) ) );

    
   double Phi_e = TMath::Log( ( Bl * Z23 * mumass )
                  / ( 1.+ delta * mumass / ( emass*emass * ee ) )
                  / ( emass + delta *ee * Bl * Z23 ) );



//Diff. Cross Section for Muon Brem from G4 ( without NA/A factor )
   double f =  16./3. * alpha * constant* Z * ( Z * Phi_n + Phi_e ) * (1./nu) * (1. - nu + 0.75*nu*nu) ;

   return f;
 


 }