Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. We don't need to number Configure:0000 and Run:0000
    1. we only translate one run per file.
    2. Lets make a root group called Data. Main groups:

      /Data

      /Data/Run

  2. Make a new group for Configure Data
    1. Now, we have

      /Configure:0000/TypeA

      /Configure:0000/TypeB

      /Configure:0000/Run:0000

      why not put all Config data, TypeA, TypeB in one place?

      /Data

      /Data/Config   this in turn will have TypeA and TypeB as children

      /Data/Run

  3. Put Epics in its own group and remove Epics Source name with Arch from Schema

    1. /Data/EpicsConfig

      /Data/Config

      /Data/Run
      /Data/Run/Step:0000/Epics/pvName

  4. Invert Type/Src relationship

    1. /Data/Config/SrcA/TypeA

      /Data/Config/SrcA/TypeB

      /Data/Config/SrcB/TypeA

  5. Use DAQ aliases when possible.

    /Data/Config/alias  

    /Data/Config/alias/TypeA

    /Data/Config/alias/TypeB

    /Data/Config/SrcB/TypeA

  6. Translator option for a alias.
    Sometimes inverting type/src makes it harder to find data. An example is timetool data. It will be attached to a source like opal_1, but the user may not know this. They will be looking for timetool data and now they have to go through all the sources, for all the ipimb's, etc. The thought is to allow the user to specify a one group alias name for a src/type combination. So, while the hdf5 file has
    /Data/Run/Step:0000/
    /Data/Run/Step:0000/opal_1/TimeToolData
    we'll also create
    /Data/Run/Step:0000/TimeToolData       {Soft Link to}   /Data/Run/Step:0000/opal_1/TimeToolData

  7. Use type aliases in place of full C++ type names with version

    1. Basically, we will eliminate the V* and the :: from the typenames

    2. see section below for all aliases

  8. Use Step:000x rather than CalibCycle:000x

  9. separate config and epics in steps

    1. /Data/Run/Step:0000/Config

      /Data/Run/Step:0000/Epics

  10. Psana Module Keystrings treated like types

    1. if a module does

      evt.put(myndarray,src,"mykey")

      then we translate

      /Data/Run/Step:0000/src/mykey

...