INN for density-based anomaly search in particle jets.
- pytorch - for the neural network
- scikit-learn - to calculate ROC-curves
- numpy
- scipy - to generate random orthogonal transformations
- pandas - for data import
- pytables - for data import
- matplotlib - for plotting
- tqdm - for the progress bar
- energyflow - to calculate EFP's (only for preprocessing)
To try out the network, you can use the top tagging dataset, for example. You can download the test dataset here, which is large enough for training and testing. If the file was saved under ~/Downloads/test.h5
, you can train the network with the following commands.
# install dependences
python3 -m pip install -r requirements.txt
# preprocessing
python3 prepare_data/split.py ~/Downloads/test.h5
python3 prepare_data/cons2efps.py
# training
python3 src/main.py params/top.json
python3 src/main.py params/qcd.json
# ploting
python3 src/plot.py
For questions/comments about the code contact: buss@thphys.uni-heidelberg.de
This code was written for the paper:
What’s Anomalous in LHC Jets?
https://arxiv.org/abs/2202.00686
Thorsten Buss, Barry M. Dillon, Thorben Finke, Michael Krämer, Alessandro Morandini, Alexander Mück, Ivan Oleksiyuk and Tilman Plehn