Upload
allen-matthews
View
217
Download
0
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
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