This is a Tensorflow 2 implementation to GAN [1] LHC events.
- Use of a LorentzVector layer to implement on-shell conditions.
- Adds JS-Regularizer to the discriminator objective (Roth et al, 2017).
- Adds maximum mean discrepancy (MMD) to capture resonances.
This repository contains the code to reproduce the results shown in the paper:
- "How to GAN LHC Events" (2019) SciPost Phys. 7, 075 (2019), 1907.03764 [hep-ph].
A more detailed explaination has been given at
Package | Version |
Python | >= 3.7 |
Tensorflow | >= 2.1.0 |
Numpy | >= 1.15.0 |
wget | >= 3.2 |
# clone the repository
git clone https://github.com/ramonpeter/EventGAN.git
# then download the datasets
cd EventGAN
python datasets/get_data.py
# Run the code
python train_gan cards/PARAM_CARD.yaml
If you use this code, please cite:
@article{Butter:2019cae,
author = "Butter, Anja and Plehn, Tilman and Winterhalder, Ramon",
title = "{How to GAN LHC Events}",
eprint = "1907.03764",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
doi = "10.21468/SciPostPhys.7.6.075",
journal = "SciPost Phys.",
volume = "7",
number = "6",
pages = "075",
year = "2019"
}
[1] | From ‘to GAN’, in close analogy to the verbs taylor, google, and sommerfeld. |