24
Overview • Methodology • Design • Architecture • Outline of future work • Ideas for discussion

Overview Methodology Design Architecture Outline of future work Ideas for discussion

Embed Size (px)

DESCRIPTION

Use Case driven Abstractions are modeled by entities –Identify their properties –Ask questions –Study their interplay Follows the design course by J.Deacon –Leads to an object-oriented solution –Not the only way...

Citation preview

Page 1: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Overview• Methodology• Design• Architecture• Outline of future work• Ideas for discussion

Page 2: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Methodology• How to write a program to solve

• Traditionally design a data structure– COMMON Block– something like a C struct

ChanhLN

jjij

M

ii

N

jjj

111

lnln

Page 3: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Use Case driven• Abstractions are modeled by entities

– Identify their properties – Ask questions – Study their interplay

• Follows the design course by J.Deacon– Leads to an object-oriented solution– Not the only way ...

Page 4: Overview Methodology Design Architecture Outline of future work Ideas for discussion

How to describe the problem ?

• Not so easy• Trick

– “Physicist” is UML Actor– Asks the questions to solve the use cases

• Later the Actor is replaced by...– a main algorithm object– a strategy object (see later)

Page 5: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Entities• Lifetime

– For the whole job– For one event– Temporary

• Entities – specific for problem domain– functional abstraction, not physical objects

Page 6: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Over the whole job ...Configuration

PhotonRadiator

PhotonReflector

Rich

1..*

1

1..*

radiator : RadiatorID1

1

1

PhotonDetector

1

1

1 11

1

1..*

1

11..*

radiator : RadiatorID

+radiator

+reflector

+rich+rich +rich

+detector

Page 7: Overview Methodology Design Architecture Outline of future work Ideas for discussion

How to implement a Radiator ?

PhotonRadiator

Rich1AerogelRadiator RichXGasRadiator

RichXPhotonRadiator

Page 8: Overview Methodology Design Architecture Outline of future work Ideas for discussion

For one event ...

Track

TrackSegment

1..*

rich : RichIDradiator : RadiatorID

1

Photon

0..*

1

Event

0..*

1

Pixel

0..*

1

0..*

id : PixelID1

id : PixelID1

0..*

+pixel

1

0..*+track

+segment

1

1..*

+track

1

0..*

+pixel

+photon

+photon

rich : RichIDradiator : RadiatorID

0..*

1

+segment

Page 9: Overview Methodology Design Architecture Outline of future work Ideas for discussion

… a Track Entity

Track

TrackAdapterGAUDI Track

Inside RICH Algorithm

Outside World

Page 10: Overview Methodology Design Architecture Outline of future work Ideas for discussion

TrackSegment

Track

Radiator• Has a length

• Emits photons

Page 11: Overview Methodology Design Architecture Outline of future work Ideas for discussion

What happened to the Extrapolation ?

Track

TrackExtrapolation

Rich::Track

Rich::TrackSegment

Page 12: Overview Methodology Design Architecture Outline of future work Ideas for discussion

more complicated in detail ...

PhotonRadiator(from Detector)

TrackSegmentAdapterGAUDI TrackExtrapolation

Track

Photon

TrackSegment

rich : RichIDradiator : RadiatorID

1

1..*

+track

1rich : RichIDradiator : RadiatorID

+segment1..*

+photon

+segment

1

0..*

1

0..*

Page 13: Overview Methodology Design Architecture Outline of future work Ideas for discussion

GAUDI AlgorithmsAlgorithm 1

Dat

a St

ore

Algorithm 2

Algorithm 3

Page 14: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Architecture• Group of entities form a components• An assembly of components forms the

algorithm• Components are ...

– separated by well defined interfaces– assembled at run time – development of the components is de-coupled

Page 15: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Components

RIC

H In

terf

ace

Strategy

Monitor

EventAdapter

DetectorImplementation

Algorithm

Datastore

DetectorDescription

GAUDISteering

Histogram

Services

Page 16: Overview Methodology Design Architecture Outline of future work Ideas for discussion

UML ComponentsRICHAlgorithm

Strategy

EventReader

Monitor

Strategy

Monitor

Ev entAdapterDetector Implementation

PhotonDetector

ConfigurationPhotonRadia

torTrack

PhotonReflector

TrackSegment

Page 17: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Components ...• Are GAUDI sub-algorithms

– Profits from the flexible instantiation mechanism– Can use all GAUDI services

• Have their proper interfaces– A down cast exposes the interface

• Are controlled by a main algorithm– Instantiation– Controls the interplay

Page 18: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Detector Implementation

• Initialization ….– Create instance of entities

• Evaluation– Expose their interface– Do the real work– Database update ?

• Versions– ASCII file based– Detector geometry database based

Page 19: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Event Model• EventReader

– Controlling entity

• For each event– Read data store and create structure– Delete structure and write data store

• Versions– Reconstruction MC, smeared MC, Rec Data– Simulation

Page 20: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Strategy Object• Main Algorithm object prepares context

– EventModel– Detector Structure

• Delegates control to the strategy object• Versions

– Reconstruction, Global Likelihood, Other …– Simulation

Page 21: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Monitor Objects• As strategy object

– Read only access to event model– More then one allowed

• Versions– Histogramming– Detailed Log files– Display

Page 22: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Outline of work• Consolidation of OO structure

– Interleaved with functional update

• Better use of GAUDI features– Detector database– CDF to XML converter

• Catch up with SICB– Many topics– Priorities have to be set

Page 23: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Catch up ...• Adapt likelihood for background

– Tracking inefficiencies– Charged particle interactions in detector

• Geometry update– ASCII file

• Photon detector implementation– probably still generic for some time

• Other Algorithms ...

Page 24: Overview Methodology Design Architecture Outline of future work Ideas for discussion

Discussion• Detector data • Association to MC truth• How to store final results ?• Iteration of the algorithm ???

– Temporary results could be stored

• GEANT4