Skip to content

DeepLearnPhysics/edep2supera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edep2supera

C++/Python software to run Supera (repository), a library that can generate true labels for a ML based data reconstruction chain called lartpc_mlreco3d (repository). This repository is dedicated to interface EDepSim and larcv frameworks that input and output information in data files respectively.

Python binding

Executable scripts are in Python and C++ classes and functions are bound to Python via PyROOT following a pattern used by EDepSim (as opposed to Supera which uses pybind11). This allows both edep2supera and EDepSim methods to access C++ objects within Python in a common manner.

How to build and install

  1. Use this docker image (or any other container image derived from it) to get the most of required softwares. Only additional item you would need is scikit-build which you can install with pip.
  2. Clone this repository (below) or fork-and-clone.
> git clone https://github.com/DeepLearnPhysics/edep2supera
  1. Build+Install (the example below installs under your $HOME/.local path)
> pip install . --user

Software validation (unit test)

Simply try:

pytest

at the top-level directory.

How to contribute

  1. Fork this repository to your personal github account.
  2. Clone the repository to your local machine. Follow the build/install instruction above and make sure you can set up.
  3. Create your branch to contain your own development. Code code code.
  4. When it's ready to be shared, make sure a unit test passes. Then request to merge by sending a pull request.

Optional but strongly recommended: implement a unit test for the added component of your code so that we can reduce chance of someone else breaking in future development.

Communication for development

  • Feel free to use github issues! We try to be attentive as much as possible.
  • Join our weekly ND Technical Software Meeting (noon PST every Wednesday, here's indico category).
  • Join our mailing list dunend-simreco-technical@listserv.slac.stanford.edu
    • Send an email to listserv@listserv.slac.stanford.edu with an empty title. The body should include this text: SUBSCRIBE DUNEND-SIMRECO-TECHNICAL FIRST LAST where you should replace the FIRST and LAST with your first and last names respectively.
  • Join our slack channel (contact Kazu).

Status

Milestones

  • Fill Supera datatypes from EDepSim datatypes (i.e. TG4Event attributes)
  • Implement particle hierarchy tracking algorithm from old Supera
  • Implement a python run script to fill input data and run Supera
  • Implement a python run script to drive larcv to create an output file and store information from Supera