LCIO A persistency framework for LC detector simulation studies Frank Gaede, DESY, IT Linear Collider Simulation Workshop SLAC May 19-22 2003.

Slides:



Advertisements
Similar presentations
MAPS, RAL, 28-Feb-2006Nigel Watson / Birmingham Geant4 Simulation of MAPS  Geant4/Mokka application has flexible way to change Si thickness, pixel size.
Advertisements

LCFI physics studies meeting, 28 th June 05 Sonja Hillertp. 1 Report from ILC simulation workshop, DESY June Aim of workshop: preparation for Snowmass;
Ties Behnke, Vasiliy Morgunov 1SLAC simulation workshop, May 2003 Pflow in SNARK: the next steps Ties Behnke, SLAC and DESY; Vassilly Morgunov, DESY and.
1 Simulation in Europe Ties Behnke, SLAC/ DESY BRAHMS: our trusted, old full simulation package FORTRAN GEANT321 grown, not designed SIMDET: the fast simulator.
Geant4-based Simulation Status and Plans Dhiman Chakraborty, Guilherme Lima, Jeremy McCormick, Vishnu Zutshi Calorimetry Working Group ALCPG 2004 Winter.
Org.lcsim ILC Reconstruction and Analysis Tony Johnson SLAC March 2005.
LCFI Collaboration Meeting, RAL, 6 th March 2007Sonja Hillert (Oxford)p. 0 WP 1 – Simulation and Physics Studies Overview of recent progress LCFI Collaboration.
FCC Software Status Report from a User’s Perspective Colin Bernet (IPNL), Benedikt Hegner (CERN) 14 January
FCC Software Status Report from a User’s Perspective Colin Bernet (IPNL) 18 March 2015 Code Contributors: Michele De Gruttola, Benedikt Hegner, Clément.
1 Higgs Self-Coupling Analysis – How To Tim Barklow SLAC October 25, 2007.
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.
SiD Software Status. Framework Overview Pythia, WHIZARD, etc. Pythia, WHIZARD, etc. SLIC Tracking, PFA, etc. LCSim StdHep LCIO Events JAS3 (or any AIDA.
Framework for track reconstruction and it’s implementation for the CMS tracker A.Khanov,T.Todorov,P.Vanlaer.
Software Common Task Group Report Akiya Miyamoto KEK ALCPG09 30 September 2009.
Mokka and integration of the geometry AIDA kick-off meeting WP2 session: Common software tools 17 February 2011 – CERN Paulo Mora de Freitas and Gabriel.
Ties Behnke: EU-LC Simulation and Reconstruction 1 EU-LC Simulation & Reconstruction Full simulation systems: status report The next steps: where do we.
LCD Simulation News Norman Graf ECFA Workshop ECFA Workshop Montpellier, Nov. 14, 2003.
ALCPG Simulation Status and Plans ECFA LC Workshop, Durham Sep. 2, 2004 Norman Graf (SLAC)
ALCPG Simulation Status and Plans ACFA LC Workshop, Taipei Nov. 10, 2004 Norman Graf (SLAC)
ALCPG Software Tools Jeremy McCormick, SLAC LCWS 2012, UT Arlington October 23, 2012.
HPS Online Software Discussion Jeremy McCormick, SLAC Status and Plans.
Track Reconstruction: the trf & ftf toolkits Norman Graf (SLAC) ILD Software Meeting, DESY July 6, 2010.
Event Data History David Adams BNL Atlas Software Week December 2001.
The european ITM Task Force data structure F. Imbeaux.
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
LCIO The data model of the persistency framework for LC detector simulation Frank Gaede, DESY, IT 4 th ECFA/DESY LC Workshop Amsterdam April 1 st -4 th.
BeamCal Simulations with Mokka Madalina Stanescu-Bellu West University Timisoara, Romania Desy, Zeuthen 30 Jun 2009 – FCAL Meeting.
Using JAS3 for LCD Analysis Tony Johnson 20 th May 2003.
Summary of Simulation and Reconstruction Shaomin CHEN (Tsinghua University)  Framework and toolkit  Application in ILC detector design Jupiter/Satellites,
DANA uses a factory model to deliver data “just in time”
RAVE – a detector-independent vertex reconstruction toolkit W. Waltenberger, F. Moser, W. Mitaroff Austrian Academy of Sciences Institute of High Energy.
SiD performance for the DBD Jan Strube CERN. Overview Software Preparation (CERN, SLAC) Machine Environment (CERN, SLAC) Tracking Performance (C. Grefe)
Event Data Model Proposal for a 2 nd iteration based on LCIO Colin Bernet (IPNL) 27 November 2014 Thanks to Frank Gaede for LCIO 1.
Ties Behnke: Simulation and Tools 1 Simulation and Tools Ties Behnke, DESY Summary of the simulation sessions At this conference: 4 sessions (one combined.
1 Software tools for GLC studies Akiya Miyamoto KEK 20 April, 2004 Representing ACFA-Sim Group
1 Using Jupiter and Satellites Akiya Miyamoto KEK Jan 2006.
1 Calorimetry Simulations Norman A. Graf for the SLAC Group January 10, 2003.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Java Physics Generator and Analysis Modules Mike Ronan LBNL (presented by Tony Johnson)
Gabriel Musat L.L.R. – Ecole polytechnique ECFA-DESY Linear Collider Workshop Amsterdam, April 1-4, 2003.
MONTE CARLO EVENT GENERATION IN A MULTILANGUAGE, MULTIPLATFORM ENVIRONMENT Norman Graf Tony Johnson Stanford Linear Accelerator Center Abstract: We discuss.
Java Analysis Studio and the hep.lcd class library Mike Ronan - LBNL Joanne Bogart, Gary Bower, Tony Johnson - SLAC Nick Sinev - Oregon Don Benton - U.
CBM ECAL simulation status Prokudin Mikhail ITEP.
LCIO A persistency framework and data model for the linear collider CHEP 04, Interlaken Core Software, Wednesday Frank Gaede, DESY -IT-
BES III reconstruction software planning for Summer 2004 BES III reconstruction software planning for Summer 2004 Li Weidong
April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.
Ties Behnke: Event Reconstruction 1Arlington LC workshop, Jan 9-11, 2003 Event Reconstruction Event Reconstruction in the BRAHMS simulation framework:
Calorimeter Simulation Infrastructure Norman Graf Arlington ‘03.
1 Software tools in Asia Akiya Miyamoto KEK 18-March-2005 Simulation and Reconstruction Session LCWS2005 Representing acfa-sim-j activity M.C.Chang 1,K.Fujii.
Mokka, main guidelines and future P. Mora de Freitas Laboratoire Leprince-Ringuet Ecole polytechnique - France Linear collider Workshop 2004, Paris.
PHENIX Upgrade Detectors: Preliminary Software Interface Proposal Jeffery T. Mitchell Brookhaven National Laboratory 7/16/03.
DD4hep-Based Simulation Nikiforos Nikiforou CERN/PH-LCD ILD Meeting 2014 Oshu City, September 9 th, 2014.
Slic A Geant4-based detector simulation package Jeremy McCormick, Norman Graf, Ron Cassell, Tony Johnson SLAC June 8, 2006.
Introduction to FCC Software FCC Istanbul 11 March, 2016 Alice Robson (CERN/UNIGE) on behalf of / with thanks to the FCC software group.
Outline: - Building the reconstruction software template - Data flow example - What’s next? - Example “results” PHENIX Upgrade Detectors: Reconstruction.
1 SLAC simulation workshop, May 2003 Ties Behnke Mokka and LCDG4 Ties Behnke, DESY and SLAC MOKKA: european (france) developed GEANT4 based simulation.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Data Model: LCIO to LCIO2.0 Norman Graf (SLAC) ILC-CLIC Software, CERN May 28, 2009.
DANA David Lawrence Oct. 21, D. Lawrence, JLab GlueX Software Workshop Oct Outline Requirements Philosophy Overview of Features Open Questions.
1 MC Production and Reconstruction Summary and Plans Valeria Bartsch, Fabrizio Salvatore, A.-M. Magnan, and Nigel Watson.
GEANT4 for Future Linear Colliders
Comments from MarlinReco users in Asia
Geant4-based Simulation Status and Plans
slicPandora: slic + pandoraPFANew
HEP detector description supporting the full experiment life cycle
Gabriel Musat L.L.R. – Ecole polytechnique
Linear Collider Simulation Tools
Jupiter and Satellites
Use of GEANT4 in CMS The OSCAR Project
Linear Collider Simulation Tools
Presentation transcript:

LCIO A persistency framework for LC detector simulation studies Frank Gaede, DESY, IT Linear Collider Simulation Workshop SLAC May

2Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 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

3Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Outline Introduction Introduction Software design Software design API API Data model Data model Status Status Summary Summary

4Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Motivation Generator geometry Analysis Recon- struction Simulation LCIO Persistency Framework Java, C++, Fortran Geant3, Geant4 Java, C++, Fortran

5Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 data model The Persistency Framework LCIO contents data format persistency data access APIimplementation

6Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 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 -> need to be flexible for future decisions on persistency -> need to be flexible for future decisions on persistency three general use cases three general 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 !

7Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 API design – simulation data untyped collections tagging interface data entities Interface for a)writing data (simulation) b)read only access (analysis) user extensions

8Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 API & implementation abstract event abstract io concrete classes persistency implementation

9Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Extending the base API decorator classes add convenient methods to data objects minimal interface needed for writing data

10Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 API definition for Java and C++ use AID Abstract Interface Definition use AID Abstract Interface Definition tool from freehep.org (M. Dönzelsmann) tool from freehep.org (M. Dönzelsmann) 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

11Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 AID example:

12Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 API documentation created from java implementation with javadoc

13Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 C++ developer documentation documentation created from C++ implementation with doxygen

14Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Example: reading data LCReader* lcReader = LCReader* lcReader = LCFactory::getInstance()->createLCReader() ; LCFactory::getInstance()->createLCReader() ; lcReader->open( "myFile" ) ; lcReader->open( "myFile" ) ; LCEvent *myEvt ; LCEvent *myEvt ; while( ( myEvt = lcReader->readNextEvent() ) != 0 ){ while( ( myEvt = lcReader->readNextEvent() ) != 0 ){ cout getEventNumber() cout getEventNumber() getRunNumber() getRunNumber() getDetectorName() getDetectorName() << endl ; << endl ; } cout << endl ; cout << endl ; lcReader->close() ; lcReader->close() ; independent of persistency implementation !

15Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Example: reading event collections … LCEvent *evt ; while( ( evt = lcReader->readNextEvent() ) != 0 ){ const LCCollection* col = evt->getCollection( “EcalHits”); const LCCollection* col = evt->getCollection( “EcalHits”); int nHits = col->getNumberOfElements() ; int nHits = col->getNumberOfElements() ; for( int i=0 ; i< nHits ; i++ ){ for( int i=0 ; i< nHits ; i++ ){ const CalorimeterHit* hit = const CalorimeterHit* hit = dynamic_cast dynamic_cast ( col->getElementAt( i ) ) ; ( col->getElementAt( i ) ) ; const float* x = hit->getPosition() ; const float* x = hit->getPosition() ; cout << “x: " << x[0] << ", " << x[1] << ", " << x[2] cout << “x: " << x[0] << ", " << x[1] << ", " << x[2] getEnergy() getEnergy() << endl ; }… }… untyped collections addressed via name

16Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 LCReader API “direct access” via fast skip read next event/run callbacks for modules

17Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Example: writing data (events) LCWriter* lcWrt = LCFactory::getInstance()->createLCWriter() ; LCWriter* lcWrt = LCFactory::getInstance()->createLCWriter() ; lcWriter->open( "myFile" ) ; lcWriter->open( "myFile" ) ; for( int i=0; i<NEVENT; i++ ){ for( int i=0; i<NEVENT; i++ ){ LCEventImpl* evt = new LCEventImpl() ; LCEventImpl* evt = new LCEventImpl() ; evt->setRunNumber( rn ) ; evt->setRunNumber( rn ) ; evt->setEventNumber( i ) ; evt->setEventNumber( i ) ; // add collections... lcWrt->writeEvent( evt ) ; lcWrt->writeEvent( evt ) ; delete evt ; // C++ only :) delete evt ; // C++ only :) } lcWriter->close() ; lcWriter->close() ; use LCIO implementation classes or own classes for writing !

18Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Example: writing collections LCCollectionVec* trkVec = LCCollectionVec* trkVec = new LCCollectionVec( LCIO::TRACKERHIT ) ; new LCCollectionVec( LCIO::TRACKERHIT ) ; for(int j=0;j<NHITS;j++){ for(int j=0;j<NHITS;j++){ TrackerHitImpl* hit = new TrackerHitImpl ; TrackerHitImpl* hit = new TrackerHitImpl ; hit->setdEdx( 30e-9 ) ; hit->setdEdx( 30e-9 ) ; double pos[3] = { 1., 2., 3. } ; double pos[3] = { 1., 2., 3. } ; hit->setPosition( pos ) ; hit->setPosition( pos ) ; trkVec->push_back( hit ) ; trkVec->push_back( hit ) ; } evt->addCollection( (LCCollection*) trkVec, “TPCHits” ) ; evt->addCollection( (LCCollection*) trkVec, “TPCHits” ) ; … // write event

19Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 LCWriter API

20Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 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 ! have factory and delete functions have factory and delete functions -> OO-like code in fortran -> OO-like code in fortran

21Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 LCIO f77 example:

22Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 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

23Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 The Data Model - Overview SimHeader Event TrackerHit CalorimeterHit RunHeader RecoHeader ReconstructedObject ReconstructedParticle MCParticle Track Cluster SIM Reco for details see transperencies after summary

24Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Status of LCIO first Java and C++ implementation (simulation data!) first Java and C++ implementation (simulation data!) integrated into Mokka simulation framework integrated into Mokka simulation framework latest release mokka writes Hits in LCIO latest release mokka writes Hits in LCIO f 77 prototype f 77 prototype demonstrating the design demonstrating the design complete integration into simulation software chains in the next months: complete integration into simulation software chains in the next months: US: hep.lcd (Java) ? -> to be discussed at this workshop US: hep.lcd (Java) ? -> to be discussed at this workshop Europe: Mokka (C++)/BRAHMS-reco(f77) Europe: Mokka (C++)/BRAHMS-reco(f77)

25Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 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:

26Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCRunHeader block: RunHeader block: RunHeader int: runNumber int: runNumber string: detectorName string: detectorName string: description string: description string[]: activeSubdetectors string[]: activeSubdetectors => describes the run setup

27Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEventHeader EventHeader EventHeader int: runNumber int: runNumber int: evtNumber int: evtNumber string: detectorName string: detectorName String[]: subdetectorName String[]: subdetectorName blockNames: blockNames: string: blockName string: blockName string: blockType string: blockType

28Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model – LCEvent (sim) MCParticle MCParticle pntr: parent pntr: parent pntr: secondparent pntr: secondparent pntr[]: daughters pntr[]: daughters int : pdgid: int : pdgid: int : hepevtStatus int : hepevtStatus (0,1,2,3 HepEvt) (201, 202 sim. decay) MCParticle cont. double[3]: start (production vertex) float[3] : momentum (at vertex) float: energy float: charge

29Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (sim) TrackerHit TrackerHit string: subdetector string: subdetector int: hitFlags (detector specific: Id, key, etc.) int: hitFlags (detector specific: Id, key, etc.) double[3]: position double[3]: position float: dEdx float: dEdx float: time float: time pntr: MCParticle pntr: MCParticle

30Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (sim) CalorimeterHit CalorimeterHit string: subdetector string: subdetector int: cellId0 int: cellId0 int: cellId1 int: cellId1 float: energy float: energy float[3]: position – optional (file size!) float[3]: position – optional (file size!) particle contributions: particle contributions: pntr: MCParticle pntr: MCParticle float: energyContribution float: energyContribution float: time float: time int: PDG (of secondary) - optional int: PDG (of secondary) - optional

31Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (reco) OutputHeader OutputHeader int: isrFlag int: isrFlag float: colliderEnergy float: colliderEnergy int: flag0 (to be defined) int: flag0 (to be defined) int: flag1 (to be defined) int: flag1 (to be defined) int: reconstructionProgramTag int: reconstructionProgramTag float: Bfield float: Bfield -> could be combined with global header…

32Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (reco) Track Track int: tracktype (full reconstr, TPC only, Muon only, etc.) int: tracktype (full reconstr, TPC only, Muon only, etc.) float: momentum float: momentum float: theta float: theta float: phi float: phi float: charge float: charge float: d0 (Impact Parameter in r-phi) float: d0 (Impact Parameter in r-phi) float: z0 (Impact Parameter in r-z) float: z0 (Impact Parameter in r-z) float[15]: cov.matrix float[15]: cov.matrix float: reference point (x, y, z) float: reference point (x, y, z) float: chi**2 of fit float: chi**2 of fit float[10]: dEdx (weights and probabilities) float[10]: dEdx (weights and probabilities) TrackerHits: - optional TrackerHits: - optional pntr: TrackerHit pntr: TrackerHit

33Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (reco) Cluster Cluster int: detector (type of cluster: ECAL, HCAL, combined…) int: detector (type of cluster: ECAL, HCAL, combined…) int: clustertype (neutral, charged, undefined cluster) int: clustertype (neutral, charged, undefined cluster) float: energy float: energy float[3]: position (center of cluster x, y, z) float[3]: position (center of cluster x, y, z) float[6]: errpos (cov. matrix of position) float[6]: errpos (cov. matrix of position) float: theta (intrinsic direction: theta at position) float: theta (intrinsic direction: theta at position) float: phi (intrinsic direction: phi at position) float: phi (intrinsic direction: phi at position) float[3]: errdir (cov. matrix of direction) float[3]: errdir (cov. matrix of direction) float[6]: shapeParameters (definition needed) float[6]: shapeParameters (definition needed) float[3]: weights (compatible with em., had., muon) float[3]: weights (compatible with em., had., muon) CalorimeterHits: - optional CalorimeterHits: - optional pntr: CalorimeterHit pntr: CalorimeterHit float: contribution float: contribution

34Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (reco) ReconstructedParticle ReconstructedParticle int: primaryFlag ( 0: secondary, 1: primary) int: primaryFlag ( 0: secondary, 1: primary) int: ObjectType (charged/ neutral particle) int: ObjectType (charged/ neutral particle) float[3]: 3-Vec (px, py, pz) float[3]: 3-Vec (px, py, pz) float: energy float: energy float[10]: covariance matrix float[10]: covariance matrix float: charge float: charge float[3]: reference position for 4-vector float[3]: reference position for 4-vector float[5]: PID_type (hypotheses for e, g, pi, K, p,...) float[5]: PID_type (hypotheses for e, g, pi, K, p,...) ReconstructedParticle cont. Tracks: pntr: Track float:weight Clusters: pntr: Cluster float:weight MCParticles: pntr: MCParticle float:weight have separate MC-link object ?

35Frank Gaede, DESY IT LC Simulation Workshop,SLAC, May 2003 Data model - LCEvent (reco) ReconstructedObject ReconstructedObject int: ObjectType (jet, vertex,... ) int: ObjectType (jet, vertex,... ) float[5]: 4vec (4-vector of object (px, py, pz, E, M) float[5]: 4vec (4-vector of object (px, py, pz, E, M) float[3]: reference (position) float[3]: reference (position) float[15]: covariance matrix float[15]: covariance matrix reconstructedParticle: reconstructedParticle: pntr: ReconstructedParticle pntr: ReconstructedParticle float: weight float: weight => generic reconstructed objects, linked to reconstructed particles