overview methodology design architecture outline of future work ideas for discussion
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
![Page 1: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/1.jpg)
Overview• Methodology• Design• Architecture• Outline of future work• Ideas for discussion
![Page 2: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/7.jpg)
How to implement a Radiator ?
PhotonRadiator
Rich1AerogelRadiator RichXGasRadiator
RichXPhotonRadiator
![Page 8: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/9.jpg)
… a Track Entity
Track
TrackAdapterGAUDI Track
Inside RICH Algorithm
Outside World
![Page 10: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/10.jpg)
TrackSegment
Track
Radiator• Has a length
• Emits photons
![Page 11: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/11.jpg)
What happened to the Extrapolation ?
Track
TrackExtrapolation
Rich::Track
Rich::TrackSegment
![Page 12: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/13.jpg)
GAUDI AlgorithmsAlgorithm 1
Dat
a St
ore
Algorithm 2
Algorithm 3
![Page 14: Overview Methodology Design Architecture Outline of future work Ideas for discussion](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062600/5a4d1bc67f8b9ab0599d4f62/html5/thumbnails/24.jpg)
Discussion• Detector data • Association to MC truth• How to store final results ?• Iteration of the algorithm ???
– Temporary results could be stored
• GEANT4