A machine-learning based tool to identify a missed second shower from a Pi0 that was misclustered as part of a cosmic ray using Wire-Cell 3D cosmic spacepoints in MicroBooNE. This type of tool should be useful for single photon searches in MicroBooNE and other LArTPCs.
Similar idea to the Second Shower Veto (SSV) used in Phys. Rev. Lett. 128, 111801 (2022).
Uses code from Point Transformer V3.
git clone https://github.com/leehagaman/spacepoint_ssv
cd models
git clone https://github.com/Pointcept/PointTransformerV3
cd PointTransformerV3
git checkout ac4ef87a679ce2072335c915555058c68fb0b09d
rm -rf .git assets .gitmodules Pointcept
cd ../..
python3 -m venv venv
source venv/bin/activate # run this again each time you interact with the code, the rest of the steps here are only needed once
# check that these match your machine and OS and CUDA version, this causes the project to only work on Nvidia
pip install torch torchvision torchaudio # or other command from https://pytorch.org
pip install spconv-cu126
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.0+cu126.html
pip install flash-attn --no-build-isolation
pip install ipywidgets ipykernel awkward-pandas uproot tqdm pandas numpy matplotlib plotly scikit-learn addict timm wandb
python preprocess_spacepoints.py
python train.py