talk. paul scherrer institut 5232 villigen psi chep 2006 in mumbay / 23.2.2006 / matthias schneebeli...
TRANSCRIPT
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
ROME
CHEP 2006
Presented by Matthias Schneebeli
a universally applicable analysis framework generator
Written by Matthias Schneebeli, Ryu Sawada, Stefan Ritt
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Index
• Generating frameworks
oWhy generating a Framework
oHow to generate a Framework
• Introduction to ROME
oFeatures
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Generating FrameworksGenerating Frameworks
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Writing an Analysis Software
Different approaches for writing an analysis software for an experiment
Writing an analysis software specifically for the experiment
Writing an analysis software for all HEP experiments
- Generating an analysis framework
- Adding experiment specific analysis code by hand
Limited use, only usable for 1 experiment
No help from other collaborations
Impossible
Presented in this talk
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Composition of an Analysis Tool
Totally experiment independent code
• Event Loop
• Support functions
Framework
Experiment dependent code which can be summarized in a experiment description
• Data structure
• Task structure
• Database access, DAQ access
Analysis Code
Experiment dependent code which can not be summarized
• Physical Calculations
Code part of the distribution
Code generated by a translation program
Code implemented by the experimenter
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Generating an Analysis Framework
Experiment SummarizationData StructureTask StructureDatabase ConnectionDAQ Interface...
Translation Program
ROME classesROME classesData Storage Objects
ROME classesROME classesTaskObjects
ROME classesROME classesGeneral FrameworkObjects
Database DAQ System
Add Analysis Code
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Benefit of a generated Framework
• Clear separation between Framework and Analysis
Code
• Consistent Program Structure
• Less Handwritten Code
• Improvements are shared to other users
Reduction of man power
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Introduction to ROMEIntroduction to ROME
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Implementation in ROME• XML file for experiment description
ROME classesROME classesROME classes
SummarizationXML File
ROME classesROME classesExp. classes
ROMEBuilder Executable
Documentation
Project
ROME Distribution
Add analyisis code
• Makefile generated and executed by the ROMEBuilder
• Framework documentation generated by the ROMEBuilder
• Experiment independent ROME classes (mostly base classes for the generated classes)
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
ROME Features
• For all event based data analysis
• Fully object oriented
• Based on Root
• Online and Offline
• XML is used for experiment descriptions
• Experiment documentation created
• Automatical makefile generation and linking performed
• MySQL database access
• Access to 2 online DAQs integrated (Midas,Orca)
• Socket connection to third party software (ROOT sockets)
• GUI extension generated by the ROMEBuilder
Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli
Conclusion
It’s possible to generate analysis frameworks
ROME is such a framework generator
http://midas.psi.ch/rome/
Currently used at
• PSI (Switzerland)
• Los Alamos National Laboratory (USA)
• Triumf (Canada)
Try it out