overview methodology design architecture outline of future work ideas for discussion

Post on 19-Jan-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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...

TRANSCRIPT

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

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 ...

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)

Entities• Lifetime

– For the whole job– For one event– Temporary

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

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

How to implement a Radiator ?

PhotonRadiator

Rich1AerogelRadiator RichXGasRadiator

RichXPhotonRadiator

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

… a Track Entity

Track

TrackAdapterGAUDI Track

Inside RICH Algorithm

Outside World

TrackSegment

Track

Radiator• Has a length

• Emits photons

What happened to the Extrapolation ?

Track

TrackExtrapolation

Rich::Track

Rich::TrackSegment

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..*

GAUDI AlgorithmsAlgorithm 1

Dat

a St

ore

Algorithm 2

Algorithm 3

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

Components

RIC

H In

terf

ace

Strategy

Monitor

EventAdapter

DetectorImplementation

Algorithm

Datastore

DetectorDescription

GAUDISteering

Histogram

Services

UML ComponentsRICHAlgorithm

Strategy

EventReader

Monitor

Strategy

Monitor

Ev entAdapterDetector Implementation

PhotonDetector

ConfigurationPhotonRadia

torTrack

PhotonReflector

TrackSegment

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

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

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

Strategy Object• Main Algorithm object prepares context

– EventModel– Detector Structure

• Delegates control to the strategy object• Versions

– Reconstruction, Global Likelihood, Other …– Simulation

Monitor Objects• As strategy object

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

• Versions– Histogramming– Detailed Log files– Display

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

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 ...

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

– Temporary results could be stored

• GEANT4

top related