Presentation is loading. Please wait.

Presentation is loading. Please wait.

DØ Offline Reconstruction and Analysis Control Framework J.Kowalkowski, H.Greenlee, Q.Li, S.Protopopescu, G.Watts, V.White, J.Yu.

Similar presentations


Presentation on theme: "DØ Offline Reconstruction and Analysis Control Framework J.Kowalkowski, H.Greenlee, Q.Li, S.Protopopescu, G.Watts, V.White, J.Yu."— Presentation transcript:

1 DØ Offline Reconstruction and Analysis Control Framework J.Kowalkowski, H.Greenlee, Q.Li, S.Protopopescu, G.Watts, V.White, J.Yu

2 DØ C++ Framework Set of well established interfaces from which reconstruction and analysis algorithms are built. Propagates events through a sets of algorithms in a well defined and established manner. The algorithm configuration and set is determined at program execution time. The framework hides many system related complexities from the user and the algorithm developer and allow for sharing of code for common or related tasks.

3 Infrastructure RCP - Run Control Parameters –Persistent part of algorithm –Stored in database –Event data identified by RCP set ID EDM - Event Data Model Framework: –Build/Configure/Run Algorithms IO_PACKAGES: –Event read/write packages DØOM - Object persistency package

4

5 Qualities No coupling with external libaries Easy introduction of new algorithms Strong typing in event objects Independent GUI controls Flexible, run time configuration of reconstruction activities No need for user to write code to produce an executable with a custom configuration

6 Concepts Algorithms (Package) –Standard interface for configuration with RCP –Common manipulation such as status reporting –Defines a framework “pluggable” component Named event handlers (Interface) –Algorithms register event handlers –Handlers get invoked when the event occurs Factory –Simple algorithm auto-registration mechanism –Algorithm instances made by name at run time

7 Event Processing Event Handlers and Work Queues –Events generated by special Packages –Placed on an event queue for processing –Event contains type-code and an object Data Managers –Events in queue dispatched to data managers –Hold list of handlers (Interfaces instances) Controllers –Event dispatcher, sequencer, state controller –Queue and Package instances owner –Can be nested to arbitrary depth.

8 Class Algorithm : public Package, Process, Tag, RunInit { public: UserPackage(Context*); ~UserPackage(); virtual Result processEvent(edm::Event&); virtual Result tagEvent(edm::Event&); virtual Result runInit(const RunNumber&); virtual void reinitialize(edm::RCP); virtual void statusReport(); virtual void flush(); } Example User Algorithm Class Definition

9 Event Data Loop EventRead:er EventWrite:ew CalReco:cal ConeJetReco: jet3 ConeJetReco: jet5 KTJetReco: kt PackageType:instance “process” “read” “write” “verify” “decide” er:generate(Queue) er:makeDecision(Queue,Event) ew:output(Event) cal:processEvent(Event) jet3:processEvent(Event) jet5:processEvent(Event) kt:processEvent(Event) cal:verifyEvent(Event) jet3:verifyEvent(Event) jet5:verifyEvent(Event) “runInit” Cal:runInit(Run) kt:runInit(Run)

10 Event Handling Features No experiment or subsystem specific types New event types can be added by users without framework modifications Asynchronous and synchronous types Synchronous order can be determined at run time Event handlers and algorithm instances can be grouped by function and treated as a single unit

11 Interactive Components Threaded model No built in interpreter or GUI Commander Abstraction –configure algorithms and control event loop –get reports from algorithms Messenger Abstraction –catch and propagate errors and output to registered clients ORB –manage client/server communications and remote framework interactions

12 Simple Configuration Example reco.rcp: string PackageName = “Controller” string Flow = "generator decide filter process tag output" string Packages = ”event_read hits clustering id verify save" RCP event_read = RCP hits = RCP clustering = RCP id = RCP verify = RCP save = cluster_finder.rcp: string PackageName = “ClusterFinder” double seed_threshold = 2.3

13 Algorithm View

14 Interactive View

15 Conclusion Algorithm abstraction (Package) Algorithm configuration system (RCP) Extensible event handling and dispatching system with C++ templates (Interface) Factory to create algorithms at run time Provisions for state machine behavior Separation of GUI and interactive components from reconstruction engine Independent threads for engine and GUI


Download ppt "DØ Offline Reconstruction and Analysis Control Framework J.Kowalkowski, H.Greenlee, Q.Li, S.Protopopescu, G.Watts, V.White, J.Yu."

Similar presentations


Ads by Google