icemc

icemc is a tool to simulate neutrino interactions in the ice.

Prerequisites

To compile icemc you (should) only need a working ROOT installation.

Optional extras include the ANITA libraries libRootFftwWrapper and eventReaderRoot libraries. The recommended way to install these is with the anitaBuildTool which downloads and compiles the core ANITA software libraries. (See the ANITA-3 notes section for more information.)

Getting icemc

1 git clone https://github.com/anitaNeutrino/icemc
1 make

Currently the Makefile tries to figure out whether to compile against the ANITA libraries by looking for the ANITA_UTIL_INSTALL_DIR environment variable. The Makefile may require some love by uncommenting or commenting out various site specific flags at the top. Makefiles are a dark art so if you need help send an email or message someone in the slack #anita_simulation or #github_commits rooms.

Running icemc

To run icemc you need first to define two environment variables and then add them to your (DY)LD_LIBRARY_PATH, so that icemc knows where to look for its input files:

An example is:

1 export ICEMC_SRC_DIR=/path/to/anitaBuildTool/components/icemc/
2 export ICEMC_BUILD_DIR=/path/to/anitaBuildTool/build/components/icemc/
3 export DYLD_LIBRARY_PATH=${ICEMC_SRC_DIR}:${ICEMC_BUILD_DIR}:${DYLD_LIBRARY_PATH}

If you use the anitaBuildTool, it's a good practice to add these lines to your setup script.

To run icemc do:

1 ./icemc -i {inputFile} -o {outputDirectory} -r {runNumber} -n {numberOfNeutrinos} -t {triggerThreshold} -e {energyExponent}

For only running over a single event, the -x {eventNumber} option can be used.

If parameters are not specified

ANITA formatted data output

To produce Anita-like output files, you must have the libRootFftwWrapper and eventReaderRoot libraries installed before compiling icemc.

After that you will need to find and uncomment the site specific flag ANITA3_EVENTREADER=1 in the Makefile. The next time you compile and run icemc, the ANITA-like outputs will be produced automatically. The outputs also include the TruthAnitaEvent tree with the Monte Carlo truth information about the simulated events.

ANITA-3 notes

If you want to generate a pure thermal noise sample you should to turn on these flags: