Approaching the NA62 Code - danecross/PyNA62Analysis GitHub Wiki

Starting out with functions in the template.cc file

Most of the functions in the analyzerTemplate.cc are under NA62Analysis::UserMethods. It's really a wrapper for many of the methods in the classes. There are no object definitions or instantiations, just good ol' functions, so these should be easy to convert.

Here is our approach:

We want to use software best practices because this is a huuuuuge class. If we don't, we might be stuck trying to find a bug for a week. Here we go:

  1. We will create a package called "UserMethods" using this wiki.
  2. We take one function from the UserMethods class and we make the wrapper. Write down that function in this wiki and write next to it [IN PROGRESS] (so I don't try converting the same function as you).
  3. We compile the UserMethods package and test that one function to make sure it's working properly
  4. Change [IN PROGRESS] to [DONE] in the same wiki once the tests work to our desires.
  5. repeat 2-4 until we finish the class

Other Classes to Work with

Once we are done with the UserMethods class, we can start on the other classes which are not in the template.cc file.

  • NA62Analysis::manip::TermManip
  • NA62Analysis::Analyzer
  • NA62Analysis::CounterHandler
  • NA62Analysis::EventFraction
  • NA62Analysis::MCSimple
  • NA62Analysis::NeuralNetwork
  • NA62Analysis::ParticleInterface
  • NA62Analysis::ParticleTree
  • NA62Analysis::StringBalancedTable
  • NA62Analysis::StringTable
  • NA62Analysis::Verbose