A tool to generate neural networks that produce likelihoods for reconstruction of physics events in optical neutrino detectors with arbitrary geometry and optical properties.
First we must set up an anaconda environment with tensorflow installed. Attached are Linux install instructions. for other OS refer to tensorflow install instructions to install tensorflow on MacOS or Windows.
Create a new anaconda environment and install tensorflow 2.11 prerequisites:
conda deactivate
conda create -n hitman python=3.9
conda activate hitman
conda install -c conda-forge cudatoolkit=11.2.0
pip install nvidia-cudnn-cu11==8.1.*
Configure the system environment to use the correct CUDA version:
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
Install tensorflow
pip install tensorflow==2.11.*
Once an anaconda environment with tensorflow is properly configured, install HITMAN:
git clone https://github.com/gmwendel/HITMAN.git
cd HITMAN
pip install -e .
Verify the scripts have been added to the anaconda environment:
hitman_train -h
hitman_reco -h
To generate and train HITMAN networks specify
- the path to a list of ntuple files containing training data using -i
- the location you would like to save the network using -o
e.g.
hitman_train -i /path/to/{1..10}_training.root.ntuple --o /path/to/netork_save_location
To run the likelihood reconstruction specify
- the path to a list of ntuple files containing events to be reconstructed data using -i
- the location of the network to be used for reconstruction using -n
- the location you would like to save the reconstructed events using -o
hitman_reco -i /path/to/{1..10}_reco.root.ntuple -n /path/to/netork_save_location -o /path/to/reco_save_location
Note: hitman_reco has only been verified to work for the Y90 beta spectrum and may be sensitive to likelihood spaces generated by different particles as hitman_reco currently uses a gradient descent algorithm to find the maximum likelihood estimation.
FreeDOM reconstruction using the same technique but focused on IceCube analysis.
This method was published as:
A flexible event reconstruction based on machine learning and likelihood principles
Philipp Eller (Munich, Tech. U.), Aaron T. Fienberg (Penn State U.), Jan Weldert (Mainz U., Inst. Phys.), Garrett Wendel (Penn State U.), Sebastian Böser (Mainz U., Inst. Phys.) et al.
e-Print: 2208.10166 DOI: 10.1016/j.nima.2023.168011 (publication) Nucl.Instrum.Meth.A 1048 (2023), 168011
Please cite as
@article{Eller:2022xvi,
author = {Eller, Philipp and Fienberg, Aaron T. and Weldert, Jan and Wendel, Garrett and B\"oser, Sebastian and Cowen, D. F.},
title = "{A flexible event reconstruction based on machine learning and likelihood principles}",
eprint = "2208.10166",
archivePrefix = "arXiv",
primaryClass = "hep-ex",
doi = "10.1016/j.nima.2023.168011",
journal = "Nucl. Instrum. Meth. A",
volume = "1048",
pages = "168011",
year = "2023"
}