This project can be broken into two primary components
- Contrastive Learning: Trains an auto-encoder to compress raw CMS event data into a meaningful, compact latent space. Uses CL to cluster events of identical labels and distance dissimilar events.
- Normalizing Flows: Uses normalizing flows to detect anomalous data from standard model physics events within the compressed representation.
configs.npyContains relevant constants associated with normalization and project hyper-parameters in a dict.data_preprocessing.pyAll functions associated with preprocessing Delphes and raw CMS data before use. Experimentally concluded zscore and max pT normalization are optimal for Delphes.dnn_classifier.pyFirst iteration of classifiers that implements a simple DNN. See normalizing flow for current use.graphing_module.pyRepository of all graphing modules: PCA, Corner, ROC, tSNE, ecthyperparam_search.pyUses 💗KerasTuner💗 for hyperparameter search.losses.pyDefines custom loss functions: reconstruction, KL, and SimCLRmake_datasets.pyCreates biased-training datasets st event representations are more distributed across tt and QCD compared to Delphes. Also provides interface for converting raw cms data into interpretable representation.models.pyDefines models as the name suggestsnf_classifier.pyCreates initial normalizing flow class and trains model using Delphespredict.pyGiven pre-trained AE, visualizes where raw CMS data lies in the latent space.test.pyOverlord file. Used for all initial training and plotting matters.