Skip to content

JeffersonLab/clas12-mcgen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is a collection of CLAS12 collaboration event generators, mostly in the form of git submodules, plus a central build "system". Builds for these generators are supported on the CLAS12 Open Science Grid portal, locally at JLab, and via CVMFS.

List of Generators

name description maintainer
clasdis SIDIS MC based on PEPSI LUND MC Harut Avakian
claspyth SIDIS full event generator based on PYTHIA Harut Avakian
clas-stringspinner SIDIS PYTHIA with hadronization spin effects Christopher Dilks
dvcsgen DVCS/pi0/eta generator based on GPD and PDF parameterizations Harut Avakian
genKYandOnePion KY, pi0P and pi+N Valerii Klimenko
inclusive-dis-rad Inclusive electron and optionally radiative photon using PDFs Harut Avakian
tcsgen Timelike Compton Scattering Rafayel Paremuzyan
jpsigen J/Psi photoproduction Rafayel Paremuzyan
twopeg pi+pi- electroproduction off protons Iuliia Skorodumina
clas12-elspectro General electroproduction final states Derek Glazier
MCEGENpiN_radcorr Exclusive single pion electroproduction based on MAID Maksim Davydov
deep-pipi-gen Deep double pion production Dilini Bulumulla
genepi Photon and meson electroproduction Noémie Pilleuxi
onepigen Single charged pion production based on AO/Daresbury/MAID Nick Tyler
GiBUU Quark and hadron propagation in nuclear media Ahmed El Alaoui

Adding or Modifying a Generator

  1. A git repository for your source code is required, ideally at https://github.com/JeffersonLab or https://code.jlab.org
  2. Make sure to include the README.md describing the generator, its options, and requirements
  3. Have a working build system (for example a Makefile)
  4. Satisfy the additional requirements described below

Requirements

  • C/C++/Fortran/python3, with a working GNU make or cmake build system compliant with GCC no less than 9.0
  • The top level README file should contain:
    • The location of the executable(s) and any shared libraries produced and required at runtime
    • Required environment variables
    • Documentation on all command-line options
  • The executable to be used on OSG should have the same name as the github repository name and be runnable from any current working directory
  • The default output LUND filename should be the same as the executable + .dat. For example, the output of clasdis must be clasdis.dat
  • The follow command-line arguments are always passed to all generators on OSG:
    • --trig # must be honored and used to specify the number of events to generate.
    • --docker must be accepted as a valid argument and can be ignored or used for setting conditions for OSG.
    • --seed # must be accepted as a valid argument and can be ignored or used to initialize the event generator's RNG. Its value is a 32-bit RNG seed based on system clock with microsecond precision. If --seed is ignored, the generator is responsible for choosing unique random seeds, without preserving state between jobs, which can be done from a millisecond or better precision system clock.
  • A git tag to reference for including the generator as a submodule into this repository. Note versions.txt stores the current versions for insertion into the data stream.
  • Note, currently CLAS12's OSG web submission portal does not support configuration files for event generators, so users' runtime options must be supported via command-line options.
    • Some generators do that via a wrapper script that generates a configuration file on-the-fly.
    • If there's popular demand for it, support for user-defined configuration files could be added.