ToDo & Ideas - philippeller/freeDOM GitHub Wiki

Likelihood part

  • Large scale training
    • use tf.data API for efficient transfers (done)
    • current shuffling is extremely inefficient (done)
  • What MC to train on?
    • L2, L7, …?
  • Semi-supervised training on data?
  • Try with Upgrade MC
  • Determine valid parameter ranges
  • Include info whether a pulse is HLC or SCL Reco pulses contain a flag, that we could input to the NN. The value of the flag in I3RecoPulse is the sum of:
    1: icecube.dataclasses.PulseFlags.LC
    2: icecube.dataclasses.PulseFlags.ATWD
    4: icecube.dataclasses.PulseFlags.FADC
    
    We may want two flags (that are 0 or 1), LC or not and ATWD vs. FADC. Pulse width is highly correlated with flag, but not 100%.
  • Include charge as training weights for pulses
  • Check output node bias, has very wild behaviour. maybe fix to 0...or maybe this is just the case as it is a single number
  • Should we add causality constraints? Or is it a bad idea given noise?
  • Could also limit parameter ranges in transformation layer, and do sqrt(r) etc

Reco part

  • Goal: being able to reco ~10k events in one go, rather than a single event very fast, this would allow to evaluate the reco quality based on distributions
  • Minimizer strategy to allow for massive parallelization
    • zmq client/server structure for likelihood computations?
  • Use available gradients?
  • for beginning, could use same minimizer as retro (spherical CRS), as it is a known part of the equation
  • What about actually sampling the posterior, now that we'd have a fast enough likelihhod?
  • Constraints from valid parameter ranges