GithubHelp home page GithubHelp logo

billlee77 / estarlight Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eic/estarlight

0.0 0.0 0.0 60.78 MB

Monte Carlo that simulates coherent vector meson photo- and electro-production in electron-ion collisions

CMake 7.36% Makefile 6.24% Fortran 1.11% C++ 69.80% Jupyter Notebook 14.70% C 0.79%

estarlight's Introduction

eSTARlight

eSTARlight is a Monte Carlo that simulates coherent vector meson photo- and electro-production in electron-ion collisions. It can produce a variety of final states at different center of mass energies for different collision systems at arbitrary values for the photon virtuality.

Papers and presentations

Authors

  • Michael Lomnitz1
  • Spencer Klein1

1: Lawrence Berkeley National Laboratory, Relativistic Nuclear Collisions Program, Nuclear Science Division.

All rights reserved.

Declaration

Portions of this package were originally inherited/based on the STARlight Monte Carlo generator. We would like to acknowledge the authors J. Nystrand, J. Seger and Y. Gorbunov for their contributions to STARlight. This work was funded by the U.S. Department of Energy under contract number DE-AC-76SF00098.

Instructions for use

The following instructions illustrate the procedure to install and run eSTARlight in a *nix based environment:

  • Download the code package from Github and move to the desired location, i.e.
~/the_path/eestarlight
  • Change to the installation directory of your choice
mkdir ~/my/installation/dir
cd ~/my/installation/dir
  • Set up the installation using cmake:
cmake ~/the_path/eestarlight
  • Compile the code using (g)make:
(g)make
  • The compilation will produce two executables to run either STARlight or eSTARlight

  • Set up the desired running conditions in the input file:

cp ~/the_path/eSTARlight/slight.in .
vim slight.in
  • Note: As of yet, the positron/electron beam must be set to beam1, it is selected by setting:
BEAM_1_Z = +/- 1 (as of yet both positrons and electrons are modelled identically)
BEAM_1_A = 0
  • Run the simulation:
./e_starlight > output.txt
  • output.txt will contain the program log and calculated cross-section for the simulation sample.

  • The event catalogue will be emptied into the file slight.out

  • Interpret the result. We have provided a macro to convert the output into a ROOT TTree:

    root -b -q -l ~/the_path/estarlight/utils/ConvertStarlightAsciiToTree.C
    
    • TTree is output to starlight.root
  • Analyze your data:

    • We have included template analysis) (~/the_path/estarlight/analysis/) code that reads slight.root and fill histograms. For more details please look at the README.
cd ~/the_path/eSTARlight/analysis
sh e_run.sh ~/the_path/starlight.root

Documentation

A more detailed version of the README is included as part of the software package, located in:

~/the_path/estarlight/Readme.pdf
~/the_path/estarlight/Readme.docx

Finally, the full documentation with class description and dependencies is also available as part of the EIC-related software documentation, e.g. here. We have included a config file to generate a fresh version of the doxygen documentation. The following steps can be used to generate the documentation:

  • Download and install Doxygen
  • Move into the source directory:
cd ~/the_path/estarlight/

If necessary, delete previous documentation to avoid any conflicts:

rm ~/the_path/estarlight/doxygen/html/*

Generate the documentation:

doxygen estarlightDoxyfile.conf

The documentation should be generated and available in the previous location.

To view the documentation:

  • Open the file ~/the_path/estarlight/doxygen/html/index.html

Using with HepMC3 output

HepMC3 can be found at https://gitlab.cern.ch/hepmc/HepMC3. The README should be referred to for installation. For quick installation, the following can be used.

mkdir hepmc3
cd hepmc3
git clone https://gitlab.cern.ch/hepmc/HepMC3.git
mkdir hepmc3-build
cd hepmc3-build
cmake -DHEPMC3_ENABLE_ROOTIO=OFF -DCMAKE_INSTALL_PREFIX=../hepmc3-install -DHEPMC3_ENABLE_PYTHON=OFF -DHEPMC3_BUILD_EXAMPLES=ON -DHEPMC3_ENABLE_TEST=ON ../HepMC3

Running tests at this point will result in errors so first compile the test directory:

cd test
make
cd ..
make test

You should get the output: 100% tests passed, 0 tests failed out of 23. Now install:

make install

To compile eSTARlight with HepMC3 output enabled, use:

cmake /pathto/estarlight -DENABLE_HEPMC3=ON -DHepMC3_DIR=/pathto/hepmc3/hepmc3-install

estarlight's People

Contributors

spencerklein avatar kkauder avatar samuelhep avatar buddhasystem avatar mlomnitz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.