# A side-by side comparison of PLCIO and FCC-EDM
Source for plcio current master (19.07.2019, based on LCIO v02-12): https://stash.desy.de/projects/IL/repos/plcio/browse/config/lcio.yaml
Source for fcc-edm: current master (19.07.2019, latest release 0.5.4)  https://github.com/HEP-FCC/fcc-edm/blob/master/edm.yaml
## Overview
A list of the type names in PLCIO and FCC-EDM, sorted into topics
### Components
| PLCIO | FCC-EDM | 
| -------- | -------- | 
| FloatThree     | Point     |
| DoubleThree | |
| IntTwo | |
| | LorentzVector |
| TrackState | |
| | BareHit|
| | BareCluster |
|| BareParticle |
| | BareJet |
| ObjectId ||
### Event / Run types
| PLCIO | FCC-EDM | 
| -------- | -------- | 
| LCRunHeader     |  |
| LCEventHeader |  EventInfo|
### Generic / Catchall types
| PLCIO | FCC-EDM | 
| -------- | -------- |
| | FloatValue |
| LCGenericObject | |
| LCFLoatVec ||
| LCIntVec ||
| LCStrVec ||
### Particles
| PLCIO | FCC-EDM | 
| -------- | -------- |
| MCParticle | MCParticle |
| | ParticleMCParticleAssociation |
| ReconstructedParticle | Particle |
| | TaggedParticle |
| Particle ID ||
### Vertices
| PLCIO | FCC-EDM | 
| -------- | -------- |
|Vertex | Vertex |
| | GenVertex |
### Track Detector Types
| PLCIO | FCC-EDM | 
| -------- | -------- |
| TrackerRawData ||
|TrackerData ||
| TrackerPulse ||
|TPCHit ||
|TrackerHit| TrackHit |
|SimTrackerHit| PositionedTrackHit |
| | DigiTrackHitAssociation |
| | TrackCLuster |
|| TrackState |
| Track| Track |
| | WeightedTrack |
### Calorimeter Types
| PLCIO | FCC-EDM | 
| -------- | -------- |
| CalorimeterHit | CaloHit |
| CaloHitContribution | |
|SimCalorimeterHit | |
|RawCalorimeterHit ||
|Cluster| CaloCluster |
| | CaloHitMCParticleAssociation |
|| CaloHitAssociation |
### Jets / High level reco objects
| PLCIO | FCC-EDM | 
| -------- | -------- |
| | MET |
| | Jet |
| | TaggedJet |
|| ResolvedJet |
|| GenJet |
|| TaggedGenJet |
|| ResolvedGenJet |
### LCIO compatibility?
| PLCIO | FCC-EDM | 
| -------- | -------- |
| LCRelation | |
|LCReference | |
## Definitions
Side-by-side comparison of the data model definitions.
Edited to make it comparable (deleted comments, etc.)
refer to the link above for the original
### Preamble 
```{.yaml}
---                                        |---
# LCIO EDM Description                     |# FCC-EDM 
# based on LCIO v02-12                     |# July 2019
# Dec 2018                                 |
                                           |
                                           |
# specify some options for code generation |
options:                                   |options:
  getSyntax : True                         |  getSyntax: False
  exposePODMembers : False                 |  exposePODMembers: True
                                           |
```
### Components
```{.yaml}
########################################## |# A component is a POD designed 
#                                          |# to be embedded in another POD,
# some helper components -                 |# see the Particle or Jet PODs.           
# simple data structs (PODs)               |# Components cannot be stored 
#                                          |# in a collection.                        
#########################################  |                                          
                                           |                                          
components:                                |components:                               
    #  Vector3D with floats                |                                          
    plcio::FloatThree :                    |  fcc::Point:                             
      x : float                            |    x : float                             
      y : float                            |    y : float                             
      z : float                            |    z : float                  
                                           |                                          
   # Vector3D with doubles                 | # VV: the fcc-edm used only              
    plcio::DoubleThree :                   | #     single precison up to now          
      x : double                           |                                          
      y : double                           |                                          
      z : double                           |                                          
      ExtraCode :                          |                                          
       ...                                 |                                          
                                           |                                          
    # Vector2D with ints                   |                                          
    plcio::IntTwo :                        |                                          
      a : int                              |                                          
      b : int                              |                                          
      ExtraCode :                          |                                          
      ....                                 |                                          
                                           |
                                           |  fcc::LorentzVector:                     
                                           |    mass : float                          
                                           |    px : float                            
                                           |    py : float                            
                                           |    pz : float
                                           |                                          
# #helper struct for MCP contributions     |  # really need to expose some function   
# #to the SimCalorimterHit                 |  #f(Cellid) -> position                  
#    plcio::CaloHitCont :                  |  fcc::BareHit:                           
#      PDG : int                           |    cellId : unsigned long long           
#      energy : float                      |    energy : float                        
#      time : float                        |    time : float                          
#      stepPosition : plcio::FloatThree    |    bits : unsigned                       
#      ExtraCode :                         |                                          
#       ...                                |      
                                           |                                          
                                           |  fcc::BareCluster:                       
                                           |    energy : float                        
                                           |    time : float                          
                                           |    position : fcc::Point                 
                                           |    bits : unsigned                       
                                           |                                          
                                           |  fcc::BareParticle:                      
                                           |    pdgId: int                            
                                           |    charge: int                           
                                           |    status: unsigned                      
                                           |    vertex: fcc::Point                    
                                           |    p4: fcc::LorentzVector                
                                           |    bits: unsigned                        
                                           |                                          
                                           |  fcc::BareJet:                           
                                           |    p4: fcc::LorentzVector                
                                           |    area: float                           
                                           |    bits: unsigned                        
                                           |                                                                            
                                           |# VV: in the fcc-edm, track-state
                                           |#     is a full type and appears later.
                                           |#     for readability I'll insert a copy  
    #-------- LCIO TrackState              |#     :                                   
    plcio::TrackState:                     |#  fcc::TrackState:                       
      location       : int                 |#    Description: "Track state at a ..."  
      D0             : float               |#    Author : "J. Hrdinka"                
      phi            : float               |#    Members:                             
      omega          : float               |#     - float phi                         
      Z0             : float               |#     - float theta                       
      tanLambda      : float               |#     - float qOverP                      
      referencePoint : plcio::FloatThree   |#     - float d0                          
      covMatrix      : std::array<float,15>|#     - float z0                          
                                           |#     - fcc::Point referencePoint         
                                           |#     - std::array<float,15> cov     
                                           |                                          
    #------ ObjectID helper struct         |                                          
    # for references/relations             |                                          
    plcio::ObjectID:                       |                                          
      index        : int                   |                                          
      collectionID : int                   |                                          
      ExtraCode :                          |                                          
      ...                                  |                                          
```
### Event/Run
```{.yaml}
                                          |                                          
########################################## |                                          
#                                          |                                          
# the actual EDM data types                |                                          
#                                          |                                          
#########################################  |                                          
                                           |                                          
                                           |                                          
                                           |                                          
datatypes :                                |datatypes :                               
                                           |# Datatypes are components                
                                           |# that can be stored in a Collection      
                                           |                                          
  #------------- LCIO LCRunHeader          |                                          
  plcio::LCRunHeader:                      |                                          
    Description: "Interface for ... "      |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - int runNumber                      |                                          
      - std::string detectorName           |                                          
      - std::string description            |                                          
    VectorMembers:                         |                                          
      - std::string activeSubdetectors     |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
                                           |                                          
  #------------- LCIO EventHeader          |                                          
  plcio::EventHeader:                      |  fcc::EventInfo :                        
    Description: "Meta information ..."    |    Description : "Event Info Data"       
    Author : "F.Gaede"                     |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members :                             
      - int eventNumber                    |     - int number // Event number         
      - int runNumber                      |     - int currentpileup                  
      - long timeStamp                     |     - float weight // Event weight       
      - std::string detectorName           |                                          
    VectorMembers:                         |                                          
      - std::string collectionNames        |                                          
      - std::string collectionTypes        |                                          
    ExtraCode :                            |                                          
     ...                                   |                                          
                                           |                                        
```
### "Generic / Catchall" types
```{.yaml}
                                           |                                          
  #------------- LCIO LCGenericObject      |  fcc::FloatValue :                       
  #   o FIXME: this implementation is      |    Description : "Contains float"        
  # rather inefficicent ....               |    Author : "M. Selvaggi"                
  plcio::LCGenericObject:                  |    Members :                             
    Description: "LCIO LCGenericObject"    |     - float value                        
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - int isFixedSize                    |                                          
      - std::string typeName               |                                          
      - std::string dataDescription        |                                          
    VectorMembers:                         |                                          
      - int    intVals                     |                                          
      - float  floatVals                   |                                          
      - double doubleVals                  |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
  #------------- LCIO LCFloatVec           |    
  plcio::LCFloatVec:                       |    
    Description: "LCIO LCFloatVec"         |     
    Author : "F.Gaede, DESY"               |
    VectorMembers:                         |     
      - float values /// float values      |
    ExtraCode :                            |     
    ...                                    |
                                           |     
  #------------- LCIO LCIntVec             |  
  plcio::LCIntVec:                         |    
    Description: "LCIO LCIntVec"           |    
    Author : "F.Gaede, DESY"               |    
    VectorMembers:                         |     
      - int values /// int values          |     
    ExtraCode :                            |     
    ...                                    |     
                                           |    
  #------------- LCIO LCStrVec             |     
  plcio::LCStrVec:                         |    
    Description: "LCIO LCStrVec"           |    
    Author : "F.Gaede, DESY"               |    
    VectorMembers:                         |     
      - std::string values ///string values|     
    ExtraCode :                            |     
    ...                                    |    
                                           |     
```
### Particles
```
                                           |#  fcc::BareParticle:                     
                                           |#    pdgId: int                           
                                           |#    charge: int                          
                                           |#    status: unsigned                     
                                           |#    vertex: fcc::Point                   
                                           |#    p4: fcc::LorentzVector               
                                           |#    bits: unsigned                       
                                           |                                         
  #------------- LCIO MCParticle           |                                          
  plcio::MCParticle:                       |  fcc::MCParticle:                        
    Description: "Monte Carlo particle."   |    Description: "Monte-Carlo Particle "  
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members:                              
     - int PDG                             |     - fcc::BareParticle core             
     - int generatorStatus                 |    OneToOneRelations:                    
     - int simulatorStatus                 |     - fcc::GenVertex startVertex         
     - float charge                        |     - fcc::GenVertex endVertex           
     - float time                          |                                          
     - double mass                         |                                          
     - plcio::DoubleThree vertex           |                                          
     - plcio::DoubleThree endpoint         |                                          
     - plcio::FloatThree momentum          |                                          
     - plcio::FloatThree momentumAtEndpoint|                                          
     - plcio::FloatThree spin              |                                          
     - plcio::IntTwo colorFlow             |                                          
                                           |                                          
    OneToManyRelations:                    |                                          
      - plcio::MCParticle parents          |                                          
      - plcio::MCParticle daughters        |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                        
                                           |                                          
                                           |  fcc::ParticleMCParticleAssociation:     
                                           |    Description : "Association ..."       
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    OneToOneRelations :                   
                                           |      - fcc::Particle rec                 
                                           |      - fcc::MCParticle sim   
  #------- LCIO ReconstructedParticle      |                                          
  #   Changes w.r.t. to original           |                                          
  #     o ParticleIDs are now in external c|                                          
ollection                                  |                                          
  plcio::ReconstructedParticle:            |  fcc::Particle :                         
    Description: "LCIO Reconstructed..."   |    Description : "Reconstructed particle"
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members :                             
      - int                    type        |     - fcc::BareParticle core             
      - float                  energy      |    OneToManyRelations:                   
      - plcio::FloatThree      momentum    |     - fcc::Track tracks                  
      - plcio::FloatThree referencePoint   |     - fcc::CaloCluster clusters          
      - float                  charge      |                                          
      - float                  mass        |                                          
      - float               goodnessOfPID  |                                          
      - std::array<float,10>   covMatrix   |                                          
    OneToOneRelations:                     |                                          
      - plcio::Vertex          startVertex |                                          
      - plcio::ParticleID  particleIDUsed  |                                          
    OneToManyRelations:                    |                                          
      - plcio::Cluster         clusters    |                                          
      - plcio::Track           tracks      |                                          
  - plcio::ReconstructedParticle particles |                                          
                                           |                                          
      - plcio::ParticleID   particleIDs    |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |  fcc::TaggedParticle :                   
                                           |    Description : "Association ..."       
                                           |    Author : "C. Helsens, J. Lingemann"   
                                           |    Members:                              
                                           |     - float tag                          
                                           |    OneToOneRelations :                   
                                           |     - fcc::Particle particle      
                                           |                                          
  #----  LCIO ParticleID                   |                                          
  plcio::ParticleID:                       |                                          
    Description: "LCIO ParticleID ... "    |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - int   type                         |                                          
      - int   pDG                          |                                          
      - int   algorythmType                |                                          
      - float likelihood                   |                                          
    VectorMembers:                         |                                          
      - float parameters                   |                                          
    ExtraCode :                            |                                          
    ...                                    |                                                 
```
### Vertices
Note that in FCC-EDM, `BareParticle` has an additional `Point` representing a vertex position
```
  #---------- LCIO Vertex                  |                                          
  #FIXME: lcio interface has algorithmType |                                          
  # as string but stores int ...           |                                          
  plcio::Vertex:                           |  fcc::Vertex:                            
    Description: "LCIO vertex"             |    Description: "Vertex "                
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members:                              
      - int                 primary        |     - float chi2                         
      - float               chi2           |     - unsigned ndf                       
      - float               probability    |     - fcc::Point position                
      - plcio::FloatThree   position       |     - unsigned bits // Stored flags      
      - std::array<float,6> covMatrix      |    OneToManyRelations:                   
      - int                 algorithmType  |     - fcc::WeightedTrack tracks          
    VectorMembers:                         |                                          
      - float               parameters     |                                          
    OneToOneRelations:                     |                                          
     - plcio::ReconstructedParticle        |                                          
              associatedParticle           |                                          
    ExtraCode :                            |                                         
                                           |                                          
                                           |  fcc::GenVertex:                         
                                           |    Description: "Generated vertex ... "
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    Members:                              
                                           |     - fcc::Point position                
                                           |     - float ctau // Time coordinate in cm
                                           |                                          
                                           |                                          
```
### Track Detector types
```
                                           |#  fcc::BareHit:                          
                                           |#    cellId : unsigned long long          
                                           |#    energy : float                       
                                           |#    time : float                         
                                           |#    bits : unsigned                      
                                           |#                                         
                                           |#  fcc::BareCluster:                      
                                           |#    energy : float                       
                                           |#    time : float                         
                                           |#    position : fcc::Point                
                                           |#    bits : unsigned                      
                                           |                          
  #-------   LCIO TrackerData              |                                          
  plcio::TrackerData:                      |  fcc::TrackHit:                          
    Description: "LCIO tracker data"       |    Description : "A tracker hit"         
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members:                              
      - int      cellID0                   |     - fcc::BareHit core                  
      - int      cellID1                   |                                          
      - float    time                      |                                          
    VectorMembers:                         |                                          
      - float    chargeValues              |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
                                           |                                          
  #------ LCIO TrackerRawData              |                                          
  plcio::TrackerRawData:                   |                                          
    Description: "LCIO tracker raw data"   |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - int    cellID0                     |                                          
      - int    cellID1                     |                                          
      - int    time                        |                                          
    VectorMembers:                         |                                          
      - short ADCValues                    |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
  #------  LCIO TrackerPulse               |                                          
  plcio::TrackerPulse:                     |                                          
    Description : "LCIO tracker pulse"     |                                          
    Author : "F. Gaede, DESY"              |                                          
    Members:                               |                                          
      - int                cellID0         |                                          
      - int                cellID1         |                                          
      - int                quality         |                                          
      - float              time            |                                          
      - float              charge          |                                          
      - plcio::FloatThree  covMatrix       |                                          
    OneToOneRelations:                     |                                          
      - plcio::TrackerData trackerData     |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
  #---------- LCIO TPCHit                  |                                          
  plcio::TPCHit:                           |                                          
    Description: "LCIO TPCHit"             |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
       - int cellID                        |                                          
       - int quality                       |                                          
       - float time                        |                                          
       - float charge                      |                                          
    VectorMembers:                         |                                          
        - int rawDataWords                 |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
                                           |                                          
                                           |  fcc::PositionedTrackHit:                
                                           |    Description: "A track hit ..."        
                                           |    Author: "J. Lingemann, ... "          
                                           |    Members:                              
                                           |     - fcc::Point position                
                                           |     - fcc::BareHit core                  
                                           |                                          
                                           |  fcc::DigiTrackHitAssociation:           
                                           |    Description: "Association ..."        
                                           |    Author : "V.Volkl"                    
                                           |    Members:                              
                                           |     - fcc::Point postStepPosition        
                                           |    OneToOneRelations:                    
                                           |     - fcc::PositionedTrackHit hit
                                           |                                          
                                           |  fcc::TrackCluster:                      
                                           |    Description : "A track clu..."        
                                           |    Author : "C. Bernet, ..."             
                                           |    Members:                              
                                           |     - fcc::BareCluster core              
                                           |    VectorMembers:                        
                                           |     - unsigned trackIDs                  
                                           |    OneToManyRelations :                  
                                           |     - fcc::TrackHit hits                 
                                           |                                         
  #----------- LCIO SimTrackerHit          |                                          
  plcio::SimTrackerHit:                    |                                          
    Description: "LCIO simulated ... "     |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - int cellID0                        |                                          
      - int cellID1                        |                                          
      - float EDep                         |                                          
      - float time                         |                                          
      - float pathLength                   |                                          
      - int   quality                      |                                          
      - plcio::DoubleThree position        |                                          
      - plcio::FloatThree momentum         |                                          
    OneToOneRelations:                     |                                          
      - plcio::MCParticle MCParticle       |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
  #-------------  LCIO TrackerHit          |                                          
  #   o FIXME: no specialisation for       |                                          
  # the different kind of geometries:      |                                          
  #  TrackerHitPlane, TrackerHitZCylinder  |                                          
  #   o FIXME: should we define a          |                                          
  #  FloatSix for the covMatrix or         |                                          
  # use the std::array ???                 |                                          
  plcio::TrackerHit:                       |                                          
    Description : "LCIO tracker hit"       |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members :                              |                                          
      - int cellID0                        |                                          
      - int cellID1                        |                                          
      - int type                           |                                          
      - int quality                        |                                          
      - float time                         |                                          
      - float eDep                         |                                          
      - float eDepError                    |                                          
      - float edx                          |                                          
      - plcio::DoubleThree position        |                                          
      - std::array<float,6> covMatrix      |                                          
    VectorMembers:                         |                                          
      - plcio::ObjectID  rawHits           |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |                                          
# VV: in plcio, this is a component        |  fcc::TrackState:                        
# with almost the same content             |    Description: "Track state at a ..."   
                                           |    Author : "J. Hrdinka"                 
                                           |    Members:                              
                                           |     - float phi                          
                                           |     - float theta                        
                                           |     - float qOverP                       
                                           |     - float d0                           
                                           |     - float z0                           
                                           |     - fcc::Point referencePoint          
                                           |     - std::array<float,15> cov          
                                           |                                          
  #-------- LCIO Track                     |                                          
  plcio::Track:                            |  fcc::Track:                             
    Description: "LCIO reconstructed track"|    Description: "Track ..."
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members:                              
      - int type                           |     - float chi2                         
      - float chi2                         |     - unsigned ndf 
      - int ndf                            |     - unsigned bits // Stores flags      
      - float dEdx                         |    OneToManyRelations :                  
      - float dEdxError                    |     - fcc::PositionedTrackHit hits       
      - float radiusOfInnermostHit         |     - fcc::TrackState states
    VectorMembers:                         |                                          
      - int subDetectorHitNumbers          |  fcc::WeightedTrack:                     
      - plcio::TrackState trackStates      |    Description: "A track as..."          
    OneToManyRelations:                    |    Author: "J. Lingemann"                
      - plcio::TrackerHit trackerHits      |    Members:                              
      - plcio::Track tracks                |      - float weight                      
    ExtraCode :                            |    OneToOneRelations:                    
    ...                                    |     - fcc::Track track 
                                           |                                          
``` 
### Calorimeter types
```
  #-------------  LCIO CalorimeterHit      |                                          
  plcio::CalorimeterHit:                   |  fcc::CaloHit:                           
    Description: "LCIO calorimeter hit"    |    Description : "A calorimeter hit"     
    Author : "F.Gaede, DESY"               |    Author : "C. Bernet, B. Hegner"       
    Members:                               |    Members:                              
      - int cellID0                        |     - fcc::BareHit core                  
      - int cellID1                        |                                          
      - float energy                       |  fcc::PositionedCaloHit:                 
      - float energyError                  |    Description: "A calorimeter  ..."     
      - float time                         |    Author: "J. Lingemann, B. Hegner"     
      - plcio::FloatThree position         |    Members:                              
      - int type                           |     - fcc::Point position                
      - plcio::ObjectID rawHit             |     - fcc::BareHit core // The hit       
    ExtraCode :                            |                                          
    ...                                    |                                       
                                           |    
  #------------- LCIO CaloHitContribution  |                                          
  plcio::CaloHitContribution:              |  
    Description: "Monte Carlo contri..."   |    
    Author : "F.Gaede, DESY"               |    
    Members:                               |    
      - int   PDG                          |     
      - float energy                       |                                          
      - float time                         |                                          
      - plcio::FloatThree stepPosition     |                                          
    OneToOneRelations:                     |                                          
      - plcio::MCParticle particle         |  
                                           |    
  #------------- LCIO SimCalorimeterHit    |    
  plcio::SimCalorimeterHit:                |    
    Description: "LCIO simulated cal..."   |     
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |  
      - int cellID0                        |    
      - int cellID1                        |    
      - float energy                       |    
      - plcio::FloatThree position         |     
    OneToManyRelations:                    |     
      - plcio::CaloHitContribution         |                                          
                  contributions            |                                          
    ExtraCode :                            |                                          
    ....                                   |                                          
                                           |  
  #-------------  LCIO RawCalorimeterHit   |    
  plcio::RawCalorimeterHit:                |     
    Description: "LCIO raw ..."            |                                          
    Author : "F.Gaede, DESY"               |  
    Members:                               |    
      - int cellID0                        |    
      - int cellID1                        |    
      - int amplitude                      |     
      - int timeStamp                      |     
    ExtraCode :                            |                                          
    ...                                    |                                         
  #------ LCIO cluster                     |                                          
  #   Changes w.r.t. to original           |                                          
  #     o ParticleIDs are now in           |                                          
  # external collection                    |                                          
  plcio::Cluster:                          |                                          
    Description: "LCIO cluster"            |  fcc::CaloCluster:                       
    Author : "F.Gaede, DESY"               |    Description : "A calo cluster..."     
    Members:                               |    Author : "C. Bernet, B. Hegner"       
      - int                  type          |    Members:                              
      - float                energy        |     - fcc::BareCluster core              
      - float                energyError   |    OneToManyRelations :                  
      - plcio::FloatThree    position      |     - fcc::CaloHit hits                  
      - std::array<float,6>  positionError |                                          
      - float                iTheta        |                                          
      - float                phi           |                                          
      - plcio::FloatThree   directionError |                                          
    VectorMembers:                         |                                          
      - float   shape                      |                                          
      - float   weight                     |                                          
      - float   hitContributions           |                                          
      - float   subdetectorEnergies        |                                          
    OneToManyRelations:                    |                                          
      - plcio::Cluster        clusters     |                                          
      - plcio::CalorimeterHit hits         |                                          
      - plcio::ParticleID     particleIDs  |                                          
    ExtraCode :                            |                                          
    ...                                    |                                          
                                           |  fcc::CaloHitMCParticleAssociation:
                                           |    Description: "Association ..."
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    Members:                              
                                           |     - float fraction 
                                           |    OneToOneRelations:                    
                                           |     - fcc::CaloHit hit 
                                           |     - fcc::MCParticle particle           
                                           |                                          
                                           |  fcc::CaloHitAssociation:                
                                           |    Description: "Association b..."       
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    OneToOneRelations:                    
                                           |     - fcc::CaloHit rec                   
                                           |     - fcc::CaloHit sim                   
                                           |                                         
                                           |                                         
```
### Jets / High level reco objects
```
                                           |  fcc::MET:
                                           |    Description : "Naive MET type"
                                           |    Author : "C. Bernet, B. Hegner"
                                           |    Members :
                                           |    # VV: "position" seems to be an error
                                           |     - fcc::Point position                
                                           |     - float magnitude                    
                                           |     - float phi                          
                                           |     - float scalarSum                    
                                           |                                          
                                           |  fcc::Jet :                              
                                           |    Description : "Reconstructed jet."    
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    Members :                             
                                           |     - fcc::BareJet core                  
                                           |    OneToManyRelations :                  
                                           |     - fcc::Particle particles    
                                           |                                    
                                           |  fcc::TaggedJet :                        
                                           |    Description : "Association ..."       
                                           |    Author : "C. Bernet, Z. Drasal..."    
                                           |    Members :                             
                                           |     - float tag                          
                                           |    OneToOneRelations :                   
                                           |     - fcc::Jet jet                      
                                           |                                         
                                           |  fcc::ResolvedJet :                      
                                           |    Description : "Association ..."       
                                           |    Author : "M. Selvaggi"                
                                           |    OneToManyRelations :                  
                                           |     - fcc::Jet subjets                   
                                           |    OneToOneRelations :                   
                                           |     - fcc::Jet jet                       
                                           |                                          
                                           |  fcc::GenJet :                           
                                           |    Description : "Generated jet."        
                                           |    Author : "C. Bernet, B. Hegner"       
                                           |    Members :                             
                                           |     - fcc::BareJet core                  
                                           |    OneToManyRelations :                  
                                           |     - fcc::MCParticle particles          
                                           |                                          
                                           |  fcc::TaggedGenJet :                     
                                           |    Description : "Association ..."       
                                           |    Author : "C. Bernet, Z. Drasal"       
                                           |    Members :                             
                                           |     - float tag                          
                                           |    OneToOneRelations :                   
                                           |     - fcc::GenJet jet                    
                                           |                                          
                                           |  fcc::ResolvedGenJet :                   
                                           |    Description : "Assoc..."              
                                           |    Author : "M. Selvaggi"                
                                           |    OneToManyRelations :                  
                                           |     - fcc::GenJet subjets                
                                           |    OneToOneRelations :                   
                                           |     - fcc::GenJet jet                    
                                           |                                         
```
### LCIO compatibility?
```
  #----------- LCIO relations              |                                          
  plcio::LCRelation:                       |                                          
    Description: "LCIO LCRelation"         |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - plcio::ObjectID from               |                                          
      - plcio::ObjectID to                 |                                          
      - float           weight             |                                          
                                           |                                          
                                           |                                          
  #----------- LCIO reference (pointer)    |                                          
  plcio::LCReference:                      |                                          
    Description: "LCIO reference... "      |                                          
    Author : "F.Gaede, DESY"               |                                          
    Members:                               |                                          
      - plcio::ObjectID object             |                                          
                                           |                                          
```