Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ok-landscape
GitHub Repository: Ok-landscape/computational-pipeline
Path: blob/main/latex-templates/templates/particle-physics/cross_section.tex
51 views
unlisted
1
\documentclass[a4paper, 11pt]{article}
2
\usepackage[utf8]{inputenc}
3
\usepackage[T1]{fontenc}
4
\usepackage{amsmath, amssymb, amsthm}
5
\usepackage{graphicx}
6
\usepackage{booktabs}
7
\usepackage{siunitx}
8
\usepackage{subcaption}
9
\usepackage[makestderr]{pythontex}
10
11
\newtheorem{definition}{Definition}
12
\newtheorem{theorem}{Theorem}
13
\newtheorem{example}{Example}
14
\newtheorem{remark}{Remark}
15
16
\title{Particle Scattering Cross Sections: Rutherford, Mott, and Form Factor Analysis}
17
\author{High Energy Physics Computation Laboratory}
18
\date{\today}
19
20
\begin{document}
21
\maketitle
22
23
\begin{abstract}
24
This technical report presents comprehensive computational analysis of particle scattering cross sections. We implement the Rutherford formula for classical Coulomb scattering, Mott cross section with relativistic and spin corrections, and nuclear form factors for extended charge distributions. The analysis covers differential and integrated cross sections, structure functions, and momentum transfer dependence essential for understanding particle interactions and nuclear structure.
25
\end{abstract}
26
27
\section{Theoretical Framework}
28
29
\begin{definition}[Differential Cross Section]
30
The differential cross section $d\sigma/d\Omega$ gives the probability per unit solid angle for scattering into direction $(\theta, \phi)$:
31
\begin{equation}
32
\frac{dN}{dt} = I_0 n \frac{d\sigma}{d\Omega} d\Omega
33
\end{equation}
34
where $I_0$ is incident flux and $n$ is target number density.
35
\end{definition}
36
37
\begin{theorem}[Rutherford Scattering]
38
For Coulomb scattering of a particle with charge $Z_1 e$ from a nucleus with charge $Z_2 e$:
39
\begin{equation}
40
\frac{d\sigma}{d\Omega}_{Ruth} = \left(\frac{Z_1 Z_2 \alpha \hbar c}{4 E_k \sin^2(\theta/2)}\right)^2
41
\end{equation}
42
where $\alpha \approx 1/137$ is the fine structure constant.
43
\end{theorem}
44
45
\subsection{Relativistic and Quantum Corrections}
46
47
\begin{theorem}[Mott Cross Section]
48
For relativistic electron scattering, the Mott formula includes spin effects:
49
\begin{equation}
50
\frac{d\sigma}{d\Omega}_{Mott} = \frac{d\sigma}{d\Omega}_{Ruth} \left(1 - \beta^2 \sin^2(\theta/2)\right)
51
\end{equation}
52
where $\beta = v/c$.
53
\end{theorem}
54
55
\begin{example}[Nuclear Form Factor]
56
For extended nuclear charge distribution $\rho(r)$:
57
\begin{equation}
58
\frac{d\sigma}{d\Omega} = \frac{d\sigma}{d\Omega}_{Mott} |F(q)|^2
59
\end{equation}
60
where $F(q) = \int \rho(r) e^{i\mathbf{q}\cdot\mathbf{r}} d^3r$ is the form factor and $q = 2k\sin(\theta/2)$ is momentum transfer.
61
\end{example}
62
63
\section{Computational Analysis}
64
65
\begin{pycode}
66
import numpy as np
67
from scipy.special import spherical_jn
68
import matplotlib.pyplot as plt
69
plt.rc('text', usetex=True)
70
plt.rc('font', family='serif', size=10)
71
72
# Physical constants
73
alpha = 1/137.036 # Fine structure constant
74
hbar_c = 197.327 # MeV fm
75
m_e = 0.511 # Electron mass (MeV/c^2)
76
fm_to_barn = 100 # fm^2 to barn
77
78
def rutherford_cross_section(theta, E_lab, Z1, Z2):
79
"""Rutherford differential cross section (fm^2/sr)."""
80
sin2 = np.sin(theta/2)**2
81
sin2 = np.maximum(sin2, 1e-10) # Avoid singularity
82
return (Z1 * Z2 * alpha * hbar_c / (4 * E_lab * sin2))**2
83
84
def mott_cross_section(theta, E_lab, Z1, Z2, m_proj):
85
"""Mott differential cross section with relativistic correction."""
86
gamma = E_lab / m_proj
87
beta = np.sqrt(1 - 1/gamma**2) if gamma > 1 else 0
88
ruth = rutherford_cross_section(theta, E_lab, Z1, Z2)
89
return ruth * (1 - beta**2 * np.sin(theta/2)**2)
90
91
def momentum_transfer(theta, E_lab, m_proj):
92
"""Calculate momentum transfer q in fm^-1."""
93
gamma = E_lab / m_proj
94
p = np.sqrt(E_lab**2 - m_proj**2) # MeV/c
95
q = 2 * p * np.sin(theta/2) / hbar_c # fm^-1
96
return q
97
98
# Nuclear form factors
99
def uniform_sphere_ff(q, R):
100
"""Form factor for uniform sphere charge distribution."""
101
qR = q * R
102
# Avoid numerical issues at qR = 0
103
qR = np.maximum(qR, 1e-10)
104
return 3 * (np.sin(qR) - qR * np.cos(qR)) / qR**3
105
106
def gaussian_ff(q, a):
107
"""Form factor for Gaussian charge distribution."""
108
return np.exp(-q**2 * a**2 / 6)
109
110
def fermi_ff(q, c, a):
111
"""Form factor for Woods-Saxon (Fermi) distribution."""
112
# Approximate form factor using parametrization
113
R_rms = np.sqrt(0.6) * c # RMS radius approximation
114
return uniform_sphere_ff(q, R_rms)
115
116
# Target parameters
117
Z_target = 79 # Gold
118
A_target = 197
119
R_Au = 1.2 * A_target**(1/3) # Nuclear radius (fm)
120
R_rms = 5.33 # RMS charge radius of Au (fm)
121
122
# Carbon for form factor analysis
123
Z_C = 6
124
A_C = 12
125
R_C = 1.2 * A_C**(1/3)
126
127
# Scattering angles
128
theta = np.linspace(0.01, np.pi, 500)
129
130
# Beam energies (MeV)
131
energies = [50, 100, 200, 500]
132
133
# Calculate cross sections for different energies
134
cs_ruth = []
135
cs_mott = []
136
for E in energies:
137
ruth = rutherford_cross_section(theta, E, 1, Z_target)
138
mott = mott_cross_section(theta, E, 1, Z_target, m_e)
139
cs_ruth.append(ruth)
140
cs_mott.append(mott)
141
142
# Form factor analysis
143
E_form = 500 # MeV
144
q_values = momentum_transfer(theta, E_form, m_e)
145
146
# Different form factors
147
ff_uniform = uniform_sphere_ff(q_values, R_C)
148
ff_gaussian = gaussian_ff(q_values, R_C / np.sqrt(5/3))
149
150
# Cross section with form factor
151
cs_mott_ff = mott_cross_section(theta, E_form, 1, Z_C, m_e)
152
cs_with_ff = cs_mott_ff * ff_uniform**2
153
154
# Integrated cross section (above minimum angle)
155
def integrated_cross_section(theta_min, E_lab, Z1, Z2, m_proj):
156
"""Integrated cross section for theta > theta_min."""
157
theta_int = np.linspace(theta_min, np.pi, 1000)
158
dsigma = mott_cross_section(theta_int, E_lab, Z1, Z2, m_proj)
159
# Integrate over solid angle
160
sigma = 2 * np.pi * np.trapz(dsigma * np.sin(theta_int), theta_int)
161
return sigma
162
163
# Total cross section vs energy
164
E_range = np.logspace(1, 4, 100)
165
theta_min = np.deg2rad(1) # Minimum angle
166
sigma_total = [integrated_cross_section(theta_min, E, 1, Z_target, m_e) for E in E_range]
167
168
# Mandelstam variables
169
def mandelstam_t(theta, E_lab, m_proj, m_target):
170
"""Calculate Mandelstam t variable."""
171
s = m_target**2 + 2 * E_lab * m_target # Assuming target at rest
172
p_cm_sq = (s - (m_proj + m_target)**2) * (s - (m_proj - m_target)**2) / (4*s)
173
t = -2 * p_cm_sq * (1 - np.cos(theta))
174
return t
175
176
# Create visualization
177
fig = plt.figure(figsize=(12, 10))
178
gs = fig.add_gridspec(3, 3, hspace=0.35, wspace=0.35)
179
180
# Plot 1: Rutherford cross section at different energies
181
ax1 = fig.add_subplot(gs[0, 0])
182
colors = plt.cm.viridis(np.linspace(0.2, 0.8, len(energies)))
183
for E, cs, color in zip(energies, cs_ruth, colors):
184
ax1.semilogy(np.rad2deg(theta), cs * fm_to_barn, color=color,
185
lw=1.5, label=f'{E} MeV')
186
ax1.set_xlabel('Scattering Angle (deg)')
187
ax1.set_ylabel(r'$d\sigma/d\Omega$ (barn/sr)')
188
ax1.set_title('Rutherford Cross Section (Au)')
189
ax1.legend(fontsize=7)
190
ax1.grid(True, alpha=0.3, which='both')
191
ax1.set_xlim([0, 180])
192
193
# Plot 2: Mott vs Rutherford
194
ax2 = fig.add_subplot(gs[0, 1])
195
E_compare = 200
196
ruth_200 = rutherford_cross_section(theta, E_compare, 1, Z_target)
197
mott_200 = mott_cross_section(theta, E_compare, 1, Z_target, m_e)
198
199
ax2.semilogy(np.rad2deg(theta), ruth_200 * fm_to_barn, 'b-', lw=2, label='Rutherford')
200
ax2.semilogy(np.rad2deg(theta), mott_200 * fm_to_barn, 'r--', lw=2, label='Mott')
201
ax2.set_xlabel('Scattering Angle (deg)')
202
ax2.set_ylabel(r'$d\sigma/d\Omega$ (barn/sr)')
203
ax2.set_title(f'Rutherford vs Mott ({E_compare} MeV)')
204
ax2.legend(fontsize=8)
205
ax2.grid(True, alpha=0.3, which='both')
206
207
# Plot 3: Mott/Rutherford ratio
208
ax3 = fig.add_subplot(gs[0, 2])
209
ratio = mott_200 / ruth_200
210
ax3.plot(np.rad2deg(theta), ratio, 'g-', lw=2)
211
ax3.set_xlabel('Scattering Angle (deg)')
212
ax3.set_ylabel('Mott / Rutherford')
213
ax3.set_title('Relativistic Correction')
214
ax3.grid(True, alpha=0.3)
215
ax3.set_ylim([0, 1.1])
216
ax3.set_xlim([0, 180])
217
218
# Plot 4: Form factors
219
ax4 = fig.add_subplot(gs[1, 0])
220
ax4.plot(q_values, np.abs(ff_uniform)**2, 'b-', lw=2, label='Uniform sphere')
221
ax4.plot(q_values, np.abs(ff_gaussian)**2, 'r--', lw=1.5, label='Gaussian')
222
ax4.set_xlabel('Momentum Transfer $q$ (fm$^{-1}$)')
223
ax4.set_ylabel('$|F(q)|^2$')
224
ax4.set_title('Nuclear Form Factors (C-12)')
225
ax4.legend(fontsize=8)
226
ax4.grid(True, alpha=0.3)
227
ax4.set_xlim([0, 4])
228
ax4.set_ylim([0, 1.1])
229
230
# Plot 5: Cross section with form factor
231
ax5 = fig.add_subplot(gs[1, 1])
232
ax5.semilogy(np.rad2deg(theta), cs_mott_ff * fm_to_barn, 'b-', lw=2, label='Point nucleus')
233
ax5.semilogy(np.rad2deg(theta), cs_with_ff * fm_to_barn, 'r-', lw=2, label='With $F(q)$')
234
ax5.set_xlabel('Scattering Angle (deg)')
235
ax5.set_ylabel(r'$d\sigma/d\Omega$ (barn/sr)')
236
ax5.set_title(f'Form Factor Effect (C-12, {E_form} MeV)')
237
ax5.legend(fontsize=8)
238
ax5.grid(True, alpha=0.3, which='both')
239
240
# Plot 6: Cross section vs q^2
241
ax6 = fig.add_subplot(gs[1, 2])
242
q2 = q_values**2
243
ax6.semilogy(q2, cs_with_ff * fm_to_barn, 'b-', lw=2)
244
ax6.set_xlabel('$q^2$ (fm$^{-2}$)')
245
ax6.set_ylabel(r'$d\sigma/d\Omega$ (barn/sr)')
246
ax6.set_title('Cross Section vs $q^2$')
247
ax6.grid(True, alpha=0.3, which='both')
248
ax6.set_xlim([0, 4])
249
250
# Plot 7: Integrated cross section vs energy
251
ax7 = fig.add_subplot(gs[2, 0])
252
ax7.loglog(E_range, np.array(sigma_total) * fm_to_barn, 'b-', lw=2)
253
ax7.set_xlabel('Beam Energy (MeV)')
254
ax7.set_ylabel(r'$\sigma$ (barn)')
255
ax7.set_title(f'Integrated Cross Section ($\\theta > 1^\\circ$)')
256
ax7.grid(True, alpha=0.3, which='both')
257
258
# Plot 8: Angular distribution (polar plot)
259
ax8 = fig.add_subplot(gs[2, 1], projection='polar')
260
for E, cs, color in zip([100, 500], [cs_mott[1], cs_mott[3]], ['blue', 'red']):
261
cs_norm = cs / np.max(cs)
262
ax8.plot(theta, cs_norm, color=color, lw=1.5, label=f'{E} MeV')
263
ax8.set_title('Angular Distribution')
264
ax8.legend(fontsize=7, loc='lower right')
265
266
# Plot 9: Mandelstam t distribution
267
ax9 = fig.add_subplot(gs[2, 2])
268
m_target_Au = A_target * 931.5 # MeV
269
t_200 = mandelstam_t(theta, 200, m_e, m_target_Au)
270
ax9.semilogy(np.rad2deg(theta), np.abs(t_200), 'purple', lw=2)
271
ax9.set_xlabel('Scattering Angle (deg)')
272
ax9.set_ylabel('$|t|$ (MeV$^2$)')
273
ax9.set_title('Momentum Transfer Squared')
274
ax9.grid(True, alpha=0.3, which='both')
275
276
plt.savefig('cross_section_plot.pdf', bbox_inches='tight', dpi=150)
277
print(r'\begin{center}')
278
print(r'\includegraphics[width=\textwidth]{cross_section_plot.pdf}')
279
print(r'\end{center}')
280
plt.close()
281
282
# Summary calculations
283
dsigma_90_ruth = rutherford_cross_section(np.pi/2, 100, 1, Z_target)
284
dsigma_90_mott = mott_cross_section(np.pi/2, 100, 1, Z_target, m_e)
285
ratio_90 = dsigma_90_mott / dsigma_90_ruth
286
ff_first_min = np.deg2rad(180 * 4.49 / (q_values[-1] * R_C)) # First zero of j_1
287
\end{pycode}
288
289
\section{Results and Analysis}
290
291
\subsection{Cross Section Scaling}
292
293
\begin{pycode}
294
print(r'\begin{table}[htbp]')
295
print(r'\centering')
296
print(r'\caption{Differential Cross Sections at 90$^\circ$ (Gold Target)}')
297
print(r'\begin{tabular}{ccccc}')
298
print(r'\toprule')
299
print(r'Energy (MeV) & Rutherford & Mott & Ratio & $\beta$ \\')
300
print(r'\midrule')
301
302
for E in energies:
303
ruth = rutherford_cross_section(np.pi/2, E, 1, Z_target) * fm_to_barn
304
mott = mott_cross_section(np.pi/2, E, 1, Z_target, m_e) * fm_to_barn
305
gamma = E / m_e
306
beta = np.sqrt(1 - 1/gamma**2) if gamma > 1 else 0
307
r = mott/ruth
308
print(f'{E} & {ruth:.2e} & {mott:.2e} & {r:.3f} & {beta:.3f} \\\\')
309
310
print(r'\bottomrule')
311
print(r'\end{tabular}')
312
print(r'\end{table}')
313
\end{pycode}
314
315
\subsection{Key Cross Section Features}
316
317
The analysis reveals:
318
\begin{itemize}
319
\item Rutherford formula: $d\sigma/d\Omega \propto \sin^{-4}(\theta/2)$ singularity at $\theta = 0$
320
\item Mott correction: reduces backscattering by factor $(1 - \beta^2)$ at 180$^\circ$
321
\item Energy scaling: $\sigma \propto E^{-2}$ for Coulomb scattering
322
\item Form factor: creates diffraction minima at $q \cdot R \approx 4.49$
323
\end{itemize}
324
325
\begin{remark}
326
The Mott/Rutherford ratio at 90$^\circ$ for 100 MeV electrons is \py{f"{ratio_90:.3f}"}, showing significant relativistic suppression.
327
\end{remark}
328
329
\subsection{Form Factor Analysis}
330
331
\begin{pycode}
332
print(r'\begin{table}[htbp]')
333
print(r'\centering')
334
print(r'\caption{Nuclear Form Factor Parameters}')
335
print(r'\begin{tabular}{lccc}')
336
print(r'\toprule')
337
print(r'Nucleus & $R$ (fm) & $R_{rms}$ (fm) & First minimum ($q$) \\')
338
print(r'\midrule')
339
print(f'C-12 & {R_C:.2f} & {R_C * np.sqrt(3/5):.2f} & {4.49/R_C:.2f} fm$^{{-1}}$ \\\\')
340
print(f'Au-197 & {R_Au:.2f} & {R_rms:.2f} & {4.49/R_Au:.2f} fm$^{{-1}}$ \\\\')
341
print(r'\bottomrule')
342
print(r'\end{tabular}')
343
print(r'\end{table}')
344
\end{pycode}
345
346
\section{Applications}
347
348
\begin{example}[Nuclear Size Measurement]
349
Electron scattering experiments determine nuclear charge radii through form factor analysis. The position of diffraction minima in $d\sigma/d\Omega$ directly gives the nuclear radius: $R \approx 4.49/q_{min}$.
350
\end{example}
351
352
\begin{example}[Deep Inelastic Scattering]
353
At high $Q^2 = -t$, structure functions $F_1(x, Q^2)$ and $F_2(x, Q^2)$ probe quark distributions inside nucleons, revealing parton dynamics.
354
\end{example}
355
356
\begin{theorem}[Optical Theorem]
357
The total cross section relates to the forward scattering amplitude:
358
\begin{equation}
359
\sigma_{tot} = \frac{4\pi}{k} \text{Im}[f(0)]
360
\end{equation}
361
This connects elastic and inelastic scattering processes.
362
\end{theorem}
363
364
\section{Discussion}
365
366
The cross section analysis demonstrates:
367
368
\begin{enumerate}
369
\item \textbf{Classical limit}: Rutherford formula recovers Coulomb scattering with $d\sigma \propto Z^2/E^2$.
370
\item \textbf{Relativistic effects}: Mott correction accounts for electron spin-orbit coupling.
371
\item \textbf{Nuclear structure}: Form factors encode charge distribution information.
372
\item \textbf{Diffraction}: Wave nature of matter creates interference patterns in angular distribution.
373
\item \textbf{Scale dependence}: Different energies probe different length scales via $\lambda = \hbar c/E$.
374
\end{enumerate}
375
376
\section{Conclusions}
377
378
This computational analysis demonstrates:
379
\begin{itemize}
380
\item Cross section at 90$^\circ$ (100 MeV, Au): \py{f"{dsigma_90_mott * fm_to_barn:.2e}"} barn/sr
381
\item Mott/Rutherford ratio (100 MeV): \py{f"{ratio_90:.3f}"}
382
\item Gold nuclear radius: \py{f"{R_Au:.2f}"} fm
383
\item Carbon nuclear radius: \py{f"{R_C:.2f}"} fm
384
\end{itemize}
385
386
Cross section measurements form the foundation of particle physics experiments, enabling precise determination of fundamental interactions and nuclear structure.
387
388
\section{Further Reading}
389
\begin{itemize}
390
\item Povh, B., Rith, K., Scholz, C., Zetsche, F., \textit{Particles and Nuclei}, 7th Ed., Springer, 2015
391
\item Hofstadter, R., Electron scattering and nuclear structure, \textit{Rev. Mod. Phys.} 28, 214 (1956)
392
\item Halzen, F., Martin, A.D., \textit{Quarks and Leptons}, Wiley, 1984
393
\end{itemize}
394
395
\end{document}
396
397