Hadronic shower reconstruction for the SND@LHC experiment.
In this project, the first procedure for hadronic shower energy and vertex position reconstruction is developed for the SND detector. Shower propagation is profiled using PDFs and a log-likelihood function is built to reconstruct energy and vertex.
- Energy reco plots (summary reco plots)
- Energy reco diagnostics (single event energy reco breakdown)
- Depth reco and diagnostics (full depth reco, summary plots, single event depth reco breakdown)
- PDF diagnostics (PDF diagnostic plots)
- Event simulation diagnostics (simulation diagnostic plots)
To reproduce the results you need to have all the files from this repository
Steps to prepare the files:
- Run
make_depth_dirs.sh
- Run
generate_energy_reco.sh
, while selecting "n" to submit to condor, "n" to runPG and "n" to createPDFs
This should produce populated dirs {z_291, z_295,..., z_343, z_347}, each containing populated sub-dirs {e_50, e_100,..., e_1500, e_2000}.
Steps to generate results:
- Run
generate_energy_reco.sh
and select "n" to recoEnergy, "y" to runPG and "n" to createPDFs (simulate 1000 events per depth and energy) - Run
generate_energy_reco.sh
once the condor jobs have finished and select "n" to recoEnergy, "n" to runPG and "y" to createPDFs (create the PDFs for each station of each depth and energy) - Run
generate_energy_reco.sh
once the PDFs have been created and select "y" to recoEnergy, "n" to runPG and "n" to createPDFs (reconstruct the energy for each event) - Run the depth reconstruction code in jupyter notebook
Depth reco and diagnostics.ipynb
(reconstruct the depth for each event)
Steps taken by the scripts to prepare the results:
- All the depth dirs are created from
make_depth_dirs.sh
generate_energy_reco.sh
copies the file contents of z_291 to all the other depths and updates the parameters of the execution files
Steps taken by the scripts to generate results:
-
Run the GEANT4 simulation in
run_simSND.py
, for every depth and energy -
Run
PDF_python_code.py
to use the GEANT4 simulation results and create a PDF for each SciFi station for every depth and energy -
Run
Energy_reco_code.py
which takes individual events and performs a log-likelihood scan over all the SciFi PDFs for each energy and a fixed depth. For each scan, the log-likelihood is summed over all 5 SciFi stations. The maximum of the log-likelihood corresponds to the reconstructed energy.
(4.) Depth reco needs to be run manually via the jupyter notebook Depth reco and diagnostics.ipynb
. The depth reconstruction code works similarly to the code in Energy_reco_code.py
.