Skip to main content

Monte Carlo Simulation of Compton Scattering

Project description

CompScat

License Python package GH Pages PyPI Package latest release Supported versions DOI

Author

Aman Desai

Description

Monte Carlo simulation of fixed-target Compton scattering. The study has been compared with Madgraph5amc_NLO MC event generator. The full analysis can be found here Link. The analysis is currently done in C++ (ROOT Framework). To analyse the Madgraph LHE file, an LHE reader deverloped here is used.

Physics

Representative Feynman diagrams for compton scattering

compton-feynman diagram 2 compton-feynman diagram 2

Validation of CompScat

The following plots compare the final states for CompScat with the Madgraph5amc_NLO final states.

Cross section

Evaluated using $10^6$ phase points with CompScat and using the Madgraph file as given in analysis folder.

Plot showing the cross section versus energy (with error bars):

xsec_vs_energy

Initial Photon Energy CompScat $\sigma$ (milibarn) Madgraph $\sigma$ (milibarn)
50 MeV 15.585 $\pm$ 0.0495 15.57 $\pm$ 0.037
100 MeV 8.783 $\pm$ 0.0361 8.799 $\pm$ 0.028
200 MeV 4.857 $\pm$ 0.0255 4.87 $\pm$ 0.019
300 MeV 3.414 $\pm$ 0.0205 3.43 $\pm$ 0.0081
400 MeV 2.669 $\pm$ 0.0185 2.664 $\pm$ 0.0051
500 MeV 2.194 $\pm$ 0.0161 2.203 $\pm$ 0.0044

In the following, the initial photon energy is set to 0.1 GeV (electron is at rest).

Photon final state kinematics

Electron final state kinematics

Installation

Use:

pip install compscat

or to install from the latest branch use:

git clone https://github.com/amanmdesai/compscat.git
cd compscat
pip install .

Run the generator!

Description of the example in notebooks:

To import the library use

from compscat import CrossSection, SaveEvent,constants,PlotData

and then set the energy of the incoming photon in MeV:

E = 0.1

The step below is the crucial step as the Cross Section is evaluated here. Only the energy is passed as an argument.

w_sum, w_square, w_max = CrossSection(
    E / constants.m
).integrate_xsec()

The script below will generate the events according to the w_max obtained above and Energy specified by the user. Moreover, the below class will also save the events (either as root or in a csv file). To save in root format use:

SaveEvent(10000, w_max, E).to_root()

else to save them in a csv file use:

SaveEvent(10000, w_max, E).to_csv()

Finally the scripts below will plot the data and store it as pdf. If you have saved the events in a root format use:

PlotData.file("MC_compton.root")

else if you are using csv file, use:

PlotData.file("MC_compton.csv")

Evaluate the Cross section

See the notebook 'cross-section.ipynb'

Exercises

  • Evaluate the cross section of compton scattering using the CrossSection module for different initial proton energies. Plot the same.

  • Study the final states at different energies and plot them on the same plot.

  • Find the angles $\phi$ and $\theta$ of scattering.

  • Make a 2D plot of the energy of photon/electron with the angle of scattering ( $\phi$ and $\theta$).

Acknowledgements

We would like to thank Dr. Olivier Mattelaer (UCLouvain, Belgium), whose suggestion on applying cuts in the Madgraph configuration file was helpful in validation of the final states predicted by the CompScat package. We are grateful to Dr. Kilian Lieret (Princeton University, USA), whose suggestion to me about pre-commit config/python packaging (cookiecutter) was helpful in the overall formatting/structuring of the python package.

References

  1. For physics involved in the calculation, see for example, Introduction to Elementary Particles, David Griffiths.
  2. For monte carlo techniques: Statistical data analysis, Glen Cowan, 1998.
  3. For the equations used by the simulator see for example, Link
  4. Also see: Papaefstathiou, A. How-to: write a parton-level Monte Carlo particle physics event generator. Eur. Phys. J. Plus 135, 497 (2020).
  5. Alwall, J. and others, The automated computation of tree-level and next-to-leading order differential cross sections, and their matching to parton shower simulations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compscat-0.3.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

compscat-0.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file compscat-0.3.0.tar.gz.

File metadata

  • Download URL: compscat-0.3.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for compscat-0.3.0.tar.gz
Algorithm Hash digest
SHA256 79bd26a81d3c49a58f43610d7d17307aa7f35b98ea7dd6a5dba33d0017bda25d
MD5 f09c37b7c816e1ebd1f453fa817e728d
BLAKE2b-256 e1b9f767cc52f1d24de55963a66d071e31c8f5e59db7d533cd9588aed5dda324

See more details on using hashes here.

File details

Details for the file compscat-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: compscat-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for compscat-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad7960fc319b7ef607c4b2886a6e525914b7c40aa6ddddf1ad735291b41c32fd
MD5 8de3084a2fdf3a9fbaac409fda03aeba
BLAKE2b-256 1e6eb6002771f34715b65f129b1f229cab80ced06aa79485c67be47302a0f29d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page