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: http://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