Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a universally."— Presentation transcript:

1 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.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

2 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Index Generating frameworks oWhy generating a Framework oHow to generate a Framework Introduction to ROME Generation Process in ROME oFeatures

3 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Generating Frameworks

4 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.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 experiments  Impossible  Presented in this talk

5 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Framework Composition of an Analysis Software Experiment independent part of the Framework Analysis Code Code is part of the distribution Code generated by a translation program Code implemented by the experimenter  Experiment dependent code which can be summarized in a experiment description Data structure Task structure Database access, DAQ access  Experiment dependent code which can not be summarized Physical Calculations Event Loop Support functions

6 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Generating an Analysis Framework Experiment Summarization Data Structure Task Structure Database Connection DAQ Interface... Translation Program ROME classes Task Objects ROME classes Framework Objects Database DAQ System Add Analysis Code

7 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Benefits of a generated Framework Saves Manpower Leads to better analysis frameworks Leads to better analysis software Clear separation between Framework and Analysis Code Consistent Program Structure -> Easy to read Less Handwritten Code Improvements are shared to other experiments

8 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Introduction to ROME

9 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Implementation in ROME XML file for experiment description ROME classes Summarization XML File ROME classes Exp. classes ROMEBuilder Project ROME Distribution Add analysis code Makefile generated and executed by the ROMEBuilder Framework html documentation generated by the ROMEBuilder Experiment independent ROME classes (mostly base classes for the generated classes) Executable Documentation

10 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli ROME Features For all event based data analysis Fully object oriented Based on Root Online and Offline 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 XML is used for experiment descriptions Automatic makefile generation and linking performed Experiment documentation created

11 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli GUI Extension Office Control Room Rome only mode GUI only mode Rome-GUI mode Online Analysis Offline Analysis Socket Connection GUI is also generated Tab based

12 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Conclusion  It’s possible to generate analysis frameworks  Generating frameworks has a lot of benefits  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

13 Back Up Slides

14 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Interconnections Folders Tasks Fill Read Trees Fill Flag Histograms Fill Disk (Output) Write (ROOT) Disk (Input) Read (any Format)

15 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Modularity ROME is based on Tasks and Folders. Tasks are independent calculation modules. The interface to the tasks are folders. Tasks can be combined or exchanged arbitrarily, as long as the interface matches. E.g. one can execute different calibration tasks without re-linking. A1A2B1A3B2 A4  Possible even during runtime

16 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Folders Folder Name Field Name 1 Field Type 1 Field Name 2 Field Type 2 XML File [Field Type 1] Get[Folder Name]()->Get[Field Name 1](); void Get[Folder Name]()->Set[Field Name 1]([Field Type 1] value); Code

17 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Task Name … XML File void [Experiment Shortcut]T[Task Name]::Init() { } void [Experiment Shortcut]T[Task Name]::BeginOfRun() { } void [Experiment Shortcut]T[Task Name]::Event() { } void [Experiment Shortcut]T[Task Name]::EndOfRun() { } void [Experiment Shortcut]T[Task Name]::Terminate() { } Code Tasks

18 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Configuration File 1001,1002-1004 offline midas Task 1 yes/no Value 123 XML File

19 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Program structure Start read configuration file BOR EOR Event read database fill tree read raw data write tree End of Analysis Start ROOT interactive session

20 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Run Program C:\Sample> ROMEBuilder.exe sample.xml link messages C:\Sample> XYZ q : Terminates the program e : Ends the program s : Stops the program r : Restarts the program c : Continuous Analysis o : Step by step Analysis g : Run until event # i : Root interpreter root [0] TBrowser t root [1] cout GetPMTData()->GetADC() Windows

21 Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli Installation Installation of ROOT Installation of MIDAS (only online, Linux) [~]$ setenv ROMESYS ~/ROME [~]$ setenv PATH $ROMESYS/bin:$PATH [~]$ cvs checkout ROME [~/ROME]$ make [../MyExp]$ romebuilder myExp.xml [-o Output Path] [~/MyExp]$ progname Linux CVS checkout of ROME Define environment variable ROMESYS Define environment variable ‘Path’ C:\> set ROMESYS=C:/ROME C:\> set Path=%Path%;%ROMESYS%/bin C:\> cvs checkout ROME C:\ROME> nmake –f Makefile.win C:\MyExp> ROMEBuilder.exe myExp.xml –v [–o Output Path] C:\MyExp> progname Windows


Download ppt "Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / 13.2.2006 / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a universally."

Similar presentations


Ads by Google