CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/FastSimulation/MaterialEffects/src/PetrukhinModel.cc

Go to the documentation of this file.
00001 
00002 // PetrukhinModel.cc Class:
00003 //
00004 // Improvements: Function of Muom Brem using  nuclear screening correction
00005 // Description: Muon bremsstrahlung using the Petrukhin's model in FASTSIM
00006 // Authors: Sandro Fonseca de Souza and Andre Sznajder (UERJ/Brazil)
00007 // Date: 23-Nov-2010
00009 
00010 #include <fstream>
00011 #include "TF1.h"
00012 #include "FastSimulation/MaterialEffects/interface/PetrukhinModel.h"
00013 #include <math.h>
00014 using namespace std;
00015 
00016 //=====================================================================
00017 
00019 //Function of Muom Brem using  nuclear-electron screening correction from G4 style
00020 //
00021 
00022  double PetrukhinFunc (double *x, double *p ){
00023  
00024    //Function independent variable 
00025    double nu = x[0]; //fraction of muon's energy transferred to the photon
00026    
00027   // Parameters
00028    double E=p[0]; //Muon Energy (in GeV)
00029    double A=p[1];// Atomic weight
00030    double Z=p[2];// Atomic number
00031 
00032  /*
00033 
00035 //Function of Muom Brem using  nuclear screening correction
00036 //Ref: https://pdg.lbl.gov/2008/AtomicNuclearProperties/adndt.pdf
00037 
00038    //Physical constants
00039    double B = 182.7;
00040    double ee = sqrt(2.7181) ; // sqrt(e)
00041    double ZZ=  pow( Z,-1./3.); // Z^-1/3
00043   double emass = 0.0005109990615;  // electron mass (GeV/c^2)
00044   double mumass = 0.105658367;//mu mass  (GeV/c^2)
00045 
00046    double re = 2.817940285e-13;// Classical electron radius (Units: cm)
00047    double alpha = 1./137.03599976; // fine structure constant
00048    double Dn = 1.54* (pow(A,0.27));
00049    double constant =  pow((2.0 * Z * emass/mumass * re ),2.0);
00051    
00052    double delta = (mumass * mumass * nu) /(2.* E * (1.- nu)); 
00053     
00054    double Delta_n = TMath::Log(Dn / (1.+ delta *( Dn * ee -2.)/ mumass)); //nuclear screening correction 
00055     
00056    double Phi = TMath::Log((B * mumass * ZZ / emass)/ (1.+ delta * ee * B * ZZ  / emass)) - Delta_n;//phi(delta)
00057    
00058     //Diff. Cross Section for Muon Brem from a screened nuclear (Equation 16: REF: LBNL-44742)
00059    double f = alpha * constant *(4./3.-4./3.*nu + nu*nu)*Phi/nu;
00060 */
00061 
00063 // Function for Muon Brem Xsec from G4
00065 //Physical constants
00066    double B = 183.;
00067    double Bl= 1429.;
00068    double ee = 1.64872 ; // sqrt(e)
00069    double Z13=  pow( Z,-1./3.); // Z^-1/3
00070    double Z23=  pow( Z,-2./3.); // Z^-2/3
00071 
00072    //Original values of paper
00073    double emass = 0.0005109990615;  // electron mass (GeV/c^2)
00074    double mumass = 0.105658367;     // muon mass  (GeV/c^2)
00075    // double re = 2.817940285e-13;     // Classical electron radius (Units: cm)
00076    double alpha =  0.00729735;      // 1./137.03599976; // fine structure constant
00077    double constant = 1.85736e-30;   // pow( ( emass / mumass * re ) , 2.0);
00078 
00079    double Dn = 1.54*(pow(A,0.27));
00080    double Dnl= pow(Dn,(1.-1./Z));
00081 
00082    double delta = (mumass * mumass * nu)/(2.* E * (1.- nu)); 
00083     
00084     
00085    double Phi_n = TMath::Log( B * Z13 *( mumass + delta * ( Dnl * ee -2 ))
00086                   / ( Dnl * ( emass + delta * ee * B * Z13 ) ) );
00087 
00088     
00089    double Phi_e = TMath::Log( ( Bl * Z23 * mumass )
00090                   / ( 1.+ delta * mumass / ( emass*emass * ee ) )
00091                   / ( emass + delta *ee * Bl * Z23 ) );
00092 
00093 
00094 
00095 //Diff. Cross Section for Muon Brem from G4 ( without NA/A factor )
00096    double f =  16./3. * alpha * constant* Z * ( Z * Phi_n + Phi_e ) * (1./nu) * (1. - nu + 0.75*nu*nu) ;
00097 
00098    return f;
00099  
00100 
00101 
00102  }
00103 
00104 
00105