# 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)

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

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 eV

Case-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

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 ...
/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 ; and proton is at rest. The 4-vectors are:

Lab Frame
(,,0,0) and for proton :(,0,0,0)
CM Frame
:(,,,) and for proton :(,,,)
Find such that

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
(,,0,0) and for proton :(,,0,0)
Transform from the LAB frame to a reference frame in which the electron is at rest
Find such that

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 MeV GEANT4_SyedLowEnCompton, :266 nm=4.652 eV (for 532 nm laser), =20 MeV
 GEANT4_SyedLowEnCompton, :532 nm=2.326 eV (for 1064 nm laser), =20 MeV GEANT4_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 MeV Angular dependence (Head-on collision)
 BDSIM, :532nm (for 1064nm laser), =20 MeV Angular dependence (Head-on collision)
 -------------------------------------------------------------------------------------------------------------------------------------------------

 Geant4_lowEnCompton, :266nm (for 532nm laser), =20 MeV Angular dependence (Head-on collision)
 Geant4_lowEnCompton, :532nm (for 1064nm laser), =20 MeV Angular dependence (Head-on collision)
 Geant4_Compton, :266nm (for 532nm laser), =20 MeV Angular dependence (Head-on collision)
 Geant4_Compton, :532nm (for 1064nm laser), =20 MeV Angular 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 simulation

   Done; 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 MeV Geant4 "lowEnCompton" :532nm (for 1064nm laser), =20 MeV
 Geant4 "Compton" :266nm (for 532 nm laser), =20 MeV Geant4 "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 nm

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

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 such that

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
# (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/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


= 0.0, Default GPS direction
= 0.0, 11.09 degrees deviation
= 0.0, 11.09 degrees deviation
= 0.0, 45 degrees deviation
= 0.0, 90 degrees deviation

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 -vs- with equation Eq. (5) from Reference File:Stepanek NIMA 412 1998pg174.pdf

3.) = 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/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