Scenario Analysis

Markus Frank

1.0 Scenario

Appl-6: An analysis job wants to read one part of event data from a ZEBRA store and another part from another e.g. ROOT store.

2.0 Assumptions

  1. Data link
    1. Link contains navigation information: "path" of the object.
    2. Link contains technology dependent object address (File-offset+Bankname in ZEBRA, ooRef in Objty,...)
    3. Link contains technology identifier (ZEBRA, ROOT, Objty,...).

3.0 Coverage

  1. Event data requests to the event data service.
  2. Links between stores of different nature. This involves parallel access of two persistent data services filling both the transient data store.

3.0 Expected Action Sequence

3.0 Expected Action Sequence

  1. Initialize the primary data loading service (here: ZEBRA)
  2. Initialize event selector to access event which conform to a given selection criteria. From the result of the event selection, an event collection, every entry will be used one by one to initialize the event data service on an event basis.
    1. Create ZEBRA event selection.
    2. Foreach event in the collection:
      1. Initialize event data service.
      2. Run algorithms.
  3. The event root is passed to the event data service. The event root contains opaque information which allows the event data service in collaboration with the persistency service to retrieve information in lower levels of the event tree.
    1. Retrieve information which data loader to ask in order to fulfill the data request.
    2. If the required data loader does not exist create the data loader.
    3. Initialize data loader
    4. Dispatch request to data loader.
  4. There are data links between different psersistent storage types as a result of different processing steps.
    Example: Access of ZEBRA raw-data from a ROOT reconstructed event?
    1. Retrieve information which data loader to ask in order to fulfill the data request.
    2. Dispatch request to proper data loader.
    3. Follow logical link to load the requested object path:
      1. Retrieve proper converter
      2. Create the requested transient object using the converter
      3. Register created transient object with event data store