Download presentation
Presentation is loading. Please wait.
Published byEdwin Banks Modified over 9 years ago
1
LCIO A persistency framework for LC detector simulation studies Frank Gaede, DESY, IT 4 th ECFA/DESY LC Workshop Amsterdam April 1 st -4 th 2003
2
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 2Frank Gaede, DESY IT Outline Introduction Introduction Data model (brief, see talk in detector performance session) Data model (brief, see talk in detector performance session) Design and Implementation Design and Implementation Status Status Summary Summary
3
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 3Frank Gaede, DESY IT Introduction At Prague workshop decided to have At Prague workshop decided to have Data format/persistency task force: Data format/persistency task force: “Define an abstract object persistency layer and a data model for linear collider simulation studies until the Amsterdam workshop.” People: People: Ties Behnke - DESY/SLAC Ties Behnke - DESY/SLAC Frank Gaede - DESY Frank Gaede - DESY Norman Graf - SLAC Norman Graf - SLAC Tony Johnson - SLAC Tony Johnson - SLAC Paulo Mora de Freitas - IN2P3 Paulo Mora de Freitas - IN2P3
4
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 4Frank Gaede, DESY IT Motivation Generator geometry Analysis Recon- struction Simulation LCIO Persistency Framework Java, C++, Fortran Geant3, Geant4 Java, C++, Fortran
5
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 5Frank Gaede, DESY IT data model The Persistency Framework LCIO contents data format persistency data access APIimplementation
6
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 6Frank Gaede, DESY IT Meetings Meeting at SLAC 12/09-12/13/02: Meeting at SLAC 12/09-12/13/02: (T. Behnke, F. Gaede, N. Graf, T. Johnson) agreement to have common persistency framework in one US group (hep.lcd) and in the European group: LCIO agreement to have common persistency framework in one US group (hep.lcd) and in the European group: LCIO agreement on the (first) implementation format agreement on the (first) implementation format first definition of the data model first definition of the data model Meeting at Ecole Polytechnique 01/14-01/15/03: Meeting at Ecole Polytechnique 01/14-01/15/03: ( F. Gaede, P. Mora de Freitas, H. Videau, J.-C. Brient) ( F. Gaede, P. Mora de Freitas, H. Videau, J.-C. Brient) agreement to use LCIO as the output format for the Mokka simulation framework agreement to use LCIO as the output format for the Mokka simulation framework further discussions and refinement of the data model (reconstruction) further discussions and refinement of the data model (reconstruction) Presentation and discussion of the data model at CERN miniworkshop of detector performance group 25/02/03 Presentation and discussion of the data model at CERN miniworkshop of detector performance group 25/02/03 Several phone meetings Several phone meetings
7
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 7Frank Gaede, DESY IT LCIO requirements need Java, C++ and f77 (!) implementation need Java, C++ and f77 (!) implementation extendable data model for current and future simulation studies extendable data model for current and future simulation studies user code separated from concrete data format user code separated from concrete data format -> want to be flexible for future decisions on persistency -> want to be flexible for future decisions on persistency three major use cases three major use cases writing data (simulation) writing data (simulation) reading and updating data (reconstruction) reading and updating data (reconstruction) read only access to data (analysis) read only access to data (analysis) needed a.s.a.p. -> keep it simple ! needed a.s.a.p. -> keep it simple !
8
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 8Frank Gaede, DESY IT A brief Look at the Data Model: SimHeader Event TrackerHit CalorimeterHit RunHeader RecoHeader ReconstructedObject ReconstructedParticle MCParticle Track Cluster SIM Reco for details see talk in detector performance session
9
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 9Frank Gaede, DESY IT API – simulation data untyped collections tagging interface data entities Interface for a)writing data (simulation) b)read only access (analysis) user extensions
10
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 10Frank Gaede, DESY IT API & implementation abstract event abstract io concrete classes persistency implementation
11
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 11Frank Gaede, DESY IT API definition for Java and C++ use AID Abstract Interface Definition use AID Abstract Interface Definition tool from freehep.org tool from freehep.org used successfully in the AIDA project used successfully in the AIDA project define interfaces in Java-like language with C++ extensions define interfaces in Java-like language with C++ extensions -> generates files with Java interfaces -> generates files with Java interfaces -> generates C++ header files with pure abstract base classes -> generates C++ header files with pure abstract base classes use javadoc for documentation use javadoc for documentation independent implementations in Java and C++ independent implementations in Java and C++ -> keep Java “pure” i.e. machine independent -> keep Java “pure” i.e. machine independent
12
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 12Frank Gaede, DESY IT LCIO Fortran interface Fortran support for Fortran support for legacy software (e.g. BRAHMS reconstruction) legacy software (e.g. BRAHMS reconstruction) non OO-analyses code (“old guys”) non OO-analyses code (“old guys”) not a third implementation of the library – use C++-wrapper functions and cfortran.h instead: not a third implementation of the library – use C++-wrapper functions and cfortran.h instead: one function for every class member function one function for every class member function use integers to store pointers ! use integers to store pointers ! -> OO-like code in fortran -> OO-like code in fortran
13
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 13Frank Gaede, DESY IT LCIO f77 example:
14
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 14Frank Gaede, DESY IT Persistency Implementation use SIO: Simple Input Output use SIO: Simple Input Output developed at SLAC for NLC simulation developed at SLAC for NLC simulation already used in hep.lcd framework already used in hep.lcd framework features: features: on the fly data compression on the fly data compression some OO capabilities, e.g. pointers some OO capabilities, e.g. pointers C++ and Java implementation available C++ and Java implementation available
15
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 15Frank Gaede, DESY IT Status of LCIO C++ implementation available C++ implementation available integrated into Mokka simulation framework now integrated into Mokka simulation framework now (latest release mokka-01-05 writes TrackerHits in LCIO) (latest release mokka-01-05 writes TrackerHits in LCIO) f 77 prototype f 77 prototype demonstrating the design demonstrating the design Java implementation development ongoing Java implementation development ongoing complete integration into simulation software chains in the next months: complete integration into simulation software chains in the next months: US: hep.lcd (Java) US: hep.lcd (Java) Europe: Mokka (C++)/BRAHMS-reco(f77) Europe: Mokka (C++)/BRAHMS-reco(f77)
16
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 16Frank Gaede, DESY IT LCIO - To Do consolidate the API consolidate the API make the implementation more robust make the implementation more robust error handling error handling debugging debugging implement reconstruction data model implement reconstruction data model add fast skipping mechanism add fast skipping mechanism get user feedback get user feedback -> lots of improvements … -> lots of improvements …
17
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 17Frank Gaede, DESY IT Summary LCIO is a persistency framework for linear collider simulation software LCIO is a persistency framework for linear collider simulation software Java, C++ and f77 user interface Java, C++ and f77 user interface LCIO is currently implemented in simulation frameworks: LCIO is currently implemented in simulation frameworks: hep.lcd hep.lcd Mokka/BRAHMS-reco Mokka/BRAHMS-reco -> other groups are invited to join -> other groups are invited to join see LCIO homepage for more details: see LCIO homepage for more details:http://www-it.desy.de/physics/projects/simsoft/lcio/index.html
18
LCIO, 4th ECFA/DESY Workshop, Amsterdam 2003 18Frank Gaede, DESY IT Intermediate Software Chain Geant4/C++ Simulation Mokka Geant3/f77 Reconstruction Brahms zio-files (brahmsio) gen. evts (STDHEP) Events (Jas,Root,..) GEOM (SQL) GEOM f77 Additional output format for Mokka, compatible with latest version of Brahms Reco. http://www.desy.de/~gaede/doc/mokka_flc20030210.pdf
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.