This is the main repository for the PCT HEP paper. The implementation uses a modified version of PCT to suit the High Energy Physics needs.
First, download the data for the application you want to test:
To convert these files into the format required for the training, use the following scripts:
#Top quark dataset
python prepare_top.py --sample[val.h5/train.h5/test.h5] --out OUT_FILE_NAME
#Quark gluon dataset
python prepare_qg.py --out OUT_FILE_NAME
#Multiclassification dataset
python prepare_multi.py [--make_eval] --out OUT_FILE_NAME
For additional options, just run the scripts with the --help
flag
To verify/change the name of the input files containing different datasets see the training script train_transformer.py
cd classification
python train_transformer.py --sample [qg/multi/top] [--simple] --log_dir OUTPUT_LOG
- --sample: training dataset to use
- --simple: activate this flag to change to simple PCT training
A logs
folder will be created with the training results under the main directory names OUTPUT_LOG.
To evaluate the training use:
python evaluate_transformer.py --sample [qg/multi/top] [--simple] --model_path OUTPUT_LOG --batch 1000 --name OUTPUT_NAME
If this implementation was useful for your work,, please cite the reference paper:
@article{Mikuni:2021pou, author = "Mikuni, Vinicius and Canelli, Florencia", title = "{Point cloud transformers applied to collider physics}", eprint = "2102.05073", archivePrefix = "arXiv", primaryClass = "physics.data-an", doi = "10.1088/2632-2153/ac07f6", journal = "Mach. Learn. Sci. Tech.", volume = "2", number = "3", pages = "035027", year = "2021" }
MIT License
A modified version of PCT is used and implemented using the basic framework from PointNet.