Difference between revisions of "LaserComptonScat"
(450 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | =LCS model paper= | ||
+ | [[Syed_LCS_G4ModelPaper]] | ||
+ | |||
+ | |||
+ | Semester's paper in .doc format: [[Image:Syed_G4_05072009.doc]] | ||
+ | |||
+ | =Formulas= | ||
+ | ==Compton <math>E_{gamma}</math> kinematic== | ||
+ | Equation 1 from Reference [[Image:Stepanek_NIMA_412_1998pg174.pdf]] says that the backsattered x-ray energy is given by | ||
+ | |||
+ | :<math>E_\gamma = \frac{4\gamma^2E_{laser}}{1 +\gamma^2 \theta^2}</math> | ||
+ | |||
+ | |||
+ | <math> (E^{max}_\gamma) </math>@532nm = <math> 4\gamma^2E_{laser}=4\left(\frac{E_e}{m_e}\right)^2E_{laser}= 4\left(\frac{20 MeV}{0.511 MeV}\right)^2 2.326 eV = 14.252 keV</math> | ||
+ | |||
+ | <math> (E^{max}_\gamma) </math>@1064nm = <math> 4\gamma^2E_{laser}= 4\left(\frac{20 MeV}{0.511 MeV}\right)^2 1.163 eV = 7.126 keV</math> | ||
+ | |||
+ | |||
+ | GEANT4 calculation in syed_compton: | ||
+ | |||
+ | ==Lorentz boost== | ||
+ | |||
Notes on Syed's GEANT4 project for Laser Compton Scattering at the IAC | Notes on Syed's GEANT4 project for Laser Compton Scattering at the IAC | ||
=2/7/08= | =2/7/08= | ||
Line 780: | Line 802: | ||
Case-a) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="LowEnCompton", #events: 2,000,000''' | Case-a) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="LowEnCompton", #events: 2,000,000''' | ||
− | Result= | + | lowEnergyLimit(2*eV)''' |
+ | intrinsicLowEnergyLimit(1*eV)''' | ||
+ | Result= 270 interactions''' | ||
Case-b) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="Compton", #events: 2,000,000''' | Case-b) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="Compton", #events: 2,000,000''' | ||
− | Result= | + | lowEnergyLimit(2*eV)''' |
+ | Result= 0 interactions''' | ||
{| border="1" |cellpadding="20" cellspacing="0 | {| border="1" |cellpadding="20" cellspacing="0 | ||
Line 790: | Line 815: | ||
|'''Variable''' || '''SyedLowEnCompton_value (case-a)''' || '''SyedCompton_value (case-b)''' | |'''Variable''' || '''SyedLowEnCompton_value (case-a)''' || '''SyedCompton_value (case-b)''' | ||
|- | |- | ||
− | |# Triggers || || | + | |# Triggers ||18955 || |
|- | |- | ||
|Compton Event # || 2 || 2 | |Compton Event # || 2 || 2 | ||
|- | |- | ||
− | |Scattered Photon energy (keV) || || | + | |Scattered Photon energy (keV) ||0.002326 || |
|- | |- | ||
|photon X position || 0 || 0 | |photon X position || 0 || 0 | ||
Line 800: | Line 825: | ||
|photon Y position || 0 || 0 | |photon Y position || 0 || 0 | ||
|- | |- | ||
− | |photon Z position || | + | |photon Z position || 601.57 || |
|- | |- | ||
− | |photon X Momentum || | + | |photon X Momentum || -6.4311e-10 || |
|- | |- | ||
− | |photon Y Momentum || || | + | |photon Y Momentum || -9.36186e-10|| |
|- | |- | ||
− | |photon Z Momentum || | + | |photon Z Momentum ||2.326e-06 || |
|- | |- | ||
|Particle ID || 22 || 22 | |Particle ID || 22 || 22 | ||
|- | |- | ||
− | | Scattered e- KE (keV)|| | + | | Scattered e- KE (keV)|| 1.26208e-15 || |
|- | |- | ||
− | | Scattered electron X position || | + | | Scattered electron X position || 549.557 || |
|- | |- | ||
− | | Scattered electron Y position || | + | | Scattered electron Y position || 800 || |
|- | |- | ||
− | | Scattered electron Z position || | + | | Scattered electron Z position || 601.807 || |
|- | |- | ||
− | | Scattered electron X Momentum || || | + | | Scattered electron X Momentum || 6.43062e-10|| |
|- | |- | ||
− | | Scattered electron Y Momentum || || | + | | Scattered electron Y Momentum || 9.36116e-10 || |
|- | |- | ||
− | | Scattered electron Z Momentum || | + | | Scattered electron Z Momentum || 2.77288e-13 || |
|- | |- | ||
| Particle ID || 11 || 11 | | Particle ID || 11 || 11 | ||
Line 842: | Line 867: | ||
|} | |} | ||
+ | |||
+ | Case-c) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="LowEnCompton", #events: 2,000,000''' | ||
+ | lowEnergyLimit(2*eV)''' | ||
+ | intrinsicLowEnergyLimit(0.1*eV)''' | ||
+ | Result= 270 interactions''' | ||
+ | |||
+ | Case-d) <math>E_{electron}</math>=20 MeV, <math>E_{\gamma}</math>=2.326 eV, process="LowEnCompton", #events: 5,000,000''' | ||
+ | lowEnergyLimit(2*eV)''' | ||
+ | intrinsicLowEnergyLimit(0.1*eV)''' | ||
+ | Result= 636 interactions''' | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Variable''' || '''SyedLowEnCompton_value (case-c)''' || '''SyedLowEnCompton_value (case-d)''' | ||
+ | |- | ||
+ | |# Triggers ||18955 || 18955 | ||
+ | |- | ||
+ | |Compton Event # || 2 || 2 | ||
+ | |- | ||
+ | |Scattered Photon energy (keV) ||0.002326 || 0.002326 | ||
+ | |- | ||
+ | |photon X position || 0 || 0 | ||
+ | |- | ||
+ | |photon Y position || 0 || 0 | ||
+ | |- | ||
+ | |photon Z position || 601.57 || 601.57 | ||
+ | |- | ||
+ | |photon X Momentum || -6.4311e-10 || -6.4311e-10 | ||
+ | |- | ||
+ | |photon Y Momentum || -9.36186e-10|| -9.36186e-10 | ||
+ | |- | ||
+ | |photon Z Momentum ||2.326e-06 || 2.326e-06 | ||
+ | |- | ||
+ | |Particle ID || 22 || 22 | ||
+ | |- | ||
+ | | Scattered e- KE (keV)|| 1.26208e-15 || 1.26208e-15 | ||
+ | |- | ||
+ | | Scattered electron X position || 549.557 || 549.557 | ||
+ | |- | ||
+ | | Scattered electron Y position || 800 || 800 | ||
+ | |- | ||
+ | | Scattered electron Z position || 601.807 || 601.807 | ||
+ | |- | ||
+ | | Scattered electron X Momentum || 6.43062e-10|| 6.43062e-10 | ||
+ | |- | ||
+ | | Scattered electron Y Momentum || 9.36116e-10 || 9.36116e-10 | ||
+ | |- | ||
+ | | Scattered electron Z Momentum || 2.77288e-13 || 2.77288e-13 | ||
+ | |- | ||
+ | | Particle ID || 11 || 11 | ||
+ | |} | ||
+ | |||
+ | o '''Plots''' | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedLowEnCompton, 2.326 eV incoming Photons(2-million events)'''|| '''GEANT4_SyedCompton, 2.326 eV incoming Photons (5-million events)''' | ||
+ | |- | ||
+ | |[[Image:SyedLowEnCompton_At_20MeVelectron_2.326eVphoton_4-23-08a.jpg | 400 px]] || [[Image:SyedCompton_At_20MeVelectron_2.326eVphoton_4-23-08c.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons(2-million events)'''|| '''GEANT4_SyedCompton, 20 MeV incoming Electrons(5-million events)''' | ||
+ | |- | ||
+ | |[[Image:SyedLowEnCompton_At_20MeVelectron_2.326eVphoton_4-23-08b.jpg | 400 px]] || [[Image:SyedCompton_At_20MeVelectron_2.326eVphoton_4-23-08cc.jpg | 400 px]] | ||
+ | |} | ||
2.) After SyedCompton runs, change it so the final electron kinetic energy is calculated correctly. | 2.) After SyedCompton runs, change it so the final electron kinetic energy is calculated correctly. | ||
− | + | Final Electron KE is approx. equals to 20MeV in this case because energy lost by incoming electrons is so small following''' | |
+ | Compton interaction as shown in above plots ...suggestions???''' | ||
+ | |||
+ | =4/24/08= | ||
+ | |||
+ | |||
+ | 1.) Try HeP Lorentz vector class and set vectors within the SyedCompton routine | ||
+ | |||
+ | [http://proj-clhep.web.cern.ch/proj-clhep/manual/RefGuide/index.html#vect CLHEP Man] | ||
+ | |||
+ | |||
+ | HepLorentzVector P4eLab | ||
+ | |||
+ | P4eLab.setPx(HepDouble); | ||
+ | |||
+ | |||
+ | =5/1/08= | ||
+ | |||
+ | Got the class | ||
+ | |||
+ | G4LorentzVector* P4eLab; | ||
+ | |||
+ | defined in SyedLowEnergyCompton.hh | ||
+ | |||
+ | |||
+ | Then created the variable | ||
+ | |||
+ | P4eLab = new G4LorentzVector; | ||
+ | |||
+ | P4eLab->setPx(1.4596); | ||
+ | |||
+ | G4cout << "P4e Px= " << P4eLab << G4endl; | ||
+ | |||
+ | in SyedLowEnergyCompton.cc | ||
+ | |||
+ | |||
+ | 1.) Check the functionality of the function calls below to see if we understand how they work | ||
+ | |||
+ | P4eLab->setPx(1.4596); | ||
+ | cout << "P4e " << P4eLab << endl; | ||
+ | '''cout << "rest 4 Vector" << P4eLab.rest4Vector() << endl;---->"These functions are not declared!" | ||
+ | '''cout << "rest 4 Vector" << P4eLab.rest4Vector().beta << endl;'''---->"These functions are not declared!" | ||
− | + | 2.) Look up relativistic Lorentz transformation to boost to electron rest frame. | |
A fair start is at | A fair start is at | ||
+ | |||
http://www.iac.isu.edu/mediawiki/index.php/Forest_Relativity_Notes#Lorentz_Transformations | http://www.iac.isu.edu/mediawiki/index.php/Forest_Relativity_Notes#Lorentz_Transformations | ||
+ | |||
+ | 3.) check out reference | ||
+ | |||
+ | A.A. Sokolov and I.M. Ternov Sov. Phys. Dokl. 8 (1964), p. 1203. | ||
+ | |||
+ | may lead to a reference for our problem. | ||
+ | |||
+ | 4.) Install GEANT4 on Brems | ||
+ | *done* but with graphics option was disabled, there are issues with OpenGL on brems and I was not able to compile MesaGL in my local folder | ||
+ | |||
+ | 5.) create 2 sets of 24 random number seed files. The first set of 24 random number seed files will run for 2 hours and the second set will run for 24 hours. | ||
+ | *Compilation Error message on Brems:* | ||
+ | Compiling LCS.cc ... | ||
+ | Using global libraries ... | ||
+ | Linking LCS ... | ||
+ | /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::UpdateVTE()' | ||
+ | /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::CreatePVReplica()' | ||
+ | /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3DivType, G3VolTableEntry*, G3VolTableEntry*, int, int, int, double, double)' | ||
+ | /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3VolTableEntry*, G3VolTableEntry*, G3Division const&)' | ||
+ | collect2: ld returned 1 exit status | ||
+ | make: *** [/home/naeesyed/geant4/bin/Linux-g++/LCS] Error 1 | ||
+ | |||
+ | =6/12/08 = | ||
+ | 1.) using interactive version of LCS test the transformations below | ||
+ | |||
+ | We have proton and electron. In the Lab frame electron is moving along the x-axis with momentum ;<math>\vec{p_e}</math> and proton is at rest. The 4-vectors are:<br> | ||
+ | ;Lab Frame: <math>P_e=</math>(<math>E_e</math>,<math>p_e</math>,0,0) and for proton :<math>P_p=</math>(<math>m_p</math>,0,0,0)<br> | ||
+ | ;CM Frame: :<math>{P_e}^{\prime}=</math>(<math>{E_e}^{\prime}</math>,<math>{p_e}^{\prime}</math>,<math>0</math>,<math>0</math>) and for proton :<math>{P_p}^{\prime}=</math>(<math>{E_p}^{\prime}</math>,<math>{p_p}^{\prime}</math>,<math>0</math>,<math>0</math>)<br> | ||
+ | |||
+ | :Find <math> \beta_{CM} </math> such that <math>P_{tot}^{CM}=0 =p_e^{\prime} + {p_p}^{\prime}</math><br> | ||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_e}^{\prime} \\ p_e^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_e \\ p_e \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_p}^{\prime} \\ p_p^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 &1\end{matrix} \right ] \left ( \begin{matrix} m_p \\ 0 \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | Using the last two equations we will get the following for x component:<br> | ||
+ | :<math>{p_e}^{\prime}=-\gamma_{cm}(\beta_{cm} E_e-p_e)</math><br> | ||
+ | |||
+ | :<math>p_p^{\prime} = - \gamma_{cm} \beta_{cm} m_p</math><br> | ||
+ | |||
+ | :<math> \gamma_{cm}(p_e - \beta_{cm} E_e)= \gamma_{cm} \beta_{cm} m_p </math><br> | ||
+ | |||
+ | :<math>\beta_{cm} = \frac {p_e}{m_p + E_e}</math><br> | ||
+ | |||
+ | ;Example | ||
+ | :<math>p_e = 5.736 Gev \sim E_e</math> : electron mass is neglibible | ||
+ | :<math>m_p = 0.938 GeV</math> : Mass of a proton | ||
+ | :<math>\beta_{cm} = \frac{5.736}{6.674} = 0.859 < 1</math><br> | ||
+ | :<math>\gamma_{cm} = \frac{1}{\sqrt{1 - \beta_{cm}^2}} = \frac{1}{\sqrt{1 - 0.859^2}} = 1.9532</math><br> | ||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_e}^{\prime} \\ p_{ex}^{\prime} \\ p_{ey}^{\prime} \\ p_{ez}^{\prime} \end{matrix} \right )= \left [ \begin{matrix} \gamma_{cm} & 0 & 0 & -\gamma_{cm} \beta_{cm} \\ 0 & 1 &0 &0 \\ 0 &0 &1 &0 \\ -\gamma_{cm} \beta_{cm} &0 &0 &\gamma_{cm}\end{matrix} \right ] \left ( \begin{matrix} E_e=4.4915 \\ -0.549 \\ 0.974 \\ 4.3501 \end{matrix} \right )</math><br> | ||
+ | |||
+ | ;Electron:<math>\left ( \begin{matrix} {E_e}^{\prime} \\ p_{ex}^{\prime} \\ p_{ey}^{\prime} \\ p_{ez}^{\prime} \end{matrix} \right )= \left ( \begin{matrix} 4.4915 \gamma_{cm} - 4.3501 \gamma_{cm} \beta_{cm} \\ -0.549 \\ 0.974 \\ -4.4915 \gamma_{cm} \beta_{cm} + 4.3501 \gamma_{cm} \end{matrix} \right ) = \left ( \begin{matrix} 1.4742 \\ -0.549 \\ 0.974 \\ 0.96078 \end{matrix} \right )</math><br> | ||
+ | |||
+ | ;In our case 4-vectors for particles are<br> | ||
+ | |||
+ | <math>(P_e)_\mu = ( 5.736, 0, 0, 5.736 GeV)</math><br> | ||
+ | <math>(P_p)_\mu = (m_p, 0, 0, 0)</math><br> | ||
+ | <math>({P_e}^{\prime})_\mu = (4.4914861, -0.549, 0.974, 4.3501 )</math><br> | ||
+ | <math>({P_{\pi^-}}^{\prime})_\mu = (0.575721, 0.1052, -0.4394, 0.3282)</math><br> | ||
+ | |||
+ | ==Compiling on brems== | ||
+ | |||
+ | 1.) turned off a GUI and G3toG4 stuff | ||
+ | |||
+ | 2.) edited $G4INSTALL/config/binmake.gmk and commmented out the VIS variables and include commands | ||
+ | |||
+ | 3.) comment out interactive commands in LCS.cc so only batch mode would run | ||
+ | |||
+ | |||
+ | we are compiled now. | ||
+ | |||
+ | Practice submitting batch jobs via ssh command and the random number seed files. | ||
+ | |||
+ | == Submitting batch jobs on brems== | ||
+ | |||
+ | Concept: While logged into brems you can submit a job to run on bres 3 by using the ssh command via | ||
+ | |||
+ | ssh brems3 source run0.script | ||
+ | |||
+ | |||
+ | the script "run0.script" | ||
+ | |||
+ | contains all the command you would type interactively in order to execute the program | ||
+ | |||
+ | source ~/apps/geant4/geant4.9.1.p02/env.sh | ||
+ | cd /home/naeesyed/geant4/LCS/Laser_Compton_Backscattering/run0 | ||
+ | LCS vis.mac > /dev/null | ||
+ | |||
+ | Khalid has cross sections in his interview talk | ||
+ | |||
+ | <math>\frac{d \sigma}{d \Omega} = \frac{1-\beta^2 }{1-\beta cos \theta} cos^2 \theta cos -\beta</math> | ||
+ | |||
+ | =9/5/08 = | ||
+ | |||
+ | Insert Transformation matrix to take electron beam in Lab frame to the electron in the electron's rest frame. | ||
+ | |||
+ | '''Find <math>\beta_R</math>''' | ||
+ | |||
+ | ;Lab Frame: <math>P_e{\mu}=</math>(<math>E_e</math>,<math>p_e</math>,0,0) and for proton :<math>P_{\gamma}^{\mu}=</math>(<math>E_{\gamma}</math>,<math>P_{\gamma}</math>,0,0)<br> | ||
+ | |||
+ | ;Transform from the LAB frame to a reference frame in which the electron is at rest: | ||
+ | :Find <math> \beta_{CM} </math> such that <math>P_{tot}^{CM}=0 =p_e^{\prime} + {p_p}^{\prime}</math><br> | ||
+ | |||
+ | |||
+ | <math> \beta_R = \frac{v_e}{c} = \frac {P_e}{E_e + m_e} =\frac {20MeV}{20MeV + 0.511MeV} = 0.975 < 1</math> | ||
+ | |||
+ | <math> \gamma_R = \frac {1}\sqrt{1 - \beta_r^2} =\frac {1}\sqrt{1 - 0.975^2} = 4.5</math> | ||
+ | |||
+ | |||
+ | The relativistic transformation matrix for the four momentum is given by | ||
+ | |||
+ | |||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_e}^{\prime} \\ p_e^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_e \\ p_e \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_g}^{\prime} \\ p_g^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_g \\ p_g \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_e}^{\prime} \\ p_e^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_{\gamma} \\ p_{\gamma} \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Insert Transformation matrix to transform outgoing X-ray momentum four vector in the Lab from to the electron at rest frame.''' | ||
+ | |||
+ | |||
+ | |||
+ | <math>P_e^{\mu} =\left(E_e^R, P_{ex}^R, P_{ey}^R, P_{ez}^R\right) = (2.25MeV, 0, 0, 2.25)</math> | ||
+ | |||
+ | Was the energy of 2.25 MeV just chosen as an example? | ||
+ | This is the calculated electron energy in C.M. frame. | ||
+ | |||
+ | '''Write equation for <math>\theta_R</math>= angle of the outgoing X-ray in the electron rest frame.''' | ||
+ | |||
+ | <math> \theta_{f,R} = cos^{-1} (\frac {-\gamma_R \beta_R E_e^{lab frame} + \gamma_R P_{e_z}^{lab frame}}{P_{e_z}}) = cos^{-1} (\frac {(-4.5*0.975*20 ) + (4.5*20)}{2.25}) = 0^o</math> | ||
+ | |||
+ | Klein-Nishina Compton Cross Section | ||
+ | |||
+ | Khalid LCS paper:[[Image:Chouffani_PhysRevST_050701_2006_pg9.pdf]] | ||
+ | |||
+ | |||
+ | Questions: Why <math>\theta</math> and <math>\theta_d</math> ? | ||
+ | <math>\theta_d</math> is the detector's angle with respect to incoming LCS X-rays. | ||
+ | |||
+ | =9/26/08 = | ||
+ | |||
+ | 1.) Use B= 0.975 to transform photon to electrons rest frame inside the event generator | ||
+ | |||
+ | for a few events check | ||
+ | |||
+ | <math>E_\gamma</math> before and after | ||
+ | |||
+ | |||
+ | // muon momenta in the primary's rest frame | ||
+ | CLHEP::HepLorentzVector pMu1 ( p0x, p0y, p0z, p00 ); | ||
+ | CLHEP::HepLorentzVector pMu2 ( -p0x, -p0y, -p0z, p00 ); | ||
+ | |||
+ | // muon momenta in the boosted frame | ||
+ | CLHEP::HepLorentzVector boostedPMu1 = pMu1.boostZ ( beta ); | ||
+ | CLHEP::HepLorentzVector boostedPMu2 = pMu2.boostZ ( beta ); | ||
+ | |||
+ | |||
+ | Declared the following in the event generator: | ||
+ | |||
+ | //declaring G4LorentzVector for both electrons and gammas | ||
+ | G4double beta = 0.975; | ||
+ | p4eLab = new G4LorentzVector; | ||
+ | p4gammaLab = new G4LorentzVector; | ||
+ | |||
+ | p4gammaBoostedx = new G4LorentzVector; | ||
+ | p4gammaBoostedy = new G4LorentzVector; | ||
+ | p4gammaBoostedz = new G4LorentzVector; | ||
+ | |||
+ | p4eBoostedx = new G4LorentzVector; | ||
+ | p4eBoostedy = new G4LorentzVector; | ||
+ | p4eBoostedz = new G4LorentzVector; | ||
+ | |||
+ | |||
+ | However, I'm stuck with in getting momentum values in the lab frame for both electrons and gammas...G4ParticleDefinition doesn't | ||
+ | include "getMomentum" function and we need momentums in the lab frame that could be passed in the above declared variables?-- | ||
+ | [[User:Daq|Daq]] 09:28, 3 October 2008 (MDT) | ||
+ | |||
+ | Update: "ExN02EventAction" class is getting momentum values of the existing event, I declared above variables in EventAction class. | ||
+ | // get information on primary particle | ||
+ | |||
+ | G4PrimaryParticle* primary=evt->GetPrimaryVertex(0)->GetPrimary(0); | ||
+ | |||
+ | //Added by Syed | ||
+ | p4eLab(primary->GetMomentum().x(),primary->GetMomentum().y(),primary->GetMomentum().z(), primary->GetEnergy()); | ||
+ | |||
+ | p4eBoostedx = p4eLab.boostX(beta); | ||
+ | p4eBoostedy = p4eLab.boostY(beta); | ||
+ | p4eBoostedz = p4eLab.boostZ(beta); | ||
+ | Now, the question is where to LorentzBoost gammas? | ||
+ | --[[User:Daq|Daq]] 13:26, 3 October 2008 (MDT) | ||
+ | |||
+ | [http://stop.itp.tuwien.ac.at/websvn/filedetails.php?repname=vertigo&path=%2Ftrunk%2FPlugins%2FVertexGun%2Fsrc%2FKinematicsParticleGun.cc&rev=696&sc=0 reference] | ||
+ | |||
+ | 2.) Now take tracking verbose output and by a hand calculation transform the outgoing photon <math>P^{\mu}</math> to the lab frame | ||
+ | |||
+ | |||
+ | 3.) Check EventAction to see if the photon momentum and energy are being passed | ||
+ | |||
+ | |||
+ | =10/3/08 = | ||
+ | |||
+ | 1.) In event generator: | ||
+ | |||
+ | Boost electron and gamma and compare with hand calculation. (Units: MeV) | ||
+ | P4e LabFrame w/o boost= (20 ,0 ,0 ,20) | ||
+ | P4e RestFrame w boost= (177.764 ,0 ,0 ,177.764) | ||
+ | P4gamma LabFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) | ||
+ | P4gamma RestFrame w boost= (1.9874e-05 ,0 ,0 ,1.9874e-05) | ||
+ | |||
+ | Using findBoostToCM() function of Hep3Vector | ||
+ | p4e RestFrame w/ findBoostToCM function= ((-0,-0,-1)) | ||
+ | p4gamma RestFrame w/ findBoostToCM function= ((-0,-0,-1)) | ||
+ | |||
+ | |||
+ | |||
+ | =10/10/08 = | ||
+ | |||
+ | <math>\beta</math>=0.975, <math>Ee</math>=20 MeV | ||
+ | |||
+ | P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) | ||
+ | Electron Rest w/o boost mass = 0.511 | ||
+ | P4e RestFrame w/ boost= (2.27955 ,0 ,0 ,2.22154) | ||
+ | Electron Rest w/ boost mass = 0.511 | ||
+ | |||
+ | |||
+ | <math>\beta</math>=0.9996737585, <math>Ee</math>=20 MeV, <math>E\gamma</math>=2.236 eV | ||
+ | |||
+ | P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) | ||
+ | Electron Rest w/o boost mass = 0.511 | ||
+ | P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) | ||
+ | Electron Rest w/ boost mass = 0.511 | ||
+ | |||
+ | P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) | ||
+ | P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08) | ||
+ | |||
+ | '''Simulation''' | ||
+ | |||
+ | '''i) No. of events=10,000,000''' | ||
+ | P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) | ||
+ | P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08) | ||
+ | LowEnCompton events=0 | ||
+ | ------------------------------------------------------------- | ||
+ | lowEnergyLimit(0*eV): Cannot be set below 1 eV, getting G4Exception error message if I set the intrinsic low energy below 1 eV and 1eV > 2.85602e-08 MeV | ||
+ | |||
+ | '''ii) No. of events executing on inca=100,000,000''' | ||
+ | P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) | ||
+ | P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) | ||
+ | '''/home/syed/geant4/LCS/Laser_Compton_Backscattering/output.txt format:''' | ||
+ | ComptonEventTrigger/10, ComptonEventCounter, fTrack->GetKineticEnergy())*1000, fTrack->GetPosition().x(), fTrack->GetPosition().y(), | ||
+ | fTrack->GetPosition().z(), fTrack->GetMomentum().x(), fTrack->GetMomentum().y(), fTrack->GetMomentum().z(), | ||
+ | fTrack->GetDefinition()->GetPDGEncoding(), electronKE, electronxPosition, electronyPosition, electronzPosition, electronxMomentum, | ||
+ | electronyMomentum, electronzMomentum, electronPDGID | ||
+ | |||
+ | |||
+ | = 10/17/08= | ||
+ | |||
+ | The boosted electron and gamma energies seem to be working now | ||
+ | |||
+ | P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) | ||
+ | P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) | ||
+ | P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,-2.236e-06) | ||
+ | P4gamma RestFrame w/ boost= (0.000175058 ,0 ,0 ,-0.000175058) | ||
+ | |||
+ | |||
+ | '''What should gamma energy be after boosting to electron rest frame?''' | ||
+ | <math>\beta</math>=0.9996737585 | ||
+ | <math>P\gamma_z</math>= 2.326 eV | ||
+ | Hand calculated value is <math>E\gamma</math> = 0.03 eV from <math>E\gamma</math> =2.236 eV. | ||
+ | Computer simulated value is <math>E\gamma</math> = 0.0285602 eV from <math>E\gamma</math> =2.236 eV. | ||
+ | ---------------------------------------------------------------------------------------------------- | ||
+ | <math>\beta</math>=0.9996737585 | ||
+ | <math>P\gamma_z</math>= -2.326 eV | ||
+ | Hand calculated value is <math>E\gamma</math> = 181.05 eV from <math>E\gamma</math> =2.236 eV. | ||
+ | Computer simulated value is <math>E\gamma</math> = 175.058 eV from <math>E\gamma</math> = 2.236 eV. | ||
+ | |||
+ | |||
+ | |||
+ | '''Now boost the electron and gamma vectors back to the lab frame in Stepping Verbose | ||
+ | Number of events executed: 20 million | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedLowEnCompton, <math>E\gamma</math>:266 nm=4.652 eV (for 532 nm laser), <math>E_e</math>=20 MeV'''|| '''GEANT4_SyedLowEnCompton, <math>E\gamma</math>:266 nm=4.652 eV (for 532 nm laser), <math>E_e</math>=20 MeV''' | ||
+ | |- | ||
+ | |[[Image:LowEnCompton_At_20MeVelectron_2.326eVphoton_10-24-08a.jpg | 400 px]] || [[Image:LowEnCompton_At_20MeVelectron_2.326eVphoton_10-24-08b.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedLowEnCompton, <math>E\gamma</math>:532 nm=2.326 eV (for 1064 nm laser), <math>E_e</math>=20 MeV'''|| '''GEANT4_SyedLowEnCompton, <math>E\gamma</math>:532 nm=2.326 eV (for 1064 nm laser), <math>E_e</math>=20 MeV''' | ||
+ | |- | ||
+ | |[[Image:LowEnCompton_At_20MeVelectron_2.326eVphoton_10-24-08c.jpg | 400 px]] || [[Image:LowEnCompton_At_20MeVelectron_2.326eVphoton_10-24-08d.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | Equation 1 from Reference [[Image:Chouffani_JCPDS_2003_46_pg73.pdf]] says that the backsattered x-ray energy is given by | ||
+ | |||
+ | :<math>E_\gamma = \frac{4\gamma^2E_{laser}}{1 +\gamma^2 \theta^2}</math> | ||
+ | |||
+ | |||
+ | <math> (E^{max}_\gamma) </math>@532nm = <math> 4\gamma^2E_{laser}=4\left(\frac{E_e}{m_e}\right)^2E_{laser}= 4\left(\frac{20 MeV}{0.511 MeV}\right)^2 2.326 eV = 14.252 keV</math> | ||
+ | |||
+ | <math> (E^{max}_\gamma) </math>@1064nm = <math> 4\gamma^2E_{laser}= 4\left(\frac{20 MeV}{0.511 MeV}\right)^2 1.163 eV = 7.126 keV</math> | ||
+ | |||
+ | = 10/24/08= | ||
+ | |||
+ | '''Now compare BDSIM output to GEANT4 output with the boosting based Laser compton scattering physics process. | ||
+ | |||
+ | Number of events executed: 1 million | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''BDSIM, <math>\lambda_{laser}</math>:266nm (for 532nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:BDSIM_At_20MeVelectron_2.326eVphoton_10-26-08a.jpg | 400 px]] || [[Image:BDSIM_At_20MeVelectron_2.326eVphoton_10-24-08b.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''BDSIM, <math>\lambda_{laser}</math>:532nm (for 1064nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:BDSIM_At_20MeVelectron_1eVphoton_10-26-08a.jpg | 400 px]] || [[Image:BDSIM_At_20MeVelectron_1eVphoton_10-24-08b.jpg | 400 px]] | ||
+ | |} | ||
+ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4_lowEnCompton, <math>\lambda_{laser}</math>:266nm (for 532nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08a.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08b.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4_lowEnCompton, <math>\lambda_{laser}</math>:532nm (for 1064nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_1eVphoton_10-30-08a.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_1eVphoton_10-30-08b.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4_Compton, <math>\lambda_{laser}</math>:266nm (for 532nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08c.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08d.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4_Compton, <math>\lambda_{laser}</math>:532nm (for 1064nm laser), <math>E_e</math>=20 MeV'''|| '''Angular dependence (Head-on collision)''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_1eVphoton_10-30-08c.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_1eVphoton_10-30-08d.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''A 522 nm wavelength photon is | ||
+ | |||
+ | : <math>E_\gamma = h \nu = \frac{ c h}{\lambda} </math> | ||
+ | : <math>E_\gamma = \frac{6.2 \times 10^{-34} J sec \times 3 \times 10^8 m/sec}{532 \times 10 ^{-9} m} \frac{ eV } {1.6 \times 10^-{19} J} =</math> | ||
+ | : <math>E_\gamma = 2.18 eV</math> | ||
+ | |||
+ | Why does GEANT4 and BDSIM give a max compton <math>E_{\gamma}</math> of 7 keV when using an input photon energy of 2.18 eV instead of 14 keV as predicted by the above formula. A factor of 2 difference exits! | ||
+ | |||
+ | Now that we have source code for a compton scattering process, lets compare its output to some observables. | ||
+ | |||
+ | 1.) Check if the <math>\theta</math> dependence is shown by the simulation | ||
+ | Done; see above plots | ||
+ | |||
+ | :<math>E_\gamma = \frac{4\gamma^2E_{laser}}{1 +\gamma^2 \theta^2}</math> | ||
+ | |||
+ | |||
+ | usefull root command: | ||
+ | |||
+ | LCS->makeCode(); | ||
+ | or | ||
+ | LCS->MakeClass(); | ||
+ | |||
+ | |||
+ | 2.) Plot the scattered electron kinetic energy distribution and compare it with predictions from the Klein Nishina formula. | ||
+ | E_min is 20 MeV for electrons and the code(DiffEKleinNishina.c) is computing E_max for incoming gammas which in LCS case is much smaller, i.e, 2.326 eV! | ||
+ | The code will not go through the for loop. Even following the LorentzBoost, E_min=0.511 MeV for electrons and E_gamma=183 eV, the code | ||
+ | will not compute DiffEXSect for electrons so today lets talk about working on DiffEKleinNishina.c? | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4 "lowEnCompton" <math>\lambda_{laser}</math>:266nm (for 532 nm laser), <math>E_e</math>=20 MeV'''|| '''Geant4 "lowEnCompton" <math>\lambda_{laser}</math>:532nm (for 1064nm laser), <math>E_e</math>=20 MeV''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08e.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08f.jpg | 400 px]] | ||
+ | |} | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''Geant4 "Compton" <math>\lambda_{laser}</math>:266nm (for 532 nm laser), <math>E_e</math>=20 MeV'''|| '''Geant4 "Compton" <math>\lambda_{laser}</math>:532nm (for 1064nm laser), <math>E_e</math>=20 MeV''' | ||
+ | |- | ||
+ | |[[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08g.jpg | 400 px]] || [[Image:Geant4_At_20MeVelectron_2.326eVphoton_10-30-08h.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | 3.) Save random number for Comptom event. | ||
+ | Done | ||
+ | |||
+ | 4.) Write Kelin Nishina cross section formula in your Compton scattering physics process. | ||
+ | |||
+ | = 11/4/08= | ||
+ | |||
+ | |||
+ | insert picture of compton event with coordinate system drawn. | ||
+ | |||
+ | |||
+ | '''1.) E gamma is delta function instead of distribution (conservation of E & P) : Check if outputting correct values from GEANT. | ||
+ | |||
+ | Output for the lowEnCompton: | ||
+ | ### Run 0 start. | ||
+ | Start Run processing. | ||
+ | |||
+ | ********************************************************************************************************* | ||
+ | * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 0 | ||
+ | ********************************************************************************************************* | ||
+ | |||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 1 0 0 800 0 0 -0.885077 511 keV 0 eV 8.8 m 8.8 m World Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 2 0 0 200 0 0 -0.885077 511 keV 0 eV 60 cm 9.4 m Tracker Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 3 0 0 0 0 0 -0.885077 511 keV 0 eV 20 cm 9.6 m Chamber Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 4 0 0 -800 0 0 -0.885077 511 keV 0 eV 80 cm 10.4 m Tracker Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 5 0 0 -960 0 0 -0.885077 511 keV 0 eV 16 cm 10.56 m OutOfWorld Transportation | ||
+ | |||
+ | ********************************************************************************************************* | ||
+ | * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 | ||
+ | ********************************************************************************************************* | ||
+ | |||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 1 0 0 -800 0 0 0.000349583 349.583 eV 0 eV 8.8 m 8.8 m World Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 2 0 0 0 0 0 0.000349583 349.583 eV 0 eV 80 cm 9.6 m Tracker Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 3 0 0 200 0 0 0.000349583 349.583 eV 0 eV 20 cm 9.8 m Chamber Transportation | ||
+ | |||
+ | '''#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 4 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 44.2575 cm 10.2426 m Tracker LowEnCompton''' | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 5 -800 -373.365 -593.133 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 1.51868 m 11.7612 m Tracker Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 6 -960 -448.038 -840.274 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 30.3735 cm 12.065 m OutOfWorld Transportation | ||
+ | |||
+ | ********************************************************************************************************* | ||
+ | * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 | ||
+ | ********************************************************************************************************* | ||
+ | |||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 1 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.5304 cm 16.5304 cm Tracker Transportation | ||
+ | |||
+ | #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process | ||
+ | 2 92.132 42.9985 960 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.8007 cm 33.3311 cm OutOfWorld Transportation | ||
+ | G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model. | ||
+ | |||
+ | ------------------------------------------------------------------------------ | ||
+ | output.txt (Rest and Lab frame for photons and electrons, Energy in keV) | ||
+ | 1 '''0.34915''' 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 <---Scattered Photons in Rest frame | ||
+ | '''13.6587''' -0.000183924 -8.58383e-05 -0.000284095 22 <---Scattered Photons in Lab frame | ||
+ | '''0.000433214''' 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 <---Scattered electrons in Rest frame | ||
+ | '''0.0417626''' 0.000183924 8.58383e-05 0.000633678 11 <---Scattered electrons in Lab frame | ||
+ | |||
+ | |||
+ | '''2.) Overlay KE of scatter electron from Klein-Nishina , GEANT4 and BDSIM. | ||
+ | ./DiffEXsect 0 2.326 1 | ||
+ | Calculating Differential Compton cross section (in barns/eV) for | ||
+ | 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons | ||
+ | 0 63696.3 | ||
+ | |||
+ | ./DiffEXsect 0.1 2.326 1 | ||
+ | Calculating Differential Compton cross section (in barns/eV) for | ||
+ | 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons | ||
+ | 0 63696.3 | ||
+ | |||
+ | ./DiffEXsect 0.1 2.326 1e-5 | ||
+ | Calculating Differential Compton cross section (in barns/eV) for | ||
+ | 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons | ||
+ | 0 63696.3 | ||
+ | |||
+ | |||
+ | insert scattered photon theta distribution and energy and energy -vs- theta | ||
+ | |||
+ | |||
+ | Overlay scattered photon energy with experiment | ||
+ | |||
+ | |||
+ | [http://www.iac.isu.edu/mediawiki/index.php/User_talk:Tforest Go Back] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | = 11/14/08= | ||
+ | |||
+ | Simulation events: 10,000,000 | ||
+ | |||
+ | '''1. insert picture of compton event with coordinate system drawn. | ||
+ | |||
+ | [[Image:FirstComptonEvent_12-18-08.jpg | 400 px]] | ||
+ | |||
+ | |||
+ | '''2. insert scattered photon theta distribution and energy and energy -vs- theta | ||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedCompton (32 MeV electrons and 532 nm laser)'''|| '''GEANT4_SyedCompton (32 MeV electrons and 532 nm laser)''' | ||
+ | |- | ||
+ | |[[Image:angle_12-18-08a.jpg | 400 px]] || [[Image:angle_12-18-08b.jpg.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedCompton (38 MeV electrons and 266 nm laser)'''|| '''GEANT4_SyedCompton (38 MeV electrons and 266 nm laser)''' | ||
+ | |- | ||
+ | |[[Image:angle_12-18-08c.jpg.jpg | 400 px]] || [[Image:angle_12-18-08d.jpg.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | |||
+ | '''3. Overlay scattered photon energy with experiment | ||
+ | I tried to overlay using TH2F, energy vs. counts, but no progress. | ||
+ | The sample overlay example on hw10 is for TH1F class, probably I need | ||
+ | to go into root manual this winter break. | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedCompton (32 MeV electrons and 532 nm laser)'''|| '''Experimental Data (~32 MeV electrons and 532 nm laser)''' | ||
+ | |- | ||
+ | |[[Image:12-18-08a.jpg | 400 px]] || [[Image:12-18-08b.jpg.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''GEANT4_SyedCompton (38 MeV electrons and 266 nm laser)'''|| '''Experimental Data (~37 MeV electrons and 266 nm laser)''' | ||
+ | |- | ||
+ | |[[Image:12-18-08c.jpg.jpg | 400 px]] || [[Image:12-18-08d.jpg.jpg | 400 px]] | ||
+ | |} | ||
+ | |||
+ | =12/12/08= | ||
+ | |||
+ | Syed's LCS final for Fall, 2008:[[Image:Syed_LCS_Simulation.pdf]] | ||
+ | |||
+ | [http://www.iac.isu.edu/mediawiki/index.php/User_talk:Tforest Go Back] | ||
+ | |||
+ | = 01/06/09= | ||
+ | |||
+ | '''Overlay scattered photon energy with experiment | ||
+ | Histograms Overlay Macro:[[Image:LCS_Experiment.C]] | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''32 MeV electrons and 532 nm laser head-on collision'''|| '''~37 MeV electrons and 266 nm laser head-on collision''' | ||
+ | |- | ||
+ | |[[Image:01-06-09a.jpg | 500 px]] || [[Image:01-06-09b.jpg | 500 px]] | ||
+ | |} | ||
+ | |||
+ | =1/21/09= | ||
+ | |||
+ | '''1.) Run MC with different momentum directions (angle w.r.t. laser) , how many event/CPU sec can be generated? | ||
+ | Here I'm assuming a triangle: a+b+c = 180 with an assumption that -1=180?? | ||
+ | electronGun->SetParticleMomentumDirection(0, 0, 0); //0 Degree | ||
+ | electronGun->SetParticleMomentumDirection(0, -0.75, -0.25); //45 Degree | ||
+ | electronGun->SetParticleMomentumDirection(0, -0.5, -0.5); //90 Degree | ||
+ | electronGun->SetParticleMomentumDirection(0, -0.25, -0.75); //135 Degree | ||
+ | electronGun->SetParticleMomentumDirection(0, 0, -1); //180 Degree | ||
+ | |||
+ | {| border="1" |cellpadding="20" cellspacing="0 | ||
+ | |- | ||
+ | |'''32 MeV electrons and 532 nm laser collision at various incoming electron angles'''|| '''32 MeV electrons and 532 nm laser collision at various incoming electron angles''' | ||
+ | |- | ||
+ | |[[Image:01-30-09a.jpg | 500 px]] || [[Image:01-30-09b.jpg | 500 px]] | ||
+ | |- | ||
+ | |[[Image:01-30-09c.jpg | 500 px]] || [[Image:01-30-09d.jpg | 500 px]] | ||
+ | |- | ||
+ | |[[Image:01-30-09e.jpg | 500 px]] | ||
+ | |} | ||
+ | |||
+ | '''2.) Run MC with different electron energies to reproduce shape of distribution in experiment. | ||
+ | Electron Energies: 26-33 MeV | ||
+ | Laser wavelength: 532 nm | ||
+ | [[Image:EnergySpread_01-30-09.jpg | 500 px]] | ||
+ | |||
+ | Table of scaling factors, identify # of gun triggers. | ||
+ | |||
+ | 3.) Start writing comparison between 2 Physics models. | ||
+ | |||
+ | 4.) Start trying out the GPS event generator | ||
+ | |||
+ | a.) need to move boost to LCS physics model instead of ExN02PrimaryGeneratorAction.cc | ||
+ | |||
+ | |||
+ | Then change source file ExN02PrimaryGeneratorAction.cc to have the lines below: | ||
+ | |||
+ | #include "G4GeneralParticleSource.hh" | ||
+ | |||
+ | :myDetector(myDC) | ||
+ | { | ||
+ | G4int n_particle = 1; | ||
+ | particleGun = new G4GeneralParticleSource(); | ||
+ | |||
+ | |||
+ | =1/30/09= | ||
+ | |||
+ | 1.) Table of scale factors for beam energy changes. create an energy profile for the incident electron beam. | ||
+ | |||
+ | Landau Distribution? [[Particle_Identification#Electrons_2]] | ||
+ | |||
+ | 2.) Physics Model comparison: GEANT4 with and without Lorentz boost. | ||
+ | |||
+ | |||
+ | side by side graphs of evt.comptonKE before and after your Model changes. | ||
+ | |||
+ | |||
+ | describe transformation equations using template below | ||
+ | |||
+ | :<math>\left ( \begin{matrix} ct^{\prime} \\ x^{\prime} \\ y^{\prime} \\ z^{\prime} \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 &1\end{matrix} \right ] \left ( \begin{matrix} ct \\ x \\ y \\ z \end{matrix} \right )</math> | ||
+ | |||
+ | |||
+ | 3.) Abstract for July 12-16, 2009 HPS annual meeting | ||
+ | Abstract PDF file:[[Image:Syed_HPS_2009_Abstract.pdf]] | ||
+ | a.) Monochromatic X-ray resolution enhancement of radiography | ||
+ | |||
+ | b.)2 experiments using LCS to create a monochromatic X-ray beam have been done at the IAC | ||
+ | |||
+ | c.) A simulation has been performed to further understand features(insert your words here) of the experiment. | ||
+ | |||
+ | d.) A comparison between the simulation and experiment will be shown as well as actual radiograph images | ||
+ | |||
+ | |||
+ | 4.) Use energy distribution from part 1 above to create the distribution using GPS. | ||
+ | |||
+ | =2/12/09= | ||
+ | |||
+ | Check photon energy calculation: | ||
+ | |||
+ | :<math>\lambda_{\gamma}</math> = 532 nm | ||
+ | : <math>E_{laser} = \frac{hc}{\lambda} = \frac{4.135 \times 10^{-15} eV-sec \times 3 \times 10^8 m/s}{532 \times 10^{-9} m}</math> = 2.3318 eV | ||
+ | |||
+ | Equation 1 from Reference [[Image:Stepanek_NIMA_412_1998pg174.pdf]] says that the backsattered x-ray energy In the Lab Frame is given by | ||
+ | |||
+ | :<math>E_\gamma = \frac{4\gamma^2E_{laser}}{1 +\gamma^2 \theta^2} =4\left(\frac{32.5 MeV}{0.511 MeV}\right)^2 2.3318 eV = 37.73 keV</math> | ||
+ | |||
+ | |||
+ | ;Transform from the LAB frame to a reference frame in which the electron is at rest: | ||
+ | :Find <math> \beta_{CM} </math> such that <math>P_{tot}^{CM}=0 =p_e^{\prime} + {p_p}^{\prime}</math><br> | ||
+ | |||
+ | |||
+ | <math> \beta_R = \frac{v_e}{c} = \frac {P_e}{E_e + m_e} =\frac {32.5MeV}{32.5MeV + 0.511MeV} = 0.999876415 < 1</math> | ||
+ | |||
+ | <math> \gamma_R = \frac {1}\sqrt{1 - \beta_r^2} =\frac {1}\sqrt{1 - 0.9998^2} = 63.60864</math> | ||
+ | |||
+ | |||
+ | The relativistic transformation matrix for the four momentum is given by | ||
+ | |||
+ | |||
+ | :<math>\left ( \begin{matrix} {E_g}^{\prime} \\ p_g^{\prime} \\ 0 \\ 0 \end{matrix} \right )= \left [ \begin{matrix} \gamma & -\gamma \beta & 0 & 0 \\ -\gamma \beta & \gamma &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_g \\ p_g \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | :<math>= \left [ \begin{matrix} 63.60864 & -63.60864 \times 0.999876415 & 0 & 0 \\ -63.608640.999876415 & 63.60864 &0 &0 \\ 0 &0 &1 &0 \\ 0 &0 &0 & 1 \end{matrix} \right ] \left ( \begin{matrix} E_g \\ p_g \\ 0 \\ 0 \end{matrix} \right )</math><br> | ||
+ | |||
+ | <math>E_{\gamma}^{\prime} = \gamma (1- \beta) E_{\gamma} = 7.86 \times 10^{-3} (37.73 keV)</math> = 296.6 eV | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =2/20/09= | ||
+ | |||
+ | Based on 2/12/09 discussions, we created a global class "SharedLCSValues" to store electron's energy and calculate beta, gamma, and LorentzBoost conversion factors. | ||
+ | |||
+ | <pre> | ||
+ | #ifndef LCSGLOBALS_HH | ||
+ | #define LCSGLOBALS_HH 1 | ||
+ | #include "globals.hh" | ||
+ | |||
+ | class SharedLCSValues{ | ||
+ | public: | ||
+ | SharedLCSValues(); //constructor | ||
+ | void setElectronEnergy(G4double); | ||
+ | G4double getElectronEnergy(); | ||
+ | G4double getBetaCalculated(); | ||
+ | G4double getComptonLorentzFactor(); | ||
+ | ~SharedLCSValues(); //destructor | ||
+ | private: | ||
+ | G4double IncomingElectronEnergy; | ||
+ | G4double BetaCalculated; | ||
+ | G4double GammaCalculated; | ||
+ | G4double ComptonLorentzFactor; | ||
+ | }; | ||
+ | |||
+ | #endif | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ----------------- | ||
+ | // | ||
+ | // Authors: Syed F. Naeem, Tony Forest | ||
+ | // Syed F. Naeem (syed@physics.isu.edu) | ||
+ | // | ||
+ | // History: | ||
+ | // ----------- | ||
+ | // 19 Feb 2007 1st implementation | ||
+ | // ------------------------------------------------------------------- | ||
+ | |||
+ | // Class description: | ||
+ | // Beta and gamma calculations for incoming electrons | ||
+ | |||
+ | // ------------------------------------------------------------------- | ||
+ | |||
+ | #include "LCSGlobals.hh" | ||
+ | |||
+ | SharedLCSValues::SharedLCSValues(){IncomingElectronEnergy = BetaCalculated = GammaCalculated = ComptonLorentzFactor = 0.0;} | ||
+ | |||
+ | void SharedLCSValues::setElectronEnergy(G4double value){ | ||
+ | IncomingElectronEnergy = value; | ||
+ | |||
+ | if (IncomingElectronEnergy <= 0) | ||
+ | { | ||
+ | G4Exception("LCSGlobals::LCSGlobals - Electron energy outside intrinsic process validity range"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | G4double SharedLCSValues::getElectronEnergy(){ | ||
+ | return IncomingElectronEnergy; | ||
+ | } | ||
+ | |||
+ | |||
+ | G4double SharedLCSValues::getBetaCalculated(){ | ||
+ | |||
+ | BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); | ||
+ | return BetaCalculated; | ||
+ | } | ||
+ | |||
+ | G4double SharedLCSValues::getComptonLorentzFactor(){ | ||
+ | |||
+ | BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); | ||
+ | GammaCalculated = 1/sqrt(1-BetaCalculated*BetaCalculated); | ||
+ | ComptonLorentzFactor = GammaCalculated*(1-BetaCalculated); | ||
+ | |||
+ | return ComptonLorentzFactor; | ||
+ | } | ||
+ | |||
+ | SharedLCSValues::~SharedLCSValues(){} | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ==GPS energy commands== | ||
+ | |||
+ | <pre> | ||
+ | /gps/ene/type Pow | ||
+ | /gps/ene/alpha 2 #y = AE^alpha | ||
+ | |||
+ | #/gps/ene/A 5? | ||
+ | |||
+ | /gps/ene/min 5 MeV | ||
+ | /gps/ene/max 32 MeV | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | Do a power law fit to the graph | ||
+ | |||
+ | [[Image:EnergySpread_01-30-09.jpg | 500 px]] | ||
+ | |||
+ | |||
+ | =2/26/09= | ||
+ | |||
+ | <pre> | ||
+ | gpsvis.mac | ||
+ | /control/verbose 2 | ||
+ | /run/verbose 2 | ||
+ | /random/setSavingFlag 1 | ||
+ | # | ||
+ | # create empty scene | ||
+ | # | ||
+ | #/vis/scene/create | ||
+ | # | ||
+ | # Create a scene handler for a specific graphics system | ||
+ | # (Edit the next line(s) to choose another graphic system) | ||
+ | # | ||
+ | #/vis/open OGLIX | ||
+ | # draw scene | ||
+ | # | ||
+ | #/vis/viewer/set/viewpointThetaPhi 90 180 deg | ||
+ | #/vis/viewer/zoom 1.4 | ||
+ | #/vis/viewer/flush | ||
+ | |||
+ | # for drawing the tracks | ||
+ | # (if too many tracks cause core dump => storeTrajectory 0) | ||
+ | #/tracking/storeTrajectory 1 | ||
+ | #/vis/scene/add/trajectories | ||
+ | # (if you prefer refreshing each event, comment out next line) | ||
+ | #/vis/scene/endOfEventAction accumulate | ||
+ | # | ||
+ | |||
+ | /event/verbose 0 | ||
+ | /tracking/verbose 2 | ||
+ | |||
+ | #Particle's Momentum direction, electron in our case | ||
+ | #Commented following lines in PrimaryGeneratorAction.cc: | ||
+ | ####//electronGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., -1)); | ||
+ | ####//electronGun->SetParticleEnergy( p4eRestFrame->e()); | ||
+ | # We instead are setting electrons momentum direction in gpsvis.mac as follows: | ||
+ | |||
+ | /gps/direction 0. 0. -1. | ||
+ | /gps/ene/type Pow | ||
+ | /gps/ene/alpha 2 | ||
+ | |||
+ | #circular plane source | ||
+ | /gps/pos/type Plane | ||
+ | /gps/pos/shape Circle | ||
+ | /gps/pos/radius 1.5 cm | ||
+ | |||
+ | /gps/ene/min 26. MeV | ||
+ | /gps/ene/max 33. MeV | ||
+ | |||
+ | /run/beamOn 1000000 | ||
+ | exit | ||
+ | </pre> | ||
+ | |||
+ | '''Power-law Distribution graphs (26-33 MeV Electrons): | ||
+ | |||
+ | =3/12/09= | ||
+ | |||
+ | 1.) alter power law fit plot so data has error bars and symbols, fit has thick solid black line. Legend describes symbols. Rebin plot in 1 keV wide energy bins | ||
+ | |||
+ | 2.) work on the three sections shown in the paper part of the wiki | ||
+ | |||
+ | 3.) do a simulation with power law alpha = 10.5, increase alpha again until drop off in simulation is like drop off in data | ||
+ | |||
+ | 4.) save random number seed for a compton event so we can look at one easily | ||
+ | |||
+ | The run manager is deleting itself after specified runs? | ||
+ | |||
+ | 5.) insert equations from E_gamma and Lorentz boosts into paper theory section | ||
+ | |||
+ | |||
+ | =3/19/09= | ||
+ | |||
+ | I showed my plots to Khalid and he said that there is an electron energy spread of <1%. The tail in LCS spectra was due to the deviation of incoming electrons w.r.t laser. He further said that Geant4 is good only for head-on collisions and the Lorentz Boost is different for angular deviations, which Geant4 doesn't cover. | ||
+ | |||
+ | <pre> | ||
+ | Since GEANT4 is open source we can fix problems. | ||
+ | You know GPS can change the angle and you installed | ||
+ | the Lorentz transformation. All we need to do is | ||
+ | be sure that you transform correctly. | ||
+ | </pre> | ||
+ | |||
+ | How much energy spread gives you the tail in above X-ray distributions? | ||
+ | |||
+ | <pre> | ||
+ | Let's print out an off axis (non head-on) collision event | ||
+ | from GEANT4 and see if Khalid agrees with the kinematic calculation | ||
+ | |||
+ | Commented by Syed: Thanks for the response Dr. Forest. Let me run simulations, | ||
+ | by changing angles w.r.t some constant number of events, and discuss the results | ||
+ | tomorrow and probably let's have a meeting altogether with Khalid to be on the same page. | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | We should printout and check an event before meeting with Khalid | ||
+ | |||
+ | Do we need to dig into LorentzBoost class or should I start working on X-rays for XRF purposes since we know how experimental LCS X-rays look like, I think the agenda I would like to discuss with you this Friday! | ||
+ | |||
+ | We checked the boost and found 1 problem already. | ||
+ | Lets check the boost for an off axis event. | ||
+ | |||
+ | XRF will only be useful if we get a nuclear model that works. | ||
+ | |||
+ | |||
+ | Enclosed are some of the plots considering the case of 32.5 MeV electrons with 1% energy spread and 532nm laser. Off-axis electrons so far | ||
+ | have no effect. Tracking data files are huge so I will bring my laptop to go over these files. | ||
+ | |||
+ | |||
+ | '''GPS Macro | ||
+ | <pre> | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | #/gps/direction 0. 0. -1 #Head-on collision | ||
+ | #/gps/direction 0. 5. -1. #11.09 degrees off-axis | ||
+ | #/gps/direction 0. -5. -1. #11.09 degrees off-axis | ||
+ | #/gps/direction 0. -0.75 -0.25 #45 degrees off-axis | ||
+ | #/gps/direction -0.25 -0.25 -0.5 #90 degrees off-axis | ||
+ | |||
+ | /gps/ene/type Pow | ||
+ | #/gps/ene/alpha 11.5 #Default alpha = 0 | ||
+ | |||
+ | /gps/ene/min 32.175 MeV #1% energy spread | ||
+ | /gps/ene/max 32.5 MeV | ||
+ | #/gps/ene/ezero 2. | ||
+ | |||
+ | |||
+ | /run/beamOn 1000000 | ||
+ | exit | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, Head-on Collision]] | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09e.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, Default GPS direction]] | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09a.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, 11.09 degrees deviation]] | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09b.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, 11.09 degrees deviation]] | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09d.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, 45 degrees deviation]] | ||
+ | |||
+ | [[Image:EnergySpread_03-19-09c.jpg | 400 px] |thumb| <math>\alpha</math> = 0.0, 90 degrees deviation]] | ||
+ | |||
+ | Eq. (5) from Reference [[Image:Stepanek_NIMA_412_1998pg174.pdf]] | ||
+ | :<math>E_\gamma = \frac{4\gamma^2E_{laser}}{1 + \frac{4\gamma E_{laser}}{m_{0}c^2} + \gamma^2 \theta^2}</math> | ||
+ | Where, | ||
+ | :<math>\gamma = \frac{32.5MeV + 0.511MeV}{0.511MeV} = 64.600782</math> | ||
+ | :<math>\gamma^2 = 4173.261135</math> | ||
+ | :<math>E_{laser} = 2.332</math>eV for 532nm laser | ||
+ | :<math>m_{0}c^2 = 0.511</math>MeV | ||
+ | |||
+ | Solve <math>E_\gamma</math> for scattered <math>\theta</math>'s: | ||
+ | |||
+ | [[Image:Table_03-19-09.jpg | 800 px]] | ||
+ | |||
+ | =3/20/09= | ||
+ | |||
+ | 1.) compare plot with the above data (theta -vs- Egamma) to the GEANT4 results. | ||
+ | |||
+ | [[Image:Dist_04-01-09-a.jpg | 500 px]] | ||
+ | |||
+ | [[Image:Dist_04-01-09-b.jpg | 500 px]] | ||
+ | |||
+ | |||
+ | 2.) Insert GEANT4 off axis event. Energy and momentum direction of electron and photon before and after an LCS collision. Both Lab and Electron rest frame. | ||
+ | |||
+ | '''a) Energy and momentum direction of [[electron before LCS collision]]. Both Lab and Electron rest frame.''' | ||
+ | |||
+ | [[Image:Dist_04-01-09-c.jpg | 400 px]][[Image:Dist_04-01-09-d.jpg | 400 px]] | ||
+ | |||
+ | [[Image:Dist_04-01-09-e.jpg | 400 px]][[Image:Dist_04-01-09-f.jpg | 400 px]] | ||
+ | |||
+ | '''b) Energy and momentum direction of [[electron after LCS collision]]. Both Lab and Electron rest frame.''' | ||
+ | |||
+ | [[Image:Dist_04-01-09-g.jpg | 400 px]][[Image:Dist_04-01-09-h.jpg | 400 px]] | ||
+ | |||
+ | [[Image:Dist_04-01-09-i.jpg | 400 px]][[Image:Dist_04-01-09-j.jpg | 400 px]] | ||
+ | |||
+ | |||
+ | |||
+ | '''c) Energy and momentum direction of [[photons before LCS collision]]. Both Lab and Electron rest frame.''' | ||
+ | |||
+ | [[Image:Dist_04-01-09-k.jpg | 400 px]][[Image:Dist_04-01-09-l.jpg | 400 px]] | ||
+ | |||
+ | [[Image:Dist_04-01-09-m.jpg | 400 px]][[Image:Dist_04-01-09-n.jpg | 400 px]] | ||
+ | |||
+ | '''d) Energy and momentum direction of [[photons after LCS collision]]. Both Lab and Electron rest frame.''' | ||
+ | |||
+ | [[Image:Dist_04-01-09-o.jpg | 400 px]][[Image:Dist_04-01-09-p.jpg | 400 px]] | ||
+ | |||
+ | [[Image:Dist_04-01-09-q.jpg | 400 px]][[Image:Dist_04-01-09-r.jpg | 400 px]] | ||
+ | |||
+ | =4/3/09= | ||
+ | |||
+ | 1.) Plot energy distribution of incident electron beam IN LAB FRAME, make it a power law that drop off from 32.2 MeV to 32.1 MeV . Amplitude at 32.1 is 1/10 of amplitude at 32.2 (just a guess). | ||
+ | |||
+ | then plot it incident electron REST frame. | ||
+ | |||
+ | 2.) Overlay GEANT4 scatter plot of <math>E_{\gamma}</math> -vs- <math>\theta_{\gamma}</math> with equation Eq. (5) from Reference [[Image:Stepanek_NIMA_412_1998pg174.pdf]] | ||
+ | |||
+ | 3.) | ||
+ | <math>{L \atop e^-} P_{\mu}</math> = incident electron 4-momentum in Lab Frame =<math>\left ( \begin{matrix} E \\ 0.125 P_{\mu}P^{\mu} \\ 0.125 P_{\mu}P^{\mu} \\ -0.75 P_{\mu}P^{\mu} \end{matrix} \right )</math> | ||
+ | |||
+ | |||
+ | <math>{L \atop \gamma} P_{\mu}</math> = incident photon 4-momentum in Lab Frame = <math>\left ( \begin{matrix} 1 \\0 \\ 0 \\ 1 \end{matrix} \right )P_{\gamma}</math> | ||
+ | |||
+ | <math>p_{\mu}^{\prime}= \left ( \begin{matrix} E^{\prime} \\ p_x^{\prime} \\ p_y^{\prime} \\ _z^{\prime} \end{matrix} \right )= \left [ \begin{matrix} \gamma_R & 0 & 0 & -\gamma \beta_R\\ 1 & 0 &0 &0 \\ 0 &1 &0 &0 \\ -\gamma_R \beta_R &0 &0& \gamma_R\end{matrix} \right ] \left ( \begin{matrix} E \\ p_x \\ p_y \\ p_z \end{matrix} \right )= T_{\mu \nu} p_{\mu}</math> | ||
+ | |||
+ | <math> \beta_R = \frac{v_e}{c} = \frac {P_e}{E_e + m_e} =\frac {32.5MeV}{32.5MeV + 0.511MeV} = 0.999876415 < 1</math> = beta for transformation to electron rest frame | ||
+ | |||
+ | <math> \gamma_R = \frac {1}\sqrt{1 - \beta_r^2} =\frac {1}\sqrt{1 - 0.9998^2} = 63.60864</math>= gamma for transformation to electron rest frame | ||
+ | |||
+ | |||
+ | <math>{{RF} \atop \gamma} P_{\mu}</math> = incident photon 4-momentum in electron Rest Frame | ||
+ | |||
+ | <math>{{RF} \atop e^-} P_{\mu}</math> = incident electron 4-momentum In electron Rest Frame | ||
+ | |||
+ | |||
+ | |||
+ | GEANT4 event gives the scattering electron and compton photon in the electron rest frame as | ||
+ | |||
+ | |||
+ | <math>{{RF} \atop e^-} P_{\mu}^{\prime}</math> = scattered electron 4-momentum In electron Rest Frame | ||
+ | |||
+ | <math>{{RF} \atop \gamma} P_{\mu}^{\prime}</math> = scattered photon 4-momentum in electron Rest Frame | ||
+ | |||
+ | |||
+ | Now transform this back to lab frame | ||
+ | |||
+ | <math>{L \atop \gamma} P_{\mu}^{\prime}</math> = scattered photon 4-momentum in Lab Frame | ||
+ | |||
+ | <math>{L \atop e^-} P_{\mu}^{\prime}</math> = scattered electron 4-momentum in Lab Frame= | ||
+ | |||
+ | |||
+ | =4/23/09= | ||
+ | The tails in the experimental spectra (Quasi-Monochromatic) are due to the "non-uniform charge density distribution" of the electron beam in 44MeV linac regardless of the interaction angle between laser and electrons. Ideally, we would expect monochromatic LCS spectra even if there is no head-on collision between electrons and laser (previous Geant4 simulations) and the interaction angle mainly affects LCS yield. I had discussions with Khalid during LCS runs and he said that the tails in LCS spectra reflect non-uniform charge density distribution of the electrons from 44 MeV linac (which itself requires tremendous tuning each time). | ||
+ | |||
+ | Geant4 is assuming uniform charge density distribution in the incoming electron beam, probably that's why all peaks were reflecting an ideal beam scenario? Also, I think that the energy spread in previous Geant4 simulations (e.g, 26-33 MeV), to reflect experimental tails, represented non-uniform charge density distribution of the beam profile and power law fit approximated the non-uniformity of the electron charge density? | ||
+ | |||
+ | |||
+ | '''GPS Macro: Circular and Spherical beam types simulated with GPS's vertical deviation "sigmay" option | ||
+ | <pre> | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | /gps/direction 0. 0. -1 #Head-on collision, default configuration | ||
+ | #/gps/direction 0.125 0.125 -0.75 # 13.26 degrees angular deviation but the peaks were mono-chrmatic | ||
+ | |||
+ | /gps/ene/type Pow | ||
+ | /gps/ene/alpha 10 | ||
+ | |||
+ | |||
+ | #circular plane source | ||
+ | /gps/pos/type Beam | ||
+ | /gps/pos/shape Circle | ||
+ | /gps/pos/radius 0.3 cm | ||
+ | |||
+ | #/gps/ang/type beam2d #accelerator beam, applicable w/angular sigma | ||
+ | #/gps/ang/sigma_y 0.02 rad #Std. deviation of the beam position profile, requires beam as type "beam2d" | ||
+ | /gps/pos/sigma_y 0.15 cm #Std. deviation of the beam position profile, requires beam as type "Beam" | ||
+ | |||
+ | |||
+ | /gps/ene/min 32.175 MeV | ||
+ | /gps/ene/max 32.5 MeV | ||
+ | |||
+ | /run/beamOn 1000000 | ||
+ | exit | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | [[Image:EnergySpread_04-23-09a.jpg | 500 px] |thumb| <math>Particles = 1e6</math>, Head-on Collision]] | ||
+ | [[Image:EnergySpread_04-23-09b.jpg | 500 px] |thumb| <math>Particles = 1e6</math>, Head-on Collision]] | ||
+ | [[Image:EnergySpread_04-23-09c.jpg | 500 px] |thumb| <math>Particles = 1e7</math>, Head-on Collision]] | ||
+ | |||
+ | =5/1/09= | ||
+ | |||
+ | |||
+ | 1.) Record 2 RND generator states for 2 compton scattering events . One event is electron going along z-axis the other is electron making an angle <math>\theta</math> w.r.t z-axis. | ||
+ | |||
+ | 2.) Calculate | ||
+ | |||
+ | :<math>E_{\gamma} = \frac{4 \gamma^4 E_{L}}{1 + \gamma^2 \theta^2}</math> | ||
+ | |||
+ | for the above 2 events by hand and in the MC. | ||
+ | |||
+ | =12/23/09= | ||
+ | |||
+ | Simulation Done with BDSIM: Energy off by x2 but the spectrum is very close to experimental result | ||
+ | Energy spread: 0.32 MeV (1%) | ||
+ | |||
+ | [[File:BDSIM_122309.jpg | 200 px]] |
Latest revision as of 16:02, 23 December 2009
LCS model paper
Semester's paper in .doc format: File:Syed G4 05072009.doc
Formulas
Compton kinematic
Equation 1 from Reference File:Stepanek NIMA 412 1998pg174.pdf says that the backsattered x-ray energy is given by
@532nm =
@1064nm =
GEANT4 calculation in syed_compton:
Lorentz boost
Notes on Syed's GEANT4 project for Laser Compton Scattering at the IAC
2/7/08
Step 1: Configure Event generator in which electron parameters can be changes. Move the source left and right of the center. Change is momentum direction; going left and going right.
Step 2: comment out electron and add gamma. get it to move in the same way.
Step 3: turn them both on
Step 4: if fail then find references on event Generator with 2 intersecting beams, perhaps ILC, LHC or BaBar has one.
2/14/08
Problem last week was due to editing the wrong file.
We now have a event generator which starts an electron and a photon moving toward eachother.
We see and event when the photon energy is 500 keV and only the compton process is turned on.
Next step:
1.) edit the Stepping Verbose so only a Compton event is printed out
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV
4.) Insert new physics process for Low Energy Compton
2/28/08
1.) edit the Stepping Verbose so only a Compton event is printed out (done)
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV
4.) Insert new physics process for Low Energy Compton (done)
Still need to do 2 &3.
Compare hand calculation of an event or two with GEANT4 output
3/6/08
Goals for last week
1.) Compare hand calculation of an event or two with GEANT4 output
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV (BDSIM crashes at this high energy)
Tasks for next week:
1.) How many GEANT4 triggers does it take to get an event when E-gamma = 30 eV
Zero/10^7. However, if I set the E-gamma=300 eV then I see 1819 triggers out of 10 million iterations.
2.) remove detector which blocks reactions for 0<Z<200
[box]Commented out Sensitive Detector function in DetectorConstruction.cc. I still see the SD in display[/box]
3.) Store tracking info for photon and electron into variables for printing out
[box]Show the text file for 300 eV laser and 20 MeV electron[/box]
4.) Compare BDSIM and GEANT4 for E-gamma = 300 or 30 eV
[box]BDSIM crashes at 300 eV[/box]
5.) Any measured X-sections for 2 eV Compton?
[box]Was not able to find on internet. BDSIM however, uses GEANT4 database...We might need to dig into their code, I got the source code[/box]
3/13/08
Tasks:
1.) fix output file so electons and photon from same event on same line
o Geant4 output.txt:
Variable | value |
# Triggers | 153610 |
Compton Event # | 1 |
Scattered Photon energy (keV) | 0.299784 |
photon X position | 0 |
photon Y position | 0 |
photon Z position | -441.431 |
photon X Momentum | 6.30938e-05 |
photon Y Momentum | 0.000285127 |
photon Z Momentum | -6.77687e-05 |
Particle ID | 22 |
Scattered e- KE (keV) | 0.000215785 |
Scattered electron X position | -177.027 |
Scattered electron Y position | -800 |
Scattered electron Z position | 590.444 |
Scattered electron X Momentum | -6.30938e-05 |
Scattered electron Y Momentum | -0.000285127 |
Scattered electron Z Momentum | 0.000367769 |
Particle ID | 11 |
- = electron compton wavelength =
- = electron final kinetic energy
- = ejected electron angle w.r.t original photon direction
15361 || 1 || 0.299784 0 0 -441.431 6.30938e-05 0.000285127 -6.77687e-05 22 0.000215785 -177.027 -800 590.444 -6.30938e-05 -0.000285127 0.000367769 11 32685.8 2 0.299791 0 0 -131.765 -7.34024e-05 0.000285186 -5.61732e-05 22 0.000208981 192.024 -746.061 800 7.34024e-05 -0.000285186 0.000356173 11 33535.9 3 0.299682 0 0 -754.315 -0.000175966 -1.63899e-05 -0.000242026 22 0.000318029 504.599 46.9997 800 0.000175966 1.63899e-05 0.000542026 11 34157 4 0.299864 0 0 -579.415 -7.39129e-05 -0.000282637 6.7614e-05 22 0.00013635 209.21 800 78.3512 7.39129e-05 0.000282637 0.000232386 11
. . . .
2.)Compare compton scattering between BDSIM and GEANT4 for 300 eV photon incident on a 20 MeV electron
BDSIM | GEANT4 |
![]() |
![]() |
o BDSIM (5,000,000 Iterations):
o Geant4 (5,000,000 iterations):
3.) remove physics processes and run 10^9 events piece mealed so you save event generator seed every 10^8
o Still waiting for run_0.rndm, run_1.rndm...., files on inca. Process at the moment is executing!
3/20/08
Taks for next week
1.) Check elastic kinematics of LowEnergyCompton for case where electron is 1 eV and incident photon ranges between 300 ev and 8 keV
output.txt for 1 eV electron and 8 keV gamma. Number of iterations: 1,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 53 | 48 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 7.79307 | 7.76672 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -752.482 | -751.601 |
photon X Momentum | -0.0050576 | 0.00228733 |
photon Y Momentum | 0.00239243 | -0.00204773 |
photon Z Momentum | -0.00542483 | -0.0071342 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.206934 | 0.233283 |
Scattered electron X position | 584.874 | -234.503 |
Scattered electron Y position | -276.667 | 209.94 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 0.0050576 | -0.00228733 |
Scattered electron Y Momentum | -0.00239243 | 0.00204773 |
Scattered electron Z Momentum | 0.0134248 | 0.0151342 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 8 keV incoming Photons | GEANT4_Compton, 8 keV incoming Photons |
![]() |
![]() |
GEANT4_LowEnCompton, 1 eV incoming Electrons | GEANT4_Compton, 1 eV incoming Electrons |
![]() |
![]() |
output.txt for 1 eV electron and 300 eV gamma. Number of iterations: 2,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 32685 | 7123 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.299791 | 0.299745 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -131.765 | 554.105 |
photon X Momentum | -7.34024e-05 | 0.000261431 |
photon Y Momentum | 0.000285186 | 5.7275e-05 |
photon Z Momentum | -5.61732e-05 | -0.000134982 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000208981 | 0.000255222 |
Scattered electron X position | 192.024 | -147.787 |
Scattered electron Y position | -746.061 | -32.3775 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 7.34024e-05 | -0.000261431 |
Scattered electron Y Momentum | -0.000285186 | -5.7275e-05 |
Scattered electron Z Momentum | 0.000356173 | 0.000434982 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 300 eV incoming Photons | GEANT4_Compton, 300 eV incoming Photons |
![]() |
![]() |
GEANT4_LowEnCompton, 1 eV incoming Electrons | GEANT4_Compton, 1 eV incoming Electrons |
![]() |
![]() |
see if #triggers is same as above when= 800 eV and = 1 eV
2.) Same as above except now change the incident electron energy up to 20 MeV, 50 ev, 1 keV, 10 keV, 1Mev, 10 MeV
output.txt for 20 MeV electron and 300 eV gamma. Number of Iterations: 2,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 32685 | 7123 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.299791 | 0.299745 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -131.765 | 554.105 |
photon X Momentum | -7.34024e-05 | 0.000261431 |
photon Y Momentum | 0.000285186 | 5.7275e-05 |
photon Z Momentum | -5.61732e-05 | -0.000134982 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000208981 | 0.000255222 |
Scattered electron X position | 192.024 | -147.787 |
Scattered electron Y position | -746.061 | -32.3775 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 7.34024e-05 | -0.000261431 |
Scattered electron Y Momentum | -0.000285186 | -5.7275e-05 |
Scattered electron Z Momentum | 0.000356173 | 0.000434982 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 300 eV incoming Photons | GEANT4_Compton, 300 eV incoming Photons |
![]() |
![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
![]() |
![]() |
4/10/08
1.) check if cross section is same fore 100 eV <
<800 eVCase-a)=20 MeV, =100 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interactions
Case-b)=20 MeV, =100 eV, process="Compton", #events: 2,000,000 Result=0 interaction
Case-c)=20 MeV, =105 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-d)=20 MeV, =105 eV, process="Compton", #events: 2,000,000 Result= 12 interactions
Variable | LowEnCompton_value (case-c) | Compton_value (case-d) |
# Triggers | 490155 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.104974 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | -521.846 | |
photon X Momentum | 2.94637e-05 | |
photon Y Momentum | -9.85919e-05 | |
photon Z Momentum | -2.07632e-05 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 2.58365e-05 | |
Scattered electron X position | -239.076 | |
Scattered electron Y position | 800 | |
Scattered electron Z position | 498.63 | |
Scattered electron X Momentum | -2.94637e-05 | |
Scattered electron Y Momentum | 9.85919e-05 | |
Scattered electron Z Momentum | 0.000125763 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 105 eV incoming Photons | GEANT4_Compton, 105 eV incoming Photons |
400 px | ![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px | ![]() |
Case-e)=20 MeV, =150 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-f)=20 MeV, =150 eV, process="Compton", #events: 2,000,000 Result= 93 interactions
Variable | LowEnCompton_value (case-e) | Compton_value (case-f) |
# Triggers | 36600 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.149994 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | 331.001 | |
photon X Momentum | -6.9277e-05 | |
photon Y Momentum | -2.37144e-05 | |
photon Z Momentum | 0.000130907 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 5.60297e-06 | |
Scattered electron X position | 800 | |
Scattered electron Y position | 273.85 | |
Scattered electron Z position | 551.485 | |
Scattered electron X Momentum | 6.9277e-05 | |
Scattered electron Y Momentum | 2.37144e-05 | |
Scattered electron Z Momentum | 1.9093e-05 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 150 eV incoming Photons | GEANT4_Compton, 150 eV incoming Photons |
400 px | ![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px | ![]() |
Case-g)=20 MeV, =200 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-h)=20 MeV, =200 eV, process="Compton", #events: 2,000,000 Result= 179 interactions
Variable | LowEnCompton_value (case-g) | Compton_value (case-h) |
# Triggers | 33713 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.19991 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | 778.343 | |
photon X Momentum | 7.46479e-05 | |
photon Y Momentum | 0.000183052 | |
photon Z Momentum | -2.97293e-05 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 8.98786e-05 | |
Scattered electron X position | -7.03722 | |
Scattered electron Y position | -17.2567 | |
Scattered electron Z position | 800 | |
Scattered electron X Momentum | -7.46479e-05 | |
Scattered electron Y Momentum | -0.000183052 | |
Scattered electron Z Momentum | 0.000229729 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 200 eV incoming Photons | GEANT4_Compton, 200 eV incoming Photons |
400 px | ![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px | ![]() |
Case-i)=20 MeV, =400 eV, process="LowEnCompton", #events: 2,000,000 Result= 697 interaction
Case-j)=20 MeV, =400 eV, process="Compton", #events: 2,000,000 Result= 898 interactions
Variable | LowEnCompton_value (case-i) | Compton_value (case-j) |
# Triggers | 6012 | 5318 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.399439 | 0.399849 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 233.061 | 760.793 |
photon X Momentum | -0.000130127 | 1.38275e-06 |
photon Y Momentum | 0.000205697 | 0.000341899 |
photon Z Momentum | -0.000316714 | 0.000207322 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000560591 | 0.000150707 |
Scattered electron X position | 102.933 | -0.281371 |
Scattered electron Y position | -162.712 | -69.5718 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 0.000130127 | -1.38275e-06 |
Scattered electron Y Momentum | -0.000205697 | -0.000341899 |
Scattered electron Z Momentum | 0.000716714 | 0.000192678 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 400 eV incoming Photons | GEANT4_Compton, 400 eV incoming Photons |
![]() |
![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
![]() |
![]() |
Case-k)=20 MeV, =800 eV, process="LowEnCompton", #events: 2,000,000 Result= 2534 interactions
Case-l)=20 MeV, =800 eV, process="Compton", #events: 2,000,000 Result= 3314 interactions
Variable | LowEnCompton_value (case-k) | Compton_value (case-l) |
# Triggers | 2033 | 1703 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.798489 | 0.799399 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 302.879 | 759.113 |
photon X Momentum | 0.000776101 | -0.000120116 |
photon Y Momentum | -8.6914e-05 | -0.000672133 |
photon Z Momentum | -0.00016643 | 0.000415751 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.00151064 | 0.000600626 |
Scattered electron X position | -399.218 | 12.7812 |
Scattered electron Y position | 44.7076 | 71.5199 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | -0.000776101 | 0.000120116 |
Scattered electron Y Momentum | 8.6914e-05 | 0.000672133 |
Scattered electron Z Momentum | 0.00096643 | 0.000384249 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 800 eV incoming Photons | GEANT4_Compton, 800 eV incoming Photons |
![]() |
![]() |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
![]() |
![]() |
2.) Create your own Physics list subroutine called SyedCompton which is a renamed copy of LowEnergyCompton
Created local SyedLowEnergyCompton and SyedCompton subroutines:
Case-m)=20 MeV, =800 eV, process="LowEnCompton", #events: 2,000,000 Result= 2534 interactions
Case-n)=20 MeV, =800 eV, process="Compton", #events: 2,000,000 Result= 3314 interactions
Variable | SyedLowEnCompton_value (case-m) | SyedCompton_value (case-n) |
# Triggers | 2033 | 1703 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.798489 | 0.799399 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 302.879 | 759.113 |
photon X Momentum | 0.000776101 | -0.000120116 |
photon Y Momentum | -8.6914e-05 | -0.000672133 |
photon Z Momentum | -0.00016643 | 0.000415751 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.00151064 | 0.000600626 |
Scattered electron X position | -399.218 | 12.7812 |
Scattered electron Y position | 44.7076 | 71.5199 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | -0.000776101 | 0.000120116 |
Scattered electron Y Momentum | 8.6914e-05 | 0.000672133 |
Scattered electron Z Momentum | 0.00096643 | 0.000384249 |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 800 eV incoming Photons | GEANT4_SyedCompton, 800 eV incoming Photons |
![]() |
![]() |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons | GEANT4_SyedCompton, 20 MeV incoming Electrons |
![]() |
![]() |
4/17/08
1.) Lower cutoff energy and redo rate plots from previous week. Created local SyedLowEnergyCompton and SyedCompton subroutines:
Case-a)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 2,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(1*eV) Result= 270 interactions
Case-b)=20 MeV, =2.326 eV, process="Compton", #events: 2,000,000 lowEnergyLimit(2*eV) Result= 0 interactions
Variable | SyedLowEnCompton_value (case-a) | SyedCompton_value (case-b) |
# Triggers | 18955 | |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.002326 | |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 601.57 | |
photon X Momentum | -6.4311e-10 | |
photon Y Momentum | -9.36186e-10 | |
photon Z Momentum | 2.326e-06 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 1.26208e-15 | |
Scattered electron X position | 549.557 | |
Scattered electron Y position | 800 | |
Scattered electron Z position | 601.807 | |
Scattered electron X Momentum | 6.43062e-10 | |
Scattered electron Y Momentum | 9.36116e-10 | |
Scattered electron Z Momentum | 2.77288e-13 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 2.326 eV incoming Photons | GEANT4_SyedCompton, 2.326 eV incoming Photons |
![]() |
400 px |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons | GEANT4_SyedCompton, 20 MeV incoming Electrons |
![]() |
400 px |
Case-c)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 2,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(0.1*eV) Result= 270 interactions
Case-d)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 5,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(0.1*eV) Result= 636 interactions
Variable | SyedLowEnCompton_value (case-c) | SyedLowEnCompton_value (case-d) |
# Triggers | 18955 | 18955 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.002326 | 0.002326 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 601.57 | 601.57 |
photon X Momentum | -6.4311e-10 | -6.4311e-10 |
photon Y Momentum | -9.36186e-10 | -9.36186e-10 |
photon Z Momentum | 2.326e-06 | 2.326e-06 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 1.26208e-15 | 1.26208e-15 |
Scattered electron X position | 549.557 | 549.557 |
Scattered electron Y position | 800 | 800 |
Scattered electron Z position | 601.807 | 601.807 |
Scattered electron X Momentum | 6.43062e-10 | 6.43062e-10 |
Scattered electron Y Momentum | 9.36116e-10 | 9.36116e-10 |
Scattered electron Z Momentum | 2.77288e-13 | 2.77288e-13 |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 2.326 eV incoming Photons(2-million events) | GEANT4_SyedCompton, 2.326 eV incoming Photons (5-million events) |
![]() |
![]() |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons(2-million events) | GEANT4_SyedCompton, 20 MeV incoming Electrons(5-million events) |
![]() |
![]() |
2.) After SyedCompton runs, change it so the final electron kinetic energy is calculated correctly.
Final Electron KE is approx. equals to 20MeV in this case because energy lost by incoming electrons is so small following Compton interaction as shown in above plots ...suggestions???
4/24/08
1.) Try HeP Lorentz vector class and set vectors within the SyedCompton routine
HepLorentzVector P4eLab
P4eLab.setPx(HepDouble);
5/1/08
Got the class
G4LorentzVector* P4eLab;
defined in SyedLowEnergyCompton.hh
Then created the variable
P4eLab = new G4LorentzVector;
P4eLab->setPx(1.4596);
G4cout << "P4e Px= " << P4eLab << G4endl;
in SyedLowEnergyCompton.cc
1.) Check the functionality of the function calls below to see if we understand how they work
P4eLab->setPx(1.4596); cout << "P4e " << P4eLab << endl;
cout << "rest 4 Vector" << P4eLab.rest4Vector() << endl;---->"These functions are not declared!" cout << "rest 4 Vector" << P4eLab.rest4Vector().beta << endl;---->"These functions are not declared!"
2.) Look up relativistic Lorentz transformation to boost to electron rest frame. A fair start is at
http://www.iac.isu.edu/mediawiki/index.php/Forest_Relativity_Notes#Lorentz_Transformations
3.) check out reference
A.A. Sokolov and I.M. Ternov Sov. Phys. Dokl. 8 (1964), p. 1203.
may lead to a reference for our problem.
4.) Install GEANT4 on Brems
*done* but with graphics option was disabled, there are issues with OpenGL on brems and I was not able to compile MesaGL in my local folder
5.) create 2 sets of 24 random number seed files. The first set of 24 random number seed files will run for 2 hours and the second set will run for 24 hours.
*Compilation Error message on Brems:* Compiling LCS.cc ... Using global libraries ... Linking LCS ... /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::UpdateVTE()' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::CreatePVReplica()' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3DivType, G3VolTableEntry*, G3VolTableEntry*, int, int, int, double, double)' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3VolTableEntry*, G3VolTableEntry*, G3Division const&)' collect2: ld returned 1 exit status make: *** [/home/naeesyed/geant4/bin/Linux-g++/LCS] Error 1
6/12/08
1.) using interactive version of LCS test the transformations below
We have proton and electron. In the Lab frame electron is moving along the x-axis with momentum ;
- Lab Frame
- CM Frame
- :
- Find
Using the last two equations we will get the following for x component:
- Example
- : electron mass is neglibible
- : Mass of a proton
- Electron
- In our case 4-vectors for particles are
Compiling on brems
1.) turned off a GUI and G3toG4 stuff
2.) edited $G4INSTALL/config/binmake.gmk and commmented out the VIS variables and include commands
3.) comment out interactive commands in LCS.cc so only batch mode would run
we are compiled now.
Practice submitting batch jobs via ssh command and the random number seed files.
Submitting batch jobs on brems
Concept: While logged into brems you can submit a job to run on bres 3 by using the ssh command via
ssh brems3 source run0.script
the script "run0.script"
contains all the command you would type interactively in order to execute the program
source ~/apps/geant4/geant4.9.1.p02/env.sh cd /home/naeesyed/geant4/LCS/Laser_Compton_Backscattering/run0 LCS vis.mac > /dev/null
Khalid has cross sections in his interview talk
9/5/08
Insert Transformation matrix to take electron beam in Lab frame to the electron in the electron's rest frame.
Find
- Lab Frame
- Transform from the LAB frame to a reference frame in which the electron is at rest
- Find
The relativistic transformation matrix for the four momentum is given by
Insert Transformation matrix to transform outgoing X-ray momentum four vector in the Lab from to the electron at rest frame.
Was the energy of 2.25 MeV just chosen as an example? This is the calculated electron energy in C.M. frame.
Write equation for
= angle of the outgoing X-ray in the electron rest frame.
Klein-Nishina Compton Cross Section
Khalid LCS paper:File:Chouffani PhysRevST 050701 2006 pg9.pdf
Questions: Why and ?
is the detector's angle with respect to incoming LCS X-rays.
9/26/08
1.) Use B= 0.975 to transform photon to electrons rest frame inside the event generator
for a few events check
before and after
// muon momenta in the primary's rest frame CLHEP::HepLorentzVector pMu1 ( p0x, p0y, p0z, p00 ); CLHEP::HepLorentzVector pMu2 ( -p0x, -p0y, -p0z, p00 );
// muon momenta in the boosted frame CLHEP::HepLorentzVector boostedPMu1 = pMu1.boostZ ( beta ); CLHEP::HepLorentzVector boostedPMu2 = pMu2.boostZ ( beta );
Declared the following in the event generator: //declaring G4LorentzVector for both electrons and gammas G4double beta = 0.975; p4eLab = new G4LorentzVector; p4gammaLab = new G4LorentzVector;
p4gammaBoostedx = new G4LorentzVector; p4gammaBoostedy = new G4LorentzVector; p4gammaBoostedz = new G4LorentzVector;
p4eBoostedx = new G4LorentzVector; p4eBoostedy = new G4LorentzVector; p4eBoostedz = new G4LorentzVector;
However, I'm stuck with in getting momentum values in the lab frame for both electrons and gammas...G4ParticleDefinition doesn't include "getMomentum" function and we need momentums in the lab frame that could be passed in the above declared variables?-- Daq 09:28, 3 October 2008 (MDT)
Update: "ExN02EventAction" class is getting momentum values of the existing event, I declared above variables in EventAction class. // get information on primary particle
G4PrimaryParticle* primary=evt->GetPrimaryVertex(0)->GetPrimary(0);
//Added by Syed p4eLab(primary->GetMomentum().x(),primary->GetMomentum().y(),primary->GetMomentum().z(), primary->GetEnergy());
p4eBoostedx = p4eLab.boostX(beta); p4eBoostedy = p4eLab.boostY(beta); p4eBoostedz = p4eLab.boostZ(beta); Now, the question is where to LorentzBoost gammas? --Daq 13:26, 3 October 2008 (MDT)
2.) Now take tracking verbose output and by a hand calculation transform the outgoing photon
to the lab frame
3.) Check EventAction to see if the photon momentum and energy are being passed
10/3/08
1.) In event generator:
Boost electron and gamma and compare with hand calculation. (Units: MeV)
P4e LabFrame w/o boost= (20 ,0 ,0 ,20) P4e RestFrame w boost= (177.764 ,0 ,0 ,177.764) P4gamma LabFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) P4gamma RestFrame w boost= (1.9874e-05 ,0 ,0 ,1.9874e-05) Using findBoostToCM() function of Hep3Vector p4e RestFrame w/ findBoostToCM function= ((-0,-0,-1)) p4gamma RestFrame w/ findBoostToCM function= ((-0,-0,-1))
10/10/08
=0.975, =20 MeV
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) Electron Rest w/o boost mass = 0.511 P4e RestFrame w/ boost= (2.27955 ,0 ,0 ,2.22154) Electron Rest w/ boost mass = 0.511
=0.9996737585, =20 MeV, =2.236 eV
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) Electron Rest w/o boost mass = 0.511 P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) Electron Rest w/ boost mass = 0.511 P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08)
Simulation
i) No. of events=10,000,000
P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08) LowEnCompton events=0 ------------------------------------------------------------- lowEnergyLimit(0*eV): Cannot be set below 1 eV, getting G4Exception error message if I set the intrinsic low energy below 1 eV and 1eV > 2.85602e-08 MeV
ii) No. of events executing on inca=100,000,000
P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06)
/home/syed/geant4/LCS/Laser_Compton_Backscattering/output.txt format:
ComptonEventTrigger/10, ComptonEventCounter, fTrack->GetKineticEnergy())*1000, fTrack->GetPosition().x(), fTrack->GetPosition().y(), fTrack->GetPosition().z(), fTrack->GetMomentum().x(), fTrack->GetMomentum().y(), fTrack->GetMomentum().z(), fTrack->GetDefinition()->GetPDGEncoding(), electronKE, electronxPosition, electronyPosition, electronzPosition, electronxMomentum, electronyMomentum, electronzMomentum, electronPDGID
10/17/08
The boosted electron and gamma energies seem to be working now
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,-2.236e-06) P4gamma RestFrame w/ boost= (0.000175058 ,0 ,0 ,-0.000175058)
What should gamma energy be after boosting to electron rest frame?
=0.9996737585 = 2.326 eV Hand calculated value is = 0.03 eV from =2.236 eV. Computer simulated value is = 0.0285602 eV from =2.236 eV. ---------------------------------------------------------------------------------------------------- =0.9996737585 = -2.326 eV Hand calculated value is = 181.05 eV from =2.236 eV. Computer simulated value is = 175.058 eV from = 2.236 eV.
Now boost the electron and gamma vectors back to the lab frame in Stepping Verbose
Number of events executed: 20 million
GEANT4_SyedLowEnCompton, | :266 nm=4.652 eV (for 532 nm laser), =20 MeVGEANT4_SyedLowEnCompton, | :266 nm=4.652 eV (for 532 nm laser), =20 MeV
![]() |
![]() |
GEANT4_SyedLowEnCompton, | :532 nm=2.326 eV (for 1064 nm laser), =20 MeVGEANT4_SyedLowEnCompton, | :532 nm=2.326 eV (for 1064 nm laser), =20 MeV
![]() |
![]() |
Equation 1 from Reference File:Chouffani JCPDS 2003 46 pg73.pdf says that the backsattered x-ray energy is given by
@532nm =
@1064nm =
10/24/08
Now compare BDSIM output to GEANT4 output with the boosting based Laser compton scattering physics process.
Number of events executed: 1 million
BDSIM, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
BDSIM, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
-------------------------------------------------------------------------------------------------------------------------------------------------
Geant4_lowEnCompton, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
Geant4_lowEnCompton, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
Geant4_Compton, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
Geant4_Compton, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
![]() |
![]() |
A 522 nm wavelength photon is
Why does GEANT4 and BDSIM give a max compton
of 7 keV when using an input photon energy of 2.18 eV instead of 14 keV as predicted by the above formula. A factor of 2 difference exits!
Now that we have source code for a compton scattering process, lets compare its output to some observables.
1.) Check if the
dependence is shown by the simulationDone; see above plots
usefull root command:
LCS->makeCode();
or
LCS->MakeClass();
2.) Plot the scattered electron kinetic energy distribution and compare it with predictions from the Klein Nishina formula.
E_min is 20 MeV for electrons and the code(DiffEKleinNishina.c) is computing E_max for incoming gammas which in LCS case is much smaller, i.e, 2.326 eV! The code will not go through the for loop. Even following the LorentzBoost, E_min=0.511 MeV for electrons and E_gamma=183 eV, the code will not compute DiffEXSect for electrons so today lets talk about working on DiffEKleinNishina.c?
Geant4 "lowEnCompton" | :266nm (for 532 nm laser), =20 MeVGeant4 "lowEnCompton" | :532nm (for 1064nm laser), =20 MeV
![]() |
![]() |
Geant4 "Compton" | :266nm (for 532 nm laser), =20 MeVGeant4 "Compton" | :532nm (for 1064nm laser), =20 MeV
![]() |
![]() |
3.) Save random number for Comptom event.
Done
4.) Write Kelin Nishina cross section formula in your Compton scattering physics process.
11/4/08
insert picture of compton event with coordinate system drawn.
1.) E gamma is delta function instead of distribution (conservation of E & P) : Check if outputting correct values from GEANT.
Output for the lowEnCompton: ### Run 0 start. Start Run processing.
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 0 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 0 0 800 0 0 -0.885077 511 keV 0 eV 8.8 m 8.8 m World Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 0 0 200 0 0 -0.885077 511 keV 0 eV 60 cm 9.4 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 0 0 0 0 0 -0.885077 511 keV 0 eV 20 cm 9.6 m Chamber Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 4 0 0 -800 0 0 -0.885077 511 keV 0 eV 80 cm 10.4 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 5 0 0 -960 0 0 -0.885077 511 keV 0 eV 16 cm 10.56 m OutOfWorld Transportation
********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 0 0 -800 0 0 0.000349583 349.583 eV 0 eV 8.8 m 8.8 m World Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 0 0 0 0 0 0.000349583 349.583 eV 0 eV 80 cm 9.6 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 0 0 200 0 0 0.000349583 349.583 eV 0 eV 20 cm 9.8 m Chamber Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 4 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 44.2575 cm 10.2426 m Tracker LowEnCompton
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 5 -800 -373.365 -593.133 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 1.51868 m 11.7612 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 6 -960 -448.038 -840.274 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 30.3735 cm 12.065 m OutOfWorld Transportation
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.5304 cm 16.5304 cm Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 92.132 42.9985 960 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.8007 cm 33.3311 cm OutOfWorld Transportation G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model.
------------------------------------------------------------------------------ output.txt (Rest and Lab frame for photons and electrons, Energy in keV) 1 0.34915 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 <---Scattered Photons in Rest frame 13.6587 -0.000183924 -8.58383e-05 -0.000284095 22 <---Scattered Photons in Lab frame 0.000433214 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 <---Scattered electrons in Rest frame 0.0417626 0.000183924 8.58383e-05 0.000633678 11 <---Scattered electrons in Lab frame
2.) Overlay KE of scatter electron from Klein-Nishina , GEANT4 and BDSIM.
./DiffEXsect 0 2.326 1 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
./DiffEXsect 0.1 2.326 1 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
./DiffEXsect 0.1 2.326 1e-5 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
insert scattered photon theta distribution and energy and energy -vs- theta
Overlay scattered photon energy with experiment
11/14/08
Simulation events: 10,000,000
1. insert picture of compton event with coordinate system drawn.
2. insert scattered photon theta distribution and energy and energy -vs- theta
GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) | GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) |
![]() |
![]() |
GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) | GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) |
![]() |
![]() |
3. Overlay scattered photon energy with experiment
I tried to overlay using TH2F, energy vs. counts, but no progress. The sample overlay example on hw10 is for TH1F class, probably I need to go into root manual this winter break.
GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) | Experimental Data (~32 MeV electrons and 532 nm laser) |
![]() |
![]() |
GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) | Experimental Data (~37 MeV electrons and 266 nm laser) |
![]() |
![]() |
12/12/08
Syed's LCS final for Fall, 2008:File:Syed LCS Simulation.pdf
01/06/09
Overlay scattered photon energy with experiment
Histograms Overlay Macro:File:LCS Experiment.C
32 MeV electrons and 532 nm laser head-on collision | ~37 MeV electrons and 266 nm laser head-on collision |
![]() |
![]() |
1/21/09
1.) Run MC with different momentum directions (angle w.r.t. laser) , how many event/CPU sec can be generated?
Here I'm assuming a triangle: a+b+c = 180 with an assumption that -1=180?? electronGun->SetParticleMomentumDirection(0, 0, 0); //0 Degree electronGun->SetParticleMomentumDirection(0, -0.75, -0.25); //45 Degree electronGun->SetParticleMomentumDirection(0, -0.5, -0.5); //90 Degree electronGun->SetParticleMomentumDirection(0, -0.25, -0.75); //135 Degree electronGun->SetParticleMomentumDirection(0, 0, -1); //180 Degree
32 MeV electrons and 532 nm laser collision at various incoming electron angles | 32 MeV electrons and 532 nm laser collision at various incoming electron angles |
![]() |
![]() |
![]() |
![]() |
![]() |
2.) Run MC with different electron energies to reproduce shape of distribution in experiment.
Electron Energies: 26-33 MeV Laser wavelength: 532 nmTable of scaling factors, identify # of gun triggers.
3.) Start writing comparison between 2 Physics models.
4.) Start trying out the GPS event generator
a.) need to move boost to LCS physics model instead of ExN02PrimaryGeneratorAction.cc
Then change source file ExN02PrimaryGeneratorAction.cc to have the lines below:
#include "G4GeneralParticleSource.hh"
:myDetector(myDC) { G4int n_particle = 1; particleGun = new G4GeneralParticleSource();
1/30/09
1.) Table of scale factors for beam energy changes. create an energy profile for the incident electron beam.
Landau Distribution? Particle_Identification#Electrons_2
2.) Physics Model comparison: GEANT4 with and without Lorentz boost.
side by side graphs of evt.comptonKE before and after your Model changes.
describe transformation equations using template below
3.) Abstract for July 12-16, 2009 HPS annual meeting
Abstract PDF file:File:Syed HPS 2009 Abstract.pdf
a.) Monochromatic X-ray resolution enhancement of radiography
b.)2 experiments using LCS to create a monochromatic X-ray beam have been done at the IAC
c.) A simulation has been performed to further understand features(insert your words here) of the experiment.
d.) A comparison between the simulation and experiment will be shown as well as actual radiograph images
4.) Use energy distribution from part 1 above to create the distribution using GPS.
2/12/09
Check photon energy calculation:
- = 532 nm
- = 2.3318 eV
Equation 1 from Reference File:Stepanek NIMA 412 1998pg174.pdf says that the backsattered x-ray energy In the Lab Frame is given by
- Transform from the LAB frame to a reference frame in which the electron is at rest
- Find
The relativistic transformation matrix for the four momentum is given by
= 296.6 eV
2/20/09
Based on 2/12/09 discussions, we created a global class "SharedLCSValues" to store electron's energy and calculate beta, gamma, and LorentzBoost conversion factors.
#ifndef LCSGLOBALS_HH #define LCSGLOBALS_HH 1 #include "globals.hh" class SharedLCSValues{ public: SharedLCSValues(); //constructor void setElectronEnergy(G4double); G4double getElectronEnergy(); G4double getBetaCalculated(); G4double getComptonLorentzFactor(); ~SharedLCSValues(); //destructor private: G4double IncomingElectronEnergy; G4double BetaCalculated; G4double GammaCalculated; G4double ComptonLorentzFactor; }; #endif ----------------- // // Authors: Syed F. Naeem, Tony Forest // Syed F. Naeem (syed@physics.isu.edu) // // History: // ----------- // 19 Feb 2007 1st implementation // ------------------------------------------------------------------- // Class description: // Beta and gamma calculations for incoming electrons // ------------------------------------------------------------------- #include "LCSGlobals.hh" SharedLCSValues::SharedLCSValues(){IncomingElectronEnergy = BetaCalculated = GammaCalculated = ComptonLorentzFactor = 0.0;} void SharedLCSValues::setElectronEnergy(G4double value){ IncomingElectronEnergy = value; if (IncomingElectronEnergy <= 0) { G4Exception("LCSGlobals::LCSGlobals - Electron energy outside intrinsic process validity range"); } } G4double SharedLCSValues::getElectronEnergy(){ return IncomingElectronEnergy; } G4double SharedLCSValues::getBetaCalculated(){ BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); return BetaCalculated; } G4double SharedLCSValues::getComptonLorentzFactor(){ BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); GammaCalculated = 1/sqrt(1-BetaCalculated*BetaCalculated); ComptonLorentzFactor = GammaCalculated*(1-BetaCalculated); return ComptonLorentzFactor; } SharedLCSValues::~SharedLCSValues(){}
GPS energy commands
/gps/ene/type Pow /gps/ene/alpha 2 #y = AE^alpha #/gps/ene/A 5? /gps/ene/min 5 MeV /gps/ene/max 32 MeV
Do a power law fit to the graph
2/26/09
gpsvis.mac /control/verbose 2 /run/verbose 2 /random/setSavingFlag 1 # # create empty scene # #/vis/scene/create # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) # #/vis/open OGLIX # draw scene # #/vis/viewer/set/viewpointThetaPhi 90 180 deg #/vis/viewer/zoom 1.4 #/vis/viewer/flush # for drawing the tracks # (if too many tracks cause core dump => storeTrajectory 0) #/tracking/storeTrajectory 1 #/vis/scene/add/trajectories # (if you prefer refreshing each event, comment out next line) #/vis/scene/endOfEventAction accumulate # /event/verbose 0 /tracking/verbose 2 #Particle's Momentum direction, electron in our case #Commented following lines in PrimaryGeneratorAction.cc: ####//electronGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., -1)); ####//electronGun->SetParticleEnergy( p4eRestFrame->e()); # We instead are setting electrons momentum direction in gpsvis.mac as follows: /gps/direction 0. 0. -1. /gps/ene/type Pow /gps/ene/alpha 2 #circular plane source /gps/pos/type Plane /gps/pos/shape Circle /gps/pos/radius 1.5 cm /gps/ene/min 26. MeV /gps/ene/max 33. MeV /run/beamOn 1000000 exit
Power-law Distribution graphs (26-33 MeV Electrons):
3/12/09
1.) alter power law fit plot so data has error bars and symbols, fit has thick solid black line. Legend describes symbols. Rebin plot in 1 keV wide energy bins
2.) work on the three sections shown in the paper part of the wiki
3.) do a simulation with power law alpha = 10.5, increase alpha again until drop off in simulation is like drop off in data
4.) save random number seed for a compton event so we can look at one easily
The run manager is deleting itself after specified runs?
5.) insert equations from E_gamma and Lorentz boosts into paper theory section
3/19/09
I showed my plots to Khalid and he said that there is an electron energy spread of <1%. The tail in LCS spectra was due to the deviation of incoming electrons w.r.t laser. He further said that Geant4 is good only for head-on collisions and the Lorentz Boost is different for angular deviations, which Geant4 doesn't cover.
Since GEANT4 is open source we can fix problems. You know GPS can change the angle and you installed the Lorentz transformation. All we need to do is be sure that you transform correctly.
How much energy spread gives you the tail in above X-ray distributions?
Let's print out an off axis (non head-on) collision event from GEANT4 and see if Khalid agrees with the kinematic calculation Commented by Syed: Thanks for the response Dr. Forest. Let me run simulations, by changing angles w.r.t some constant number of events, and discuss the results tomorrow and probably let's have a meeting altogether with Khalid to be on the same page.
We should printout and check an event before meeting with Khalid
Do we need to dig into LorentzBoost class or should I start working on X-rays for XRF purposes since we know how experimental LCS X-rays look like, I think the agenda I would like to discuss with you this Friday!
We checked the boost and found 1 problem already. Lets check the boost for an off axis event.
XRF will only be useful if we get a nuclear model that works.
Enclosed are some of the plots considering the case of 32.5 MeV electrons with 1% energy spread and 532nm laser. Off-axis electrons so far
have no effect. Tracking data files are huge so I will bring my laptop to go over these files.
GPS Macro
... ... ... #/gps/direction 0. 0. -1 #Head-on collision #/gps/direction 0. 5. -1. #11.09 degrees off-axis #/gps/direction 0. -5. -1. #11.09 degrees off-axis #/gps/direction 0. -0.75 -0.25 #45 degrees off-axis #/gps/direction -0.25 -0.25 -0.5 #90 degrees off-axis /gps/ene/type Pow #/gps/ene/alpha 11.5 #Default alpha = 0 /gps/ene/min 32.175 MeV #1% energy spread /gps/ene/max 32.5 MeV #/gps/ene/ezero 2. /run/beamOn 1000000 exit
Eq. (5) from Reference File:Stepanek NIMA 412 1998pg174.pdf
Where,
- eV for 532nm laser
- MeV
Solve
for scattered 's:3/20/09
1.) compare plot with the above data (theta -vs- Egamma) to the GEANT4 results.
2.) Insert GEANT4 off axis event. Energy and momentum direction of electron and photon before and after an LCS collision. Both Lab and Electron rest frame.
a) Energy and momentum direction of electron before LCS collision. Both Lab and Electron rest frame.
b) Energy and momentum direction of electron after LCS collision. Both Lab and Electron rest frame.
c) Energy and momentum direction of photons before LCS collision. Both Lab and Electron rest frame.
d) Energy and momentum direction of photons after LCS collision. Both Lab and Electron rest frame.
4/3/09
1.) Plot energy distribution of incident electron beam IN LAB FRAME, make it a power law that drop off from 32.2 MeV to 32.1 MeV . Amplitude at 32.1 is 1/10 of amplitude at 32.2 (just a guess).
then plot it incident electron REST frame.
2.) Overlay GEANT4 scatter plot of File:Stepanek NIMA 412 1998pg174.pdf
-vs- with equation Eq. (5) from Reference3.)
= incident electron 4-momentum in Lab Frame =
= incident photon 4-momentum in Lab Frame =
= beta for transformation to electron rest frame
= gamma for transformation to electron rest frame
= incident photon 4-momentum in electron Rest Frame
= incident electron 4-momentum In electron Rest Frame
GEANT4 event gives the scattering electron and compton photon in the electron rest frame as
= scattered electron 4-momentum In electron Rest Frame
= scattered photon 4-momentum in electron Rest Frame
Now transform this back to lab frame
= scattered photon 4-momentum in Lab Frame
= scattered electron 4-momentum in Lab Frame=
4/23/09
The tails in the experimental spectra (Quasi-Monochromatic) are due to the "non-uniform charge density distribution" of the electron beam in 44MeV linac regardless of the interaction angle between laser and electrons. Ideally, we would expect monochromatic LCS spectra even if there is no head-on collision between electrons and laser (previous Geant4 simulations) and the interaction angle mainly affects LCS yield. I had discussions with Khalid during LCS runs and he said that the tails in LCS spectra reflect non-uniform charge density distribution of the electrons from 44 MeV linac (which itself requires tremendous tuning each time).
Geant4 is assuming uniform charge density distribution in the incoming electron beam, probably that's why all peaks were reflecting an ideal beam scenario? Also, I think that the energy spread in previous Geant4 simulations (e.g, 26-33 MeV), to reflect experimental tails, represented non-uniform charge density distribution of the beam profile and power law fit approximated the non-uniformity of the electron charge density?
GPS Macro: Circular and Spherical beam types simulated with GPS's vertical deviation "sigmay" option
... ... ... /gps/direction 0. 0. -1 #Head-on collision, default configuration #/gps/direction 0.125 0.125 -0.75 # 13.26 degrees angular deviation but the peaks were mono-chrmatic /gps/ene/type Pow /gps/ene/alpha 10 #circular plane source /gps/pos/type Beam /gps/pos/shape Circle /gps/pos/radius 0.3 cm #/gps/ang/type beam2d #accelerator beam, applicable w/angular sigma #/gps/ang/sigma_y 0.02 rad #Std. deviation of the beam position profile, requires beam as type "beam2d" /gps/pos/sigma_y 0.15 cm #Std. deviation of the beam position profile, requires beam as type "Beam" /gps/ene/min 32.175 MeV /gps/ene/max 32.5 MeV /run/beamOn 1000000 exit
5/1/09
1.) Record 2 RND generator states for 2 compton scattering events . One event is electron going along z-axis the other is electron making an angle
w.r.t z-axis.2.) Calculate
for the above 2 events by hand and in the MC.
12/23/09
Simulation Done with BDSIM: Energy off by x2 but the spectrum is very close to experimental result Energy spread: 0.32 MeV (1%)