Simulation and reconstruction framework for the Light Dark Matter eXperiment.
- Install the docker engine
- (on Linux systems) Manage docker as non-root user
- (on MacOS systems) Make sure
git lfs
is installed. (Test:git lfs
prints out a help message instead of an error aboutlfs
not being found.)- The default installation of
git
that is included with Apple's developer tools does not includegit lfs
which is required by acts to download and unpack one of its own submodules. GitHub has a nice tutorial on how to installgit lfs
on MacOS. - This is only an issue observed on MacOS systems. Linux repositories (used in WSL and Linux systems) include
git lfs
within their installed versions ofgit
.
- The default installation of
- Clone the repo:
git clone --recursive git@github.com:LDMX-Software/ldmx-sw.git
- Note: You need to setup an SSH-key with your GitHub account on the computer you are using.
- 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 isTMPDIR=${SCRATCH}
which gives the program plenty of room for the files it needs to manipulate.
- Note: If you are working with ldmx-sw at SLAC's SDF, you will need to set the
- 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 useldmx recompFire myconfig.py
The full documentation for ldmx-sw is available on github pages. A brief description of common commands is given below.
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 |
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
, orlocal
ldmx use repo tag
: Setup the environment for the container 'ldmx/repo:tag' and pull down the newest version if the repo is remoteldmx config
: Print out how the container environment is currently configuredldmx 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.