MAUS Version 0.4.0

  • Hard code API - documents/enforces modular structure and enables upgrades (Alex Richards)
  • Data structure - four new event types
    • JobHeader holds version information, datacards, etc
    • RunHeader holds geometry, cabling, calibration information - to be added by developers
    • RunFooter holds any run summary information (not yet got anything in it)
    • JobFooter holds any job summary information (not yet got anything in it)
    • Data will be stored in separate TTree in ROOT
    • Data will be stored as lines in JSON, distinguished by maus_event_type field
    • Note there is another data type produced by online system (image output) that is not yet supported in the MAUS data structure - i.e. JSON only, a bit dark.
  • Hooks for multiple MICE data runs in a single execution of the code (as happens in e.g. control room)
    • "RunAction" array calls list of "global" StartOfRun functions at start and end of every run (e.g. field maps and geometry)
    • birth() and death() on Mappers and Reducers called at start and end of every run (could be calibrations are done here, or as RunActions)
      • Nb: birth() and death() on Inputters and Outputters called at start and end of every job.
    • Should store transient per-job data on JobHeader
    • Should store transient per-run data on RunHeader
    • Needs MAUS developers to implement the per-run data (e.g. each detector calibration lookup needs to write calibration ID to the RunHeader)
  • Tracker group merged reconstruction up to pattern recognition into release trunk
    • Full track reconstruction is close
  • KL code still not merged - no tests
  • New major version 0.4.0 will be released after CM