1 / 18

An Introduction to Software Architecture

An Introduction to Software Architecture. Vincenzo Innocente Cern/EP. Mission. Get data from a HEP detector Publish masses and widths of “particles” decaying in a e + e - couple Learn from history: L3 original design (before data taking started) and its evolution. Reconstruction Sources.

macha
Télécharger la présentation

An Introduction to Software Architecture

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. An Introduction toSoftware Architecture Vincenzo Innocente Cern/EP Vincenzo Innocente

  2. Mission • Get data from a HEP detector • Publish masses and widths of “particles” decaying in a e+e- couple Learn from history: L3 original design (before data taking started) and its evolution Vincenzo Innocente

  3. Reconstruction Sources Vincenzo Innocente

  4. Later selected DAQ Not in original design Later more filters to DVNs and Ntpule Vincenzo Innocente

  5. Vincenzo Innocente

  6. more related to online read-out granularity: different sub-detectors shared same read-out Each phase run in “parallel” for the different sub-detectors steered by the framework Almost immediately split in two. In `93 bunch-tag was added between the two sub-phases Actually always rerun also in Pass2 Refit implemented only ad-hoc in calibration applications Vincenzo Innocente

  7. Later added presection based on muon-filter tracks Later added: global fitting with vertex, feedback loop in hit picking Later used calorimeter clusters not just hits Vincenzo Innocente

  8. Analysis & Reconstruction Framework Physics modules Specific Framework Event Filter Reconstruction Algorithms Physics Analysis Data Monitoring Generic Application Framework Calibration Objects Configuration Objects Event Objects adapters and extensions Utility Toolkit ODBMS C++ standard library Extension toolkit Geant3/4 CLHEP Paw Replacement Vincenzo Innocente

  9. Problems with traditional architectures • Traditional Framework schedules a-priori the sequence of operations required to bring a given task to completion • Major management problems are produced by changes in the dependencies among the various operations • Example 1: • Reconstruction of track type T1 requires only tracker hits • Reconstruction of track type T2 use calorimetric clusters as seeds • If a user switches from T1 to T2 the framework should determine that calorimeter reconstruction should now run first • Example2: • The global initialization sequence should be changed because, for one detector, some condition changes often than foreseen Vincenzo Innocente

  10. The challenge • Determine what to run and in which order for a given input and a given user request • Cope with evolving environment • Modified detector read-out • New algorithms The answer cannot be “Rerun the complete reconstruction and analysis” Vincenzo Innocente

  11. HEP Experiment-Data Analysis Quasi-online Reconstruction Environmental data Detector Control Online Monitoring store Request part of event Store rec-Obj Request part of event Event Filter Object Formatter Request part of event store Persistent Object Store Manager Object Database Management System Store rec-Obj and calibrations store Request part of event Data Quality Calibrations Group Analysis Simulation G3or G4 User Analysis on demand Vincenzo Innocente

  12. Reconstruction Scenario • Reproduce Detector Status at the moment of the interaction: • front-end electronics signals (digis) • calibrations • alignments • Perform local reconstruction as a continuation of the front-end data reduction until objects detachable from the detectors are obtained • Use these objects to perform global reconstruction and physics analysis of the Event • Store & Retrieve results of computing intensive processes Vincenzo Innocente

  13. Algorithm Algorithm Algorithm Rec Objs Rec Objs Rec Objs Reconstruction Model Geometry Conditions Sim Hits Raw Data Detector Element Event Digis Rec Hits Algorithm Vincenzo Innocente

  14. Event Driven Notification Observers are instantiated by static factories residing in shared libraries. These are loaded on demand during application configuration Dispatcher Detector elements observe physics events Factories observe user requests Memory-allocators observe memory-size alarms Obs1 Obs2 Obs3 Obs4 Observers clients or providers Vincenzo Innocente

  15. Active and Lazy Observers Dispatcher Lazy Obs2 Lazy Obs2 obsolete Lazy Obs2 uptodate Obs Lazy Obs1 Lazy Obs1 obsolete Lazy Obs1 uptodate Vincenzo Innocente

  16. Action on Demand Compare the results of two different track reconstruction algorithms Rec Hits Rec Hits Rec Hits Detector Element Hits Event Rec T1 T1 CaloCl Rec T2 Analysis Rec CaloCl T2 Vincenzo Innocente

  17. Reconstruction Object Model All persistent objects are managed by the framework. Physics Modules access them through standard C++ pointers Vincenzo Innocente

  18. Vincenzo Innocente

More Related