Download presentation
Presentation is loading. Please wait.
1
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 1 AliRoot - Pub/Sub Framework Analysis Component Interface
2
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 2 Overview ● System consists of three main parts – A C++ shared library with a component handler class ● Compile and callable directly from AliRoot – A number of C++ shared libraries with the actual reconstruction components themselves ● Compiled as part of AliRoot and directly callable from it – A C wrapper API that provides access to the component handler and reconstruction components ● Contained in component handler shared library ● Called by Pub/Sub wrapper component ● Makes Pub/Sub and AliRoot compiler independant – Binary compatibility – No recompile of reconstruction code
3
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 3 Overview HLT TPC Shared Library Clusterfinder C++ Class Tracker C++ Class Component Handler Shared Library Compon ent Handler C++ Class Load Library Initialize Compon ent Handler C Wrapper Function s (Load Comp. Lib.;) Get Component; Initialize Component Pub/Sub Framewor k Wrapper Processi ng Compon ent (Load Component Library;) Get Component; Initialize Component; Process Event AliRoot (Load Component Library;) Initialize Components; Get Components Global Clusterfinder Object Global Tracker Object Register Component ProcessEvent
4
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 4 Components ● Components have to implement a set of abstract functions – Return ID (string) – Return set of required input data types – Return produced output data type(s) – Process one event – Close to what is needed for Pub/Sub components ● But simplified ● One global instance of each component has to be present in shared component library – Automagic registration with global component handler object
5
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 5 AliRoot ● AliRoot code accesses classes in component handler shared library ● Obtains component objects from handler class ● Accesses component objects directly HLT TPC Shared Library Clusterfinder C++ Class Tracker C++ Class Component Handler Shared Library Compon ent Handler C++ Class Load Library Initialize AliRoot (Load Component Library;) Initialize Components; Get Components Global Clusterfinder Object Global Tracker Object Register Component ProcessEvent
6
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 6 Publisher/Subscriber ● Pub/Sub Framework uses ONE wrapper component ● Accesses handler and components via C wrapper API ● Can call multiple components in different libraries – One component per wrapper instance HLT TPC Shared Library Clusterfinder C++ Class Tracker C++ Class Component Handler Shared Library Compon ent Handler C++ Class Load Library Initialize Compon ent Handler C Wrapper Function s (Load Comp. Lib.;) Get Component; Initialize Component Pub/Sub Framewor k Wrapper Processi ng Compon ent (Load Component Library;) Get Component; Initialize Component; Process Event Global Clusterfinder Object Global Tracker Object Register Component ProcessEvent
7
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 7 Publisher/Subscriber : AliRootWrapperSubscri ber : C Wrapper : AliHLTComponen t : AliHLTComponentHan dler Initialization Sequence
8
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 8 Publisher/Subscriber : AliRootWrapperSubscri ber : C Wrapper : AliHLTComponen t : AliHLTComponentHan dler Processing Sequence
9
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 9 Publisher/Subscriber : AliRootWrapperSubscri ber : C Wrapper : AliHLTComponen t : AliHLTComponentHan dler Termination Sequence
10
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 10 Current Status ● Basic Implementation Done ● Base library with ComponentHandler and Component base class implemented ● Pub/Sub wrapper component done and working ● HLT TPC reconstruction code ported and working ● Basic AliRoot HLT Configuration scheme implemented ● Ongoing work on integration of the ComponentHandler into the data processing scheme of AliRoot expected to be ready in Oct 2005
11
Matthias Richter, University of Bergen & Timm M. Steinbeck, University of Heidelberg 11 Publisher/Subscriber : AliHLTComponentHandl er : AliHLTComponent 1.2: Register (2.2 *: Register) (6.2 *: Deregister) 7.2 Deregister 1.1: Create Global Object (2.1: Create Global Object) 3.2: Create 3.3: Initialize 4.1 *: ProcessEvent 5.1: Destroy (6.1. Destroy Global Object) 7.1: Destroy Global Object : AliRootWrapperSubscriber 1: Init (2 *: Load Component Libraries) 3: CreateComponent 4 *: ProcessEvent 5: DestroyComponent (6 *: Unload Component Libraries) 7: Deinit
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.