diff --git a/Event/CMakeLists.txt b/Event/CMakeLists.txt
deleted file mode 100644
index ebed641c1659879bf1c69bb256d9f80899c3b0d6..0000000000000000000000000000000000000000
--- a/Event/CMakeLists.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-gaudi_subdir(Event v0r0)
-
-# Declare PODIO dependency
-find_package(podio REQUIRED HINTS $ENV{PODIO})
-## Make sure the library is found.
-## Not the case if LD_LIBRARY_PATH is wrong
-find_library(PODIOLIB podio PATHS ${podio_DIR}/../lib)
-if (NOT PODIOLIB)
-    message(FATAL_ERROR "libpodio.so(dylib) cannot be found dynamically. Make sure you have set up your environment to use PODIO")
-endif()
-link_directories(${podio_LIBRARY_DIR})
-
-execute_process(COMMAND python ${podio_CMAKE_DIR}/../python/podio_class_generator.py Event/plcio.yaml Event Event
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
-
-include_directories(
-    ${podio_INCLUDE_DIRS}
-    )
-
-# Declare ROOT dependency
-list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
-find_package(ROOT REQUIRED COMPONENTS RIO Tree)
-include_directories(${ROOT_INCLUDE_DIR})
-include(${ROOT_USE_FILE})
-
-# Settings
-file(GLOB sources src/*.cc)
-file(GLOB headers Event/*.h)
-include_directories(Event)
-
-# Dictionary and Modules
-add_library(Event SHARED ${sources} ${headers})
-target_link_libraries(Event podio)
-install(TARGETS Event DESTINATION lib)
-
-REFLEX_GENERATE_DICTIONARY(Event ${headers} SELECTION src/selection.xml)
-add_library(EventDict SHARED Event.cxx)
-add_dependencies(EventDict Event-dictgen)
-target_link_libraries(EventDict Event ROOT::Core)
-install(TARGETS EventDict DESTINATION lib)
-
-# Headers and Libraries
-gaudi_install_headers(Event)
-
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/EventDict.rootmap DESTINATION lib)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Event_rdict.pcm DESTINATION lib)
-
-# tests
-add_executable( write tests/write.cpp )
-target_link_libraries( write EventDict )
-install(TARGETS write DESTINATION tests)
-add_test(NAME write COMMAND write)
-set_property(TEST write PROPERTY ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib:$ENV{LD_LIBRARY_PATH})
-
-add_executable( read tests/read.cpp )
-target_link_libraries( read EventDict )
-install(TARGETS read DESTINATION tests)
-add_test(NAME read COMMAND read)
-set_property(TEST read PROPERTY ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib:$ENV{LD_LIBRARY_PATH})
-set_property(TEST read PROPERTY DEPENDS write)
diff --git a/Event/plcio.yaml b/Event/plcio.yaml
deleted file mode 100644
index 4ef93de21286b114938ad4cbb0659bf27ebdf2ad..0000000000000000000000000000000000000000
--- a/Event/plcio.yaml
+++ /dev/null
@@ -1,597 +0,0 @@
----
-# LCIO EDM Description
-# based on LCIO v02-12
-# Dec 2018
-
-
-# specify some options for code generation
-options:
-  getSyntax : True
-  exposePODMembers : False
-  
-#################################################################################################################
-#
-# some helper components - simple data structs (PODs)
-#
-#################################################################################################################
- 
-components:
-    #  Vector3D with floats
-    plcio::FloatThree : 
-      x : float
-      y : float
-      z : float
-      ExtraCode :
-        declaration: "
-        FloatThree() : x(0),y(0),z(0) {}\n
-        FloatThree(float xx, float yy, float zz) : x(xx),y(yy),z(zz) {}\n
-        FloatThree(const float* v) : x(v[0]),y(v[1]),z(v[2]) {}\n
-        float operator[](unsigned i) const { return *( &x + i ) ; }\n
-        "
-      
-
-    # Vector3D with doubles
-    plcio::DoubleThree :
-      x : double
-      y : double
-      z : double
-      ExtraCode :
-        declaration: "  
-        DoubleThree() : x(0),y(0),z(0) {}\n
-        DoubleThree(const double* v) : x(v[0]),y(v[1]),z(v[2]) {}\n
-        DoubleThree(const float* v) : x(v[0]),y(v[1]),z(v[2]) {}\n
-        double operator[](unsigned i) const { return *( &x + i ) ; }\n
-        "
-
-    # Vector2D with ints
-    plcio::IntTwo :
-      a : int
-      b : int
-      ExtraCode :
-        declaration: "
-        IntTwo() : a(0),b(0) {}\n
-        IntTwo( const int* v) : a(v[0]), b(v[1]) {}\n
-        int operator[](unsigned i) const { return *( &a + i ) ; }\n
-      "
-
-#    # helper struct for MCP contributions to the SimCalorimterHit
-#    plcio::CaloHitCont :
-#      PDG : int
-#      energy : float
-#      time : float
-#      stepPosition : plcio::FloatThree
-#      ExtraCode :
-#        declaration: "
-#        CaloHitCont() =  default;\n
-#        CaloHitCont(int pdgID, float e, const plcio::FloatThree& pos, float t) : PDG(pdgID),energy(e),stepPosition(pos),time(t){}\n
-#      "
-      
-    #-------- LCIO TrackState
-    plcio::TrackState:
-      location       : int
-      D0             : float
-      phi            : float
-      omega          : float
-      Z0             : float
-      tanLambda      : float
-      referencePoint : plcio::FloatThree
-      covMatrix      : std::array<float,15>
-
-    #------ ObjectID helper struct for references/relations
-    plcio::ObjectID:
-      index        : int
-      collectionID : int
-      ExtraCode :
-        includes: "#include <podio/ObjectID.h>\n"
-        declaration: "
-        ObjectID() = default;\n
-        ObjectID(const podio::ObjectID& id ): collectionID(id.collectionID), index(id.index) {}\n
-      "
-#################################################################################################################
-#
-# the actual EDM data types
-#
-#################################################################################################################
-
-
-
-datatypes :
-
-  #------------- LCIO LCRunHeader
-  plcio::LCRunHeader:
-    Description: "Interface for the run header."
-    Author : "F.Gaede, DESY"
-    Members:
-      - int runNumber            //run number
-      - std::string detectorName //name of the detector setup used in the simulation. 
-      - std::string description  //description of the simulation, physics channels etc. 
-    VectorMembers:
-      - std::string activeSubdetectors //active subdetectors used in the simulation.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #------------- LCIO EventHeader
-  plcio::EventHeader:
-    Description: "Meta information on the eventEvent header information - including collection maes and types"
-    Author : "F.Gaede"
-    Members:
-      - int eventNumber          //event number
-      - int runNumber            //run number
-      - long timeStamp            //time stamp
-      - std::string detectorName //detector model
-    VectorMembers:
-      - std::string collectionNames //collection names
-      - std::string collectionTypes //collection Types
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #------------- LCIO MCParticle
-  plcio::MCParticle:
-    Description: "The Monte Carlo particle."
-    Author : "F.Gaede, DESY"
-    Members:
-      - int PDG                         //PDG code of the particle
-      - int generatorStatus             //status of the particle as defined by the generator
-      - int simulatorStatus             //status of the particle from the simulation program
-      - float charge                    //particle charge
-      - float time                      //creation time of the particle in [ns] wrt. the event, e.g. for preassigned decays or decays in flight from the simulator.
-      - double mass                     //mass of the particle in [GeV]
-      - plcio::DoubleThree vertex              //production vertex of the particle in [mm].
-      - plcio::DoubleThree endpoint            //endpoint of the particle in [mm]
-      - plcio::FloatThree momentum             //particle 3-momentum at the production vertex in [GeV]
-      - plcio::FloatThree momentumAtEndpoint   //particle 3-momentum at the endpoint in [GeV]
-      - plcio::FloatThree spin                 //spin (helicity) vector of the particle. 
-      - plcio::IntTwo colorFlow                //color flow as defined by the generator
-    OneToManyRelations:
-      - plcio::MCParticle parents // The parents of this particle.
-      - plcio::MCParticle daughters // The daughters this particle.
-    ExtraCode :
-      includes: "#include <math.h>\n"
-      const_declaration: "
-      // define the bit positions for the simulation flag\n
-      static const int BITEndpoint = 31;\n
-      static const int BITCreatedInSimulation = 30;\n
-      static const int BITBackscatter = 29 ;\n
-      static const int BITVertexIsNotEndpointOfParent = 28 ;  \n
-      static const int BITDecayedInTracker = 27 ; \n
-      static const int BITDecayedInCalorimeter = 26 ;   \n
-      static const int BITLeftDetector = 25 ;     \n
-      static const int BITStopped = 24 ;    \n
-      static const int BITOverlay = 23 ;    \n
-      /// return energy computed from momentum and mass \n
-      double getEnergy() { return sqrt( getMomentum()[0]*getMomentum()[0]+getMomentum()[1]*getMomentum()[1]+\n
-                                        getMomentum()[2]*getMomentum()[2] + getMass()*getMass()  )  ;}    \n
-      const std::vector<ConstMCParticle> & getParents() const { return *(m_obj->m_parents) ; } \n
-      const std::vector<ConstMCParticle> & getDaughters() const { return *(m_obj->m_daughters) ; } \n
-      /// True if the particle has been created by the simulation program (rather than the generator).     \n
-      bool isCreatedInSimulation() const { return ( getSimulatorStatus() & ( 0x1 << BITCreatedInSimulation ))  ; }    \n
-      /// True if the particle is the result of a backscatter from a calorimeter shower. \n
-      bool isBackscatter() const { return ( getSimulatorStatus() & ( 0x1 << BITBackscatter )) ; }   \n
-      /// True if the particle's vertex is not the endpoint of the  parent particle.     \n
-      bool vertexIsNotEndpointOfParent() const { return ( getSimulatorStatus() & ( 0x1 << BITVertexIsNotEndpointOfParent )) ; } \n
-      /// True if the particle has interacted in a tracking region.                \n
-      bool isDecayedInTracker() const { return ( getSimulatorStatus() & ( 0x1 << BITDecayedInTracker )) ; }     \n
-      /// True if the particle has interacted in a calorimeter region.             \n
-      bool isDecayedInCalorimeter() const { return ( getSimulatorStatus() & ( 0x1 << BITDecayedInCalorimeter )) ; }   \n
-      /// True if the particle has left the world volume undecayed.                \n
-      bool hasLeftDetector() const { return ( getSimulatorStatus() & ( 0x1 << BITLeftDetector )) ; }\n
-      /// True if the particle has been stopped by the simulation program.         \n
-      bool isStopped() const { return ( getSimulatorStatus() & ( 0x1 << BITStopped )) ; }     \n
-      /// True if the particle has been overlayed by the simulation (or digitization)  program.\n
-      bool isOverlay() const { return ( getSimulatorStatus() & ( 0x1 << BITOverlay )) ; }     \n
-      "                                                                                                          
-      declaration: "                                                                                             
-      /// operator to allow pointer like calling of members a la LCIO     \n                                     
-      {name}* operator->() { return ({name}*) this ; }  \n
-      int  set_bit(int val, int num, bool bitval){ return (val & ~(1<<num)) | (bitval << num); }                               \n
-      void setCreatedInSimulation(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITCreatedInSimulation , bitval ) ) ;  }  		     \n
-      void setBackscatter(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITBackscatter , bitval ) ) ;   }  			     \n
-      void setVertexIsNotEndpointOfParent(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITVertexIsNotEndpointOfParent , bitval ) ) ; } \n
-      void setDecayedInTracker(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITDecayedInTracker , bitval ) ) ;   }  		     \n
-      void setDecayedInCalorimeter(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITLeftDetector , bitval ) ) ;   }  		     \n
-      void setHasLeftDetector(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITLeftDetector , bitval ) ) ;   }  			     \n
-      void setStopped(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITStopped , bitval ) ) ;   }  				     \n
-      void setOverlay(bool bitval) { setSimulatorStatus( set_bit( getSimulatorStatus() , BITOverlay , bitval ) ) ;   }         \n 
-      "
-      implementation : ""
-
-  #----------- LCIO SimTrackerHit
-  plcio::SimTrackerHit:
-    Description: "LCIO simulated tracker hit"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int cellID0          //ID of the sensor that created this hit
-      - int cellID1          //second ID of the sensor that created this hit
-      - float EDep           //energy deposited in the hit [GeV].
-      - float time           //proper time of the hit in the lab frame in [ns].
-      - float pathLength     //path length of the particle in the sensitive material that resulted in this hit.
-      - int   quality        //quality bit flag. 
-      - plcio::DoubleThree position //the hit position in [mm].
-      - plcio::FloatThree momentum  //the 3-momentum of the particle at the hits position in [GeV]
-    OneToOneRelations:
-      - plcio::MCParticle MCParticle //MCParticle that caused the hit.
-    ExtraCode :
-      const_declaration: "
-      static const int  BITOverlay = 31;\n
-      static const int  BITProducedBySecondary = 30;\n
-      bool isOverlay() const { return getQuality() & (1 << BITOverlay) ; }\n
-      bool isProducedBySecondary() const { return getQuality() & (1 << BITProducedBySecondary) ; }\n
-      "
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO\n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      int  set_bit(int val, int num, bool bitval){ return (val & ~(1<<num)) | (bitval << num); }\n
-      void setOverlay(bool val) { setQuality( set_bit( getQuality() , BITOverlay , val ) ) ;   }\n
-      void setProducedBySecondary(bool val) { setQuality( set_bit( getQuality() , BITProducedBySecondary , val ) ) ;   }\n
-      " 
-
-  #------------- LCIO CaloHitContribution
-  plcio::CaloHitContribution:
-    Description: "Monte Carlo contribution to SimCalorimeterHit"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int   PDG                        //PDG code of the shower particle that caused this contribution.
-      - float energy                     //energy in [GeV] of the this contribution
-      - float time                       //time in [ns] of this contribution
-      - plcio::FloatThree stepPosition   //position of this energy deposition (step)
-    OneToOneRelations:
-      - plcio::MCParticle particle       //primary MCParticle that caused the shower responsible for this contribution to the hit.
-
-  #------------- LCIO SimCalorimeterHit
-  plcio::SimCalorimeterHit:
-    Description: "LCIO simulated calorimeter hit"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int cellID0                       //detector specific (geometrical) cell id.
-      - int cellID1                       //second detector specific (geometrical) cell id.
-      - float energy                      //energy of the hit in [GeV]. 
-      - plcio::FloatThree position        //position of the hit in world coordinates.
-    OneToManyRelations:
-      - plcio::CaloHitContribution contributions  //Monte Carlo step contribution - parallel to particle
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-
-  #------------- LCIO LCFloatVec
-  plcio::LCFloatVec:
-    Description: "LCIO LCFloatVec"
-    Author : "F.Gaede, DESY"
-    VectorMembers:
-      - float values /// float values
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      void push_back(float val){ addValue(val) ;}
-      "
-  #------------- LCIO LCIntVec
-  plcio::LCIntVec:
-    Description: "LCIO LCIntVec"
-    Author : "F.Gaede, DESY"
-    VectorMembers:
-      - int values /// int values
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      void push_back(int val){ addValue(val) ;}
-      "
-  #------------- LCIO LCStrVec
-  plcio::LCStrVec:
-    Description: "LCIO LCStrVec"
-    Author : "F.Gaede, DESY"
-    VectorMembers:
-      - std::string values /// string values
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      void push_back(const std::string& val){ addValue(val) ;}
-      "
-
-  #-------------  LCIO RawCalorimeterHit
-  plcio::RawCalorimeterHit:
-    Description: "LCIO raw calorimeter hit"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int cellID0   //detector specific (geometrical) cell id.
-      - int cellID1   //second detector specific (geometrical) cell id.
-      - int amplitude //amplitude of the hit in ADC counts.
-      - int timeStamp //time stamp for the hit.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #-------------  LCIO CalorimeterHit
-  plcio::CalorimeterHit:
-    Description: "LCIO calorimeter hit"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int cellID0                //detector specific (geometrical) cell id.
-      - int cellID1                //second detector specific (geometrical) cell id.
-      - float energy               //energy of the hit in [GeV].
-      - float energyError          //error of the hit energy in [GeV].
-      - float time                 //time of the hit in [ns].
-      - plcio::FloatThree position //position of the hit in world coordinates.
-      - int type                   //type of hit. Mapping of integer types to names via collection parameters "CalorimeterHitTypeNames" and "CalorimeterHitTypeValues". 
-      - plcio::ObjectID rawHit     //reference to RawCalorimeterHit. 
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #-------------  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                    //ID of the sensor that created this hit
-      - int cellID1                    //second ID of the sensor that created this hit
-      - int type                       //type of raw data hit, either one ofLCIO::TPCHIT, LCIO::SIMTRACKERHIT - see collection parameters "TrackerHitTypeNames" and "TrackerHitTypeValues". 
-      - int quality                    //quality bit flag of the hit.    
-      - float time                     //time of the hit.
-      - float eDep                     //energy deposited on the hit [GeV]. 
-      - float eDepError                //error measured on EDep [GeV].
-      - float edx                      //dE/dx of the hit in [GeV]. 
-      - plcio::DoubleThree position    //hit position in [mm].
-      - std::array<float,6> covMatrix  //covariance of the position (x,y,z), stored as lower triangle matrix. i.e. cov(x,x) , cov(y,x) , cov(y,y) , cov(z,x) , cov(z,y) , cov(z,z)
-    VectorMembers:
-      - plcio::ObjectID  rawHits       //raw data hits. Check getType to get actual data type. 
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #------------- LCIO LCGenericObject
-  #   o FIXME: this implementation is rather inefficicent ....
-  plcio::LCGenericObject:
-    Description: "LCIO LCGenericObject"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int isFixedSize             //true if all objects have a fixed size, i.e getNInt, getNFloat and getNDouble will return values that are constant during the lifetime of the object
-      - std::string typeName        // The type name of the user class (typically the class name)
-      - std::string dataDescription // The description string. A comma separated list of pairs of type identifier, one of 'i','f','d' followed by ':' and an attribute name, e.g. "i cellId,f offset,f gain". 
-    VectorMembers:
-      - int    intVals // Returns the integer value for the given index. 
-      - float  floatVals // Returns the float value for the given index. 
-      - double doubleVals // Returns the double value for the given index. 
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO\n
-      {name}* operator->() { return ({name}*) this ; }\n
-      int getNInt()    const { return intVals_size() ; }\n
-      int getNFloat()  const { return floatVals_size() ; }\n
-      int getNDouble() const { return doubleVals_size() ; }\n
-      "
-
-
-  #---------- LCIO TPCHit
-  plcio::TPCHit:
-    Description: "LCIO TPCHit"
-    Author : "F.Gaede, DESY"
-    Members:
-       - int cellID         //detector specific cell id. 
-       - int quality        //quality flag for the hit. 
-       - float time         //time of the hit. 
-       - float charge       //integrated charge of the hit. 
-    VectorMembers:
-        - int rawDataWords //raw data (32-bit) word at i.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #-------- LCIO Track 
-  plcio::Track:
-    Description: "LCIO reconstructed track"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int type                         //flagword that defines the type of track.Bits 16-31 are used internally
-      - float chi2                       //Chi^2 of the track fit
-      - int ndf                          //number of degrees of freedom of the track fit
-      - float dEdx                       //dEdx of the track.
-      - float dEdxError                  //error of dEdx.
-      - float radiusOfInnermostHit       //radius of the innermost hit that has been used in the track fit
-    VectorMembers:
-      - int subDetectorHitNumbers        //number of hits in particular subdetectors.Check/set collection variable TrackSubdetectorNames for decoding the indices 
-      - plcio::TrackState trackStates    //track states
-    OneToManyRelations:
-      - plcio::TrackerHit trackerHits     //Optionaly ( check/set flag(LCIO::TRBIT_HITS)==1) return the hits that have been used to create this track
-      - plcio::Track tracks              //tracks (segemenbts) that have been combined to this track
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #----------- LCIO relations
-  plcio::LCRelation:
-    Description: "LCIO LCRelation"
-    Author : "F.Gaede, DESY"
-    Members:
-      - plcio::ObjectID from     //from-object of the given relation. 
-      - plcio::ObjectID to       //to-object of the given relation. 
-      - float           weight   //weight of the given relation
-
-      
-  #----------- LCIO reference (pointer)
-  plcio::LCReference:
-    Description: "LCIO reference (pointer) to be used for subset collections"
-    Author : "F.Gaede, DESY"
-    Members:
-      - plcio::ObjectID object  //object pointed to
-
-      
-  #----  LCIO ParticleID
-  plcio::ParticleID:
-    Description: "LCIO ParticleID - in pLCIO these are stored in separate collections"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int   type           //userdefined type 
-      - int   pDG            //PDG code of this id - ( 999999 ) if unknown. 
-      - int   algorythmType  //type of the algorithm/module that created this hypothesis
-      - float likelihood     //likelihood of this hypothesis - in a user defined normalization.
-    VectorMembers:
-      - float parameters     //parameters associated with this hypothesis. Check/set collection parameters ParameterNames_PIDAlgorithmTypeName for decoding the indices.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-     
-  #------ LCIO cluster
-  #   Changes w.r.t. to original
-  #     o ParticleIDs are now in external collection
-  plcio::Cluster:
-    Description: "LCIO cluster"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int                  type            //flagword that defines the type of cluster. Bits 16-31 are used internally. 
-      - float                energy          //energy of the cluster [GeV]
-      - float                energyError     //error on the energy
-      - plcio::FloatThree    position        //position of the cluster.
-      - std::array<float,6>  positionError   //covariance matrix of the position (6 Parameters)
-      - float                iTheta          //intrinsic direction of cluster at position  Theta. Not to be confused with direction cluster is seen from IP. 
-      - float                phi             //intrinsic direction of cluster at position - Phi. Not to be confused with direction cluster is seen from IP. 
-      - plcio::FloatThree    directionError  //covariance matrix of the direction (3 Parameters)
-    VectorMembers:
-      - float   shape                //shape parameters - check/set collection parameter ClusterShapeParameters for size and names of parameters.
-      - float   weight               //weight of a particular cluster
-      - float   hitContributions     //energy contribution of the hits Runs parallel to the CalorimeterHitVec from getCalorimeterHits(). 
-      - float   subdetectorEnergies  //energy observed in a particular subdetector. Check/set collection parameter ClusterSubdetectorNames for decoding the indices of the array. 
-    OneToManyRelations:
-      - plcio::Cluster        clusters     //clusters that have been combined to this cluster.
-      - plcio::CalorimeterHit hits         //hits that have been combined to this cluster.
-      - plcio::ParticleID     particleIDs  //particle IDs (sorted by their likelihood) 
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-      
-  #------- LCIO ReconstructedParticle
-  #   Changes w.r.t. to original
-  #     o ParticleIDs are now in external collection
-  plcio::ReconstructedParticle:
-    Description: "LCIO Reconstructed Particle"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int                    type           //type of reconstructed particle. Check/set collection parameters ReconstructedParticleTypeNames and ReconstructedParticleTypeValues.
-      - float                  energy         //energy of the reconstructed particle.
-      - plcio::FloatThree      momentum       //particle momentum
-      - plcio::FloatThree      referencePoint //reference, i.e. where the particle has been measured
-      - float                  charge         //charge of the reconstructed particle.
-      - float                  mass           //mass of the reconstructed particle, set independently from four vector
-      - float                  goodnessOfPID  //overall goodness of the PID on a scale of [0;1]
-      - std::array<float,10>   covMatrix      //cvariance matrix of the reconstructed particle 4vector (10 parameters). Stored as lower triangle matrix of the four momentum (px,py,pz,E), i.e. cov(px,px), cov(py,##
-    OneToOneRelations:
-      - plcio::Vertex          startVertex    //start vertex associated to this particle
-      - plcio::ParticleID      particleIDUsed //particle Id used for the kinematics of this particle
-    OneToManyRelations:
-      - plcio::Cluster               clusters     //clusters that have been used for this particle. 
-      - plcio::Track                 tracks       //tracks that have been used for this particle. 
-      - plcio::ReconstructedParticle particles    //reconstructed particles that have been combined to this particle.
-      - plcio::ParticleID            particleIDs  //particle Ids (not sorted by their likelihood) 
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO\n
-      {name}* operator->() { return ({name}*) this ; }\n
-      bool isCompound() { return particles_size() > 0 ;}\n
-      //vertex where the particle decays This method actually returns the start vertex from the first daughter particle found. 
-      plcio::Vertex  getEndVertex() { return  plcio::Vertex(  (getParticles(0).isAvailable() ? getParticles(0).getStartVertex() :  plcio::Vertex(0,0) ) ) ; }\n     
-      "
-
-  #---------- LCIO Vertex
-  #FIXME: lcio interface has algorithmType as string but stores int ...
-  plcio::Vertex:
-    Description: "LCIO vertex"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int                 primary       //boolean flag, if vertex is the primary vertex of the event
-      - float               chi2          //chi-squared of the vertex fit
-      - float               probability   //probability of the vertex fit
-      - plcio::FloatThree   position      //position of the vertex.
-      - std::array<float,6> covMatrix     //covariance matrix of the position (stored as lower triangle matrix, i.e. cov(xx),cov(y,x),cov(z,x),cov(y,y),... )
-      - int                 algorithmType //type code for the algorithm that has been used to create the vertex - check/set the collection parameters AlgorithmName and AlgorithmType. 
-    VectorMembers:
-      - float               parameters    //additional parameters related to this vertex - check/set the collection parameter "VertexParameterNames" for the parameters meaning. 
-    OneToOneRelations:
-      - plcio::ReconstructedParticle   associatedParticle //reconstructed particle associated to this vertex.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #-------   LCIO TrackerData
-  plcio::TrackerData:
-    Description: "LCIO tracker data"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int      cellID0      //first detector specific (geometrical) cell id 
-      - int      cellID1      //second detector specific (geometrical) cell id
-      - float    time         //Returns a time measurement associated with the adc values, e.g. the t0 of the spectrum for the TPC. Subdetector dependent. 
-    VectorMembers:
-      - float    chargeValues //corrected (calibrated) FADC spectrum.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-  #------ LCIO TrackerRawData
-  plcio::TrackerRawData:
-    Description: "LCIO tracker raw data"
-    Author : "F.Gaede, DESY"
-    Members:
-      - int    cellID0      //detector specific (geometrical) cell id.
-      - int    cellID1      //second detector specific (geometrical) cell id.Optional, check/set flag(LCIO::TRAWBIT_ID1)==1. 
-      - int    time         //time measurement associated with the adc values, e.g. the t0 of the spectrum for the TPC. Subdetector dependent. 
-    VectorMembers:
-      - short ADCValues     //FADC spectrum.
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-
-
-  #------  LCIO TrackerPulse
-  plcio::TrackerPulse:
-    Description : "LCIO tracker pulse"
-    Author : "F. Gaede, DESY"
-    Members:
-      - int                cellID0    //detector specific (geometrical) cell id.
-      - int                cellID1    //second detector specific (geometrical) cell id. Optional, check/set flag(LCIO::TRAWBIT_ID1)==1. 
-      - int                quality    //quality bit flag of the pulse - check/set collection parameters TrackerPulseQualityNames and TrackerPulseQualityNamesValues. 
-      - float              time       //time of the pulse - arbitrary units. 
-      - float              charge     //integrated charge of the pulse - arbitrary units.
-      - plcio::FloatThree  covMatrix  //covariance matrix of the charge (c) and time (t) measurements. Stored as lower triangle matrix, i.e. cov(c,c) , cov(t,c) , cov(t,t)
-    OneToOneRelations:
-      - plcio::TrackerData trackerData //TrackerData that has been used to create the pulse can be stored with the pulse
-    ExtraCode :
-      declaration: "
-      /// operator to allow pointer like calling of members a la LCIO     \n             
-      {name}* operator->() { return ({name}*) this ; }  \n
-      "
-
-
diff --git a/Event/tests/read.cpp b/Event/tests/read.cpp
deleted file mode 100644
index 0daaec8ff15b3088fc302cc0991cb2a4b8f1beea..0000000000000000000000000000000000000000
--- a/Event/tests/read.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "EventHeaderCollection.h"
-#include "MCParticleCollection.h"
-
-#include "podio/EventStore.h"
-#include "podio/ROOTReader.h"
-
-int main(int argc, char* argv[])
-{
-    auto reader = podio::ROOTReader();
-    auto store = podio::EventStore();
-
-    reader.openFile("test.root");
-    store.setReader(&reader);
-
-    unsigned int nEvt = reader.getEntries();
-
-    for (unsigned int i = 0; i < nEvt; ++i ) {
-        //if ( i%10 == 0 ) {
-        //  std::cout << "processing event " << i << std::endl;
-        //}
-
-        auto& hds = store.get<plcio::EventHeaderCollection>("EvtHeaders");
-        if ( hds.isValid() ) {
-            auto header = hds[0];
-            std::cout << "processing event " << header.getEventNumber() << std::endl;
-        }
-        else {
-            return -1;
-        }
-
-        auto& mcc = store.get<plcio::MCParticleCollection>("MCParticles");
-        if ( ! mcc.isValid() ) {
-            return -1;
-        }
-        for ( auto p : mcc ) {
-            std::cout << " particle " << p.getObjectID().index << " has daughters: ";
-            for ( auto it = p.daughters_begin(), end = p.daughters_end(); it != end; ++it ) {
-                std::cout << " " << it->getObjectID().index;
-            }
-            std::cout << "  and parents: ";
-            for ( auto it = p.parents_begin(), end = p.parents_end(); it != end ; ++it ){
-                std::cout << " " << it->getObjectID().index;
-            }
-            std::cout << std::endl;
-        }
-
-        store.clear();
-        reader.endOfEvent();
-    }
-
-    reader.closeFile();
-
-    return 0;
-}
diff --git a/Event/tests/write.cpp b/Event/tests/write.cpp
deleted file mode 100644
index 539c13586543df2a8e8d1762db9ecc37c2903053..0000000000000000000000000000000000000000
--- a/Event/tests/write.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "EventHeaderCollection.h"
-#include "MCParticleCollection.h"
-
-#include "podio/EventStore.h"
-#include "podio/ROOTWriter.h"
-
-#include <vector>
-#include <iostream>
-
-int main(int argc, char* argv[])
-{
-    //std::cout << "start writing test" << std::endl;
-
-    auto store = podio::EventStore();
-    auto writer = podio::ROOTWriter("test.root", &store);
-
-    auto& ehc = store.create<plcio::EventHeaderCollection>("EvtHeaders");
-    auto& mcc = store.create<plcio::MCParticleCollection>("MCParticles");
-
-    writer.registerForWrite("EvtHeaders");
-    writer.registerForWrite("MCParticles");
-
-    const unsigned int nEvt = 100;
-
-    for ( unsigned int i = 0; i < nEvt; ++i ) {
-        //if ( i%10 == 0 ) {
-            std::cout << "processing event " << i << std::endl;
-        //}
-
-        auto header = plcio::EventHeader(i, -99, 9999, "SimDet");
-        ehc.push_back(header);
-
-        for ( unsigned int i = 0; i < 10; ++i ) {
-            mcc.create();
-        }
-
-        for ( unsigned int i = 0; i < 4; ++i ) {
-            auto p = mcc[i];
-            for ( unsigned int j = 0; j < 4; ++j ) {
-                unsigned int idx = (2+j) + (i/2)*4;
-                p.addDaughter( mcc[idx] );
-                mcc[idx].addParent( p );
-            }
-        }
-
-        for ( auto p : mcc ) {
-            std::cout << " particle " << p.getObjectID().index << " has daughters: ";
-            for ( auto it = p.daughters_begin(), end = p.daughters_end(); it != end; ++it ) {
-                std::cout << " " << it->getObjectID().index;
-            }
-            std::cout << "  and parents: ";
-            for ( auto it = p.parents_begin(), end = p.parents_end(); it != end ; ++it ){
-                std::cout << " " << it->getObjectID().index;
-            }
-            std::cout << std::endl;
-        }
-
-        //////////
-        writer.writeEvent();
-        store.clearCollections();
-    }
-
-    writer.finish();
-
-    return 0;
-}