1 / 28

G o 4 v2.8 Analysis Design

G o 4 v2.8 Analysis Design. J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel , S.Linev. CHEP 2004. Content. Warm up Current analysis design Analysis control Advanced requirements Solution I Solution II. Screen shot. G o 4 tasks: GUI & analysis.

jasonmills
Download Presentation

G o 4 v2.8 Analysis Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Go4v2.8 Analysis Design J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2004 H.G.Essel: Go4 - http://go4.gsi.de

  2. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  3. Screen shot H.G.Essel: Go4 - http://go4.gsi.de

  4. Go4 tasks: GUI & analysis Event IO: DAQ Server Files User Analysis task GUI task User event loopEventsHistogramsGraphs Go4 GUI (Qt)controlbrowserseditorsgraphicsUser GUI CommandsObjects ROOT files H.G.Essel: Go4 - http://go4.gsi.de

  5. The Go4 framework • Framework for many kinds of experiments (Atomic & Nuclear Physics) • The analysis is written by the user (unlimited ROOT) • Services and interfaces for analysis • Batch mode (CINT or compiled, on/off-line) • Interactive mode (on/off-line): • A non blocking GUIcontrols and steers the analysis • Analysis runs independently and can update graphicsasynchronously • ROOT object transport between analysis and GUI task • Qt based GUI interfaces ROOT and Qt graphics • User defined GUI supported (Qt designer) H.G.Essel: Go4 - http://go4.gsi.de

  6. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  7. Init. Init. Init. FactoryN Factory2 Factory1 Framework User CodeUser Code Analysis steps (objects) TGo4Analysis TObjArray Input Input Input Step Step Step Process Process Process Output Output Output TUserAnalysis Steps definition and control H.G.Essel: Go4 - http://go4.gsi.de

  8. Analysis steps (object IO) coded! input = output output output output process process process input input input Intermediate IO H.G.Essel: Go4 - http://go4.gsi.de

  9. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  10. Analysis control • Configuration of the steps via GUI or macro (initialization, analysis stand by) • Enable/disable • Set I/O • Macros • Executed directly in analysis code (full access to framework) • Launched from GUI, executed in analysis synchronized with event loop (running event loop) • User parameter objects • Generic editor for user objects • Update function executed in analysis can be used for anything (running event loop) • Conditions (running event loop) • Editor can configure condition to return always TRUE or FALSE • Checked in analysis code (counters) • Interactive histogramming (running event loop) • Create histograms and conditions on the fly • Fill with any members of events (event by event or from memory tree) H.G.Essel: Go4 - http://go4.gsi.de

  11. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  12. Go4 analysis organization So far • Designed for linear flow of analysis, generation oriented • Abstract Interfaces for IO, data structures, processing • User defined factories for setting up the steps • Fully controlled by framework H.G.Essel: Go4 - http://go4.gsi.de

  13. New requirements So far • Designed for linear flow of analysis, generation oriented • Abstract Interfaces for IO, data structures, processing • User defined factories for setting up the steps • Fully controlled by framework • New requirements • Event stacks • Hierarchy of steps • Concurrent steps • Control of multiple I/O per step • Logical mesh setupcontrol H.G.Essel: Go4 - http://go4.gsi.de

  14. inputevent outputevent inputevent outputevent inputevent outputevent inputevent Event stacks Asynchronous DAQ branches (events are subevents with time stamps)event building in analysis Decay measurements Mixing of events from different sources (simulation) event by event process inputevent inputevent outputevent outputevent outputevent inputevent outputevent outputevent event stack process inputevent inputevent outputevent outputevent outputevent outputevent H.G.Essel: Go4 - http://go4.gsi.de

  15. Hierarchy: like ROOT TTask mechanism TTask Exec() ExecuteTasks() TTask TTask TTask TTask1 Exec() TTask2 Exec() TTaskN Exec() TMainTask Exec() TTask TTask TTask21 Exec() TTask11 Exec() TTask TTask211 Exec() TList TList TTask Framework TTask22 Exec() User Code Enable/disable branchesFixed execution order H.G.Essel: Go4 - http://go4.gsi.de

  16. det1 det2 det3 det1 builtevent det2 det3 Concurrent analysis steps daq raw event det 1 calibratedevent unpack det 2 det 3 analysis Intermediate IO physics event H.G.Essel: Go4 - http://go4.gsi.de

  17. det1 det2 det3 det1 builtevent det2 det3 Concurrent analysis steps daq raw event det 1 calibratedevent unpack det 2 det 3 analysis Intermediate IO physics event H.G.Essel: Go4 - http://go4.gsi.de

  18. event event event event event event event event event Multiple IO step 1 who instantiates the input events from file? process inputevent outputevent inputevent outputevent inputevent event event FilesTreesBranches event event event event event event process inputevent outputevent inputevent inputevent step 2 H.G.Essel: Go4 - http://go4.gsi.de

  19. Multiple IO and data generations process step 1 inputevent outputevent inputevent outputevent inputevent step 3 event event process outputevent event event outputevent outputevent outputevent inputevent event event event event process inputevent outputevent inputevent step 2 inputevent H.G.Essel: Go4 - http://go4.gsi.de

  20. step step step step step Analysis meshes, not hierarchy Multiple files, trees, branches Input: Execution order of stepsevaluated at run time! Avoid back reference! TTask not suitable! Intermediate store/retrieve reference store Multiple files, trees, branches Output: H.G.Essel: Go4 - http://go4.gsi.de

  21. step step step step Analysis meshes, not hierarchy Multiple files, trees, branches Input: Execution order of stepsevaluated at run time! Avoid back reference! TTask not suitable! Intermediate store/retrieve step retrieve Multiple files, trees, branches Output: H.G.Essel: Go4 - http://go4.gsi.de

  22. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  23. Solution I: Use special steps Provider steps (input from file or execution step, no output)Execution steps (input from provider steps, optional output) Provider “Pstep1“ Eventobject GetInputEvent(“Pstep3“) Execution “Estep2“ Is in fact output of step “Estep1“ Provider “Pstep2“ Eventobject Storeevent GetInputEvent(“Pstep1“)GetInputEvent(“Pstep2“) Execution “Estep1“ Provider “Pstep3“ Storeevent H.G.Essel: Go4 - http://go4.gsi.de

  24. Solution I: Go4 v2.8 (v3.0) • Provider steps are used when an event may come from file or another step (can be configured by GUI or macros) • Execution steps do not use their “own“ input events but the ones from provider steps (coded, but can proofed) • To be done: • Provider steps may get objects from branches of same tree (file) • Eventually the file open/close handling must be moved to framework • Not easy to do: • Providing event stacks of different depth • No hierarchy, but execution order of steps could be evaluated by framework • Logical analysis mesh with multiple inputs can be provided with little efford! H.G.Essel: Go4 - http://go4.gsi.de

  25. Content • Warm up • Current analysis design • Analysis control • Advanced requirements • Solution I • Solution II H.G.Essel: Go4 - http://go4.gsi.de

  26. Solution II: New components, design • New Go4EventManager • Control of multiple IO for each step • Control of object exchange in analysis mesh • Event stacks • Execution order of Go4Tasksat run time (initialization) • New Go4Task • Combines steps and TTask (optional hierarchical structure) • Register to Event Manager • Subscribe for input objects • Register output objects • Factory interface between application and framework • Extend analysis configuration (GUI and macros) H.G.Essel: Go4 - http://go4.gsi.de

  27. Go4Task Go4Task Go4Task Go4Task Go4Task inputevent outputevent inputevent outputevent inputevent outputevent inputevent Event Manager Multiple files, trees, branches object references Event manager Multiple files, trees, branches H.G.Essel: Go4 - http://go4.gsi.de

  28. The end J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev H.G.Essel: Go4 - http://go4.gsi.de

More Related