LDMX-Software / ldmx-sw

The Light Dark Matter eXperiment simulation and reconstruction framework.

Home Page:https://ldmx-software.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simulation and reconstruction framework for the Light Dark Matter eXperiment.

Quick Start

  • Install the docker engine
  • (on Linux systems) Manage docker as non-root user
  • Clone the repo: git clone --recursive git@github.com:LDMX-Software/ldmx-sw.git
  • Setup the environment (in bash): source ldmx-sw/scripts/ldmx-env.sh
    • Note: If you are working with ldmx-sw at SLAC's SDF, you will need to set the TMPDIR environment variable so that program running the container has more than ~5GB of space to write intermediate files. The default temporary space (/tmp) is often full of other files already. A decent replacement is TMPDIR=${SCRATCH} which gives the program plenty of room for the files it needs to manipulate.
  • Configure and compile: ldmx compile
  • Now you can run any processor in ldmx-sw through ldmx fire myconfig.py
  • If you are developing and need to recompile and run ldmx fire, you can use ldmx recompFire myconfig.py

Documentation

The full documentation for ldmx-sw is available on github pages. A brief description of common commands is given below.

Common Commands inside Container

Command Purpose
ldmx cmake .. Configure the ldmx-sw build
ldmx make Compile/build ldmx-sw
ldmx make install Install ldmx-sw
ldmx compile Configure and compile ldmx-sw
ldmx fire config.py Use ldmx-sw application and processors with input python configuration
ldmx recompFire config.py Recompile and run fire on a config file
ldmx python3 analysis.py Run python-based analysis
ldmx ./bin/mg5_aMC Run MadGraph5 inside (ubuntu-based) container

Other Container Configuration Commands

The environment script defines several other shell commands to help configure and debug the container environment.

  • ldmx list repo : List the container tags that you could use with the input repository: dev, pro, or local
  • ldmx use repo tag : Setup the environment for the container 'ldmx/repo:tag' and pull down the newest version if the repo is remote
  • ldmx config : Print out how the container environment is currently configured
  • ldmx clean all : Reset environment to a blank state

Use ldmx help for a full listing of these commands. If we don't define a command outside of the container, then the command is given to the container to run inside the current directory.

Maintainer

Contributors

About

The Light Dark Matter eXperiment simulation and reconstruction framework.

https://ldmx-software.github.io

License:GNU General Public License v3.0


Languages

Language:C++ 79.9%Language:Python 15.3%Language:CMake 2.2%Language:Shell 1.3%Language:C 1.2%Language:Tcl 0.0%Language:Dockerfile 0.0%Language:Makefile 0.0%Language:Emacs Lisp 0.0%