11
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

Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

Embed Size (px)

Citation preview

Page 1: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 2: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 3: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli

Generating FrameworksGenerating Frameworks

Page 4: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 5: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 6: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 7: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 8: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

Paul Scherrer Institut • 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli

Introduction to ROMEIntroduction to ROME

Page 9: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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)

Page 10: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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

Page 11: Talk. Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 23.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a

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