HeavyIonAnalysis/AnalysisTree

Improvement of FillTask and TaskManager

Opened this issue · 2 comments

Requirements:

  • pass data object (together with configuration) from task to task and let user to modify it
  • let user interfere into task flow (reject event, etc), keep per-task statistics on rejected events

Small comment:

There are two kinds of user actions:

  • modification of event structure:
    • adding new branch
    • defining new variable
    • what else?
  • modification of event data

Combining that with tasks concept any modification of the event structure must be allowed at Init step only (before event loop), while modification of the data itself must be allowed only during the event loop.

Few notes on events cuts.

At this moment there is a possibility to set event cuts to reject bad events. Object Cuts is passed to TaskManager. Cuts acts on either on or two branches of the event header. But in general there could by any number of "event branches" (e.g. RecEvent, SimEvent, Centrality).